Unityで最低限の3DRPGを作る Part2-3 『プレイヤーの移動を実装する(後半)』

C#

プレイヤーの移動の続きです。

アニメーションを作成する

AnimatorControllerを作成する

「Assets > MiniRpg > Animator Controllers」フォルダを右クリックし、CreateからAnimatorControllerを作成します。

新しく追加されたAnimatorControllerの名前を「Player」に変更しておきます。

ステートマシンを作成する

待機・歩行・走行ステートを作成する

作成したPlayerのAnimatorControllerをダブルクリックすると、Animatorウィンドウが開きます。

 

何もない場所を右クリックし、Create StateからEmptyを選択します。

 

新しいステートが作成されました。

1つ1つのステートは、待機や歩行、攻撃などそれぞれ1つのアニメーションと対応します。

インスペクタから、作成した「New State」を「Idle」に変更しておきます。

 

同じ要領で歩行と走行のステートを作成します。

何もないところを右クリックし、「Create State」から「Empty」を選択します。

同じことをもう一度繰り返し、もう1つステートを作成します。

一方の名前を「Walk」に、もう一方の名前を「Run」に変更しておきます。

 

Motionを指定する

次に、各ステートのMotionを指定していきます。

IdleステートのMotionには、「Assets > FightingUnityChan_FreeAsset > FightingUnityChan_FreeAsset > Animations > FUCM05_0000_Idle > Idle」を使用します。

 

同様に、RunステートとWalkステートのMotionを指定していきます。

RunステートのMotionには、「Assets > FightingUnityChan_FreeAsset > FightingUnityChan_FreeAsset > Animations > FUCM_0012b_EH_RUN_LP_NoZ > Run」を使用します。

WalkステートのMotionには、Runステートと同じアニメーションファイルを使用します。

ただし、以下のようにSpeedを0.5(Runの半分のSpeed)に変更しておきます。

 

パラメータを作成する

次に、Bool型のWalkとRunパラメータを作成します。

トランジションを作成する

画像のようにトランジションを作成します。

 

そして、各トランジションの設定を以下のように変更します。

  • Idle→Walk:HasExitTimeのチェックを外す、Conditionsに「Walk変数がtrue」を追加
  • Walk→Idle:HasExitTimeのチェックを外す、Conditionsに「Walk変数がfalse」を追加
  • Idle→Run:HasExitTimeのチェックを外す、Conditionsに「Run変数がtrue」を追加
  • Run→Idle:HasExitTimeのチェックを外す、Conditionsに「Run変数がfalse」を追加

 

これでAnimatorControllerの準備は完了です。

 

アニメーションの設定

まず、ヒエラルキから「Player」オブジェクトを選択し、先ほど作成した「Player」AnimatorControllerをドラッグアンドドロップします。

 

次に、ヒエラルキから「Way Point Move」を選択します。

そして、Animationの項目を以下のように変更します。

 

動作確認

この状態でゲームをプレイしてみると、こんな感じになります。

 

これで、プレイヤーの移動が実装できました。

次回は、カメラを実装します。

 

次のパートへ

次のパート:Part2-4『カメラを実装する』

「Unityで最低限の3DRPGを作る」記事一覧へ

コメント