読者です 読者をやめる 読者になる 読者になる

Unity5(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Unity7】プレイヤーのAnimator Controllerを設定したい!【ローグライク8】

いつもひよこのたまごをご利用下さいましてありがとうございます!
おかげ様でチュートリアル数も10ゲーム目となりました!
チュートリアル一覧は
こちら からどうぞ!


スポンサーリンク

Unity5.0.0f4 Personal(2015年6月)

f:id:hiyotama:20150519220636p:plain

前回の続きです〜

 

今回はプレイヤーキャラにアニメーションを取り付けていきます〜

 

 【目標】プレイヤーにアニメーションを設定する

 


2D Roguelike 8 of 14 : Player Animator Controller ...

 

①アニメーションの設定

まずはPlayerプレファブをHierarchyビューに戻します〜

 

f:id:hiyotama:20150531161841p:plain

 

次にProjectフォルダのAnimations>Animation Controllers>Playerを選択しPlayerのAnimatorビューを表示させて下さい〜

画像のようにアニメーションを配置しておくと分かりやすいと思います〜

 

f:id:hiyotama:20150531164524p:plain

PlayerのAnimatorビュー

 

次にAnimatorを切り替えるパラメーターを設定していきます〜Animatorビュー左側にあるParameterをクリックしパラメーター設定画面を出し、更にプラスボタンを押しパラメーターの種類を決めます〜今回はTrigger型を選択します〜

 

f:id:hiyotama:20150531165938p:plain

Trigger型を選択

 

名前はPlayerChopにして下さい〜また、同じ要領でTrigger型のPlayerHitも作成して下さい〜

 

f:id:hiyotama:20150531170105p:plain

Trigger型の変数PlayerChopとPlayerHitを作成

 

数値を表すInt型や正誤判定をするBool型はよく見かけますが、Trigger型とはどんなものなのでしょう?

Trigger型はほとんどBool型と同じですが、1フレームtrueを実行したら即座にfalseへ自動的に戻る点だけがBool型と異なります〜

今回のように一度だけアクションをし、すぐにIdle状態へ戻る時などに便利です〜

 

それでは実際にアニメーション遷移を設定していきましょう〜Player Idleを右クリックし、Make Transitionを選択し、Player Chopへ矢印を繋げて下さい〜

 

f:id:hiyotama:20150531172321p:plain

Make Transition選択

 

f:id:hiyotama:20150531172409p:plain

PlayerChopに矢印を向ける

 

続いてPlayerChopからPlayerIdleへもMake Transitionを使い矢印を向けて下さい〜

 

f:id:hiyotama:20150531172544p:plain

Make Transition選択

 

f:id:hiyotama:20150531172609p:plain

お互いを繋ぐ

 

PlayerIdleからPlayerChopへ向けた矢印をクリックし、Inspectorビューを見て下さい〜

 

まずはHas Exit Timeのチェックを外して下さい〜Player Idle状態はアニメーションを繰り返し行い続けるため、アニメーション終了の条件を指定する必要がないためです〜

 

続いてTransition Durationを0にして下さい〜

3Dアニメーションの場合、アニメーションとアニメーションの間にちょっとした時間を用意することで自然なアニメーションとなります〜このちょっとした時間がTransition Durationです〜

しかしSprite画像を使った2Dアニメーションの場合は即座に切り替わったほうが自然であるため、基本的にTransition Durationは0にしてしまいます〜

 

f:id:hiyotama:20150531173939p:plain

Has Exit Timeをfalse、Transition Durationを0に設定

 

最後に一番下にあるConditionsのプラスボタンを押し、アニメーション遷移条件を指定します〜今回はPlayerIdleからPlayerChopへ遷移するので、Trigger型のPlayerChopを選択します〜(PlayerChopがtrueになった時アニメーション遷移)

 

f:id:hiyotama:20150531174027p:plain

 

続いてPlayerChopからPlayerIdleへ伸びている矢印をクリックし、Inspectorの設定をしていきます〜

 

今回は1回アニメーションしたらPlayerIdleへ戻したいので、Has Exit Timeをtrue、Exit Timeを1に設定します〜Transition Durationは同じく0です〜

また、Trigger型は自動的にfalseに戻るため、Conditionsの設定は必要ありません〜

 

f:id:hiyotama:20150531174423p:plain

PlayerChop→PlayerIdleの設定

 

それではアニメーション遷移がうまくいっているか確認するため、1回ゲームを動かしてみましょう〜

 

f:id:hiyotama:20150531174834p:plain

ゲーム実行時にPlayerChopをクリックすると

 

f:id:hiyotama:20150531174902p:plain

PlayerChopへアニメーション遷移し

 

f:id:hiyotama:20150531174926p:plain

PlayerChopが1回終わるとPlayerIdleアニメーションへ戻る

 

うまくいきましたでしょうか〜

 

続いて全く同じようなことをPlayerHitでも行います〜

 

f:id:hiyotama:20150531175237p:plain

Make Transitionで相互にアニメーション遷移の矢印を引き

 

f:id:hiyotama:20150531175421p:plain

PlayerIdle→PlayerHitのInspector設定

 

f:id:hiyotama:20150531175534p:plain

PlayerHit→PlayerIdleのInspector設定

 

それではこちらもテストしてみましょう〜

 

f:id:hiyotama:20150531175716p:plain

ゲーム実行時にPlayerHitをクリックすると

 

f:id:hiyotama:20150531175752p:plain

PlayerHitアニメーションへ遷移し

 

f:id:hiyotama:20150531175821p:plain

PlayerHitが1回終わるとPlayerIdleへ戻る

 

今回はここまでです〜

ありがとうございました〜

 

【Unity開発7】Unity公式チュートリアル2Dローグライクの導入【2Dローグライク1】

【Unity開発7】アニメーションを作りたい!【2Dローグライク2】

【Unity開発7】Floorやアイテムを作成したい!【2Dローグライク3】

【Unity開発7】床や敵キャラ、アイテム等を自動生成させたい!【2Dローグライク4】

【Unity開発7】BoardManagerを呼び出すGameManagerを作成する【2Dローグライク5】

【Unity開発7】キャラクターを動かすための抽象クラス作成【2Dローグライク6】

【Unity開発7】破壊可能な壁(Wall)を作成したい!【ローグライク7】

【Unity開発7】プレイヤーのアニメーターを設定したい!【ローグライク8】

【Unity開発7】プレイヤー用のスクリプトを設定したい!【ローグライク9】

【Unity開発7】敵キャラクターのスクリプトを作成したい!【2Dローグライク10】

【Unity開発7】敵キャラクターのアニメーターを設定したい!【2Dローグライク11】

【Unity開発7】uGUIでUIの表示とレベル機能を実装したい!【2Dローグライク12】

【Unity開発7】BGMと効果音を付ける【2Dローグライク13】

【Unity開発7】タッチパネルに対応させたい!【2Dローグライク14(Fin)】