【Unity】3Dアクションゲームを作ろう!#4 アニメーションの作成
▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
はじめに
本連載は以下の目次ページにまとまっています。
前回の記事はこちら↓
【Unity】3Dアクションゲームを作ろう!#3 カメラ操作の実装
今回は基本的なアニメーションを作成していきます!
アニメーションについて詳しく知りたい方はこちらの記事もご覧ください。
今回は、プレイヤーの通常時(停止時)、歩行時、走行時のアニメーションを作成します。
アニメーションの切り替えは、移動速度によって切り替わるように設定します。
基本的なアニメーションの作成
① Animationsフォルダを作成し、Animator Controllerを追加
Assets に新規フォルダを作成します。
フォルダ名は Animations とします。
Animations フォルダを右クリックし、Create > Animator Controller
名前は 「PlayerController」とします。
② パラメータを作成
PlayerController をダブルクリックし、Animator ビューを開きます。
Float型のパラメータを作成し名前を「 MoveSpeed 」とします。
③ ステートを作成
レイアウトエリアを右クリックし、Create State > Empty を選択します。
New State というステートが追加されます。
インスペクターウィンドウで、名前を「Idle」に変更します。
同様に、2つステートを追加し名前は「Walk」「Run」としましょう。
④ 各ステートのアニメーションを設定
各ステートで再生するアニメーションを設定します。
Idle ステートをクリックし、インスペクターウィンドウの Motion を選択します。
アニメーションとして選択するのは、
UnityChan > SD_unitychan > Animations > SD_unitychan_motion_humanoid > Standing@loop です。
同様に、以下のように選択します。
・walk ⇒ Walking@loop
・Run ⇒ Running@loop
⑤ 遷移を作成
アニメーションの遷移については以下の記事でも取り上げています。ぜひご覧ください。
【初心者Unity】アニメーションの遷移を検証①【遷移条件】
【初心者Unity】アニメーションの遷移を検証②【ブレンド】
【初心者Unity】アニメーションの遷移を検証③【遷移の割り込み】
Idle ステートを右クリックして、Make Transition をクリックします。
図のように矢印が伸びますので、Walk に重ねてクリックします。
同様に下図のような遷移を作成します。
⑥ 遷移の詳細設定(Has Exit Time)
Idle → Walk の遷移の矢印をクリックします。
インスペクターウィンドウで、以下を設定します。
「Has Exit Time のチェックを外す」
Has Exit Time が有効の場合は、現在のアニメーションの再生が終わってから次のステートに遷移します。
無効にすると、条件を満たすとほぼ即時で次のアニメーションに遷移します。
⑦ 遷移の詳細設定(条件)
先ほどと同様に、Idle → Walk の遷移をクリックします。
インスペクターウィンドウで、Conditions の項目を以下に設定します。
・Idle → Walk MoveSpeed Greater 0.01
同様に、他の3つの遷移も下記の通り設定します。
・Walk → Idle MoveSpeed Less 0.01
・Walk → Run MoveSpeed Greater 4
・Run → Walk MoveSpeed Less 4
⑧ Playercontroller
Projectウィンドウ > Prefabs > Player を選択します。
インスペクターウィンドウで、Animator コンポーネントの Controller に「PlayerController」を設定します。
次回の連載で行う、移動操作の実装を行うとアニメーションを確認することができます。
おわりに
今回はここまで!
ちなみにアニメーションの設定を行わなかった場合、以下のようになります。
これでは、歩いているのか走っているのかわかりづらいかと思います…
ですので、多少の手間をかけてでも、アニメーションはきちんと作成しておきたいですね!
次回はキャラクターの移動操作を実装します。