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

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

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

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)】