UnityでGameObjectのPrefab化、動的インスタンス生成&物理演算エンジンRigidbodyを使う基本ゲーム開発初心者のためのUnity入門(12)(5/6 ページ)

» 2017年02月06日 05時00分 公開
[薬師寺国安PROJECT KySS]

3Dキャラクターが「蹴る」動作をAnimatorで設定する

 Projectの「Assets」→「Locomotion Setup」→「Locomotion」フォルダにある、「Locomotion.Controller」をダブルクリックする。するとScene画面内にLocomotionコントローラーが表示される(図19)。

図19 「Locomotionコントローラー」が表示された

「State(状態)」と「Transition(遷移)」を設定

 6角形の「Locomotion」をダブルクリックすると、たくさんの4角形と、その間を結ぶ矢印線が表示される。この4角形の項目が「State」で、矢印線を「Transition」と呼ぶ(図20)。

 ここで、「State(状態)」と「Transition(遷移)」を設定して、アニメーションを作成する。

図20 「State」と「Transition」が表示されている

Stateの追加

 図20の何もない場所でマウスを右クリックし、表示されるメニューから「Create State」→「Empty」と選択する。「New State」というStateが作成されるので、Inspectorから、名前を「SpinKick」に変更し、「Motion」項目の横にある「○に・」アイコンをクリックして、「Select Motion」から「SpinKick」を選択する(図21)。

図21 「SpinKick」のStateを作成し、「Motion」に「SpinKick」を指定した

アニメーションをプレビュー確認

 図21から「SpinKick」の「Motion」をクリックすると、「SpinKick」のアニメーションの所在が黄色で表示されているのが分かる。その中の、右向き▲が付いたアニメーションのアイコンが表示されるので、これをクリックする。すると、画面の右下に「SpinKick」の動作がアニメーションで表示され確認ができる。右向き3角形の再生ボタンを押すといい(図22)。

図22 「SpinKick」のアニメーションが表示されている

Transitionの追加

 次に、「SpinKick」の「State」を選択し、マウスの右クリックで表示されるメニューから、「Make Transition」を選択する。すると矢印線が表示されるので、中央の「WalkRun」の上でクリックして結び付ける。

 同様に、今度は「WalkRun」の上でマウスを右クリックして「Make Transition」を選択し、表示される矢印を「SpinKick」の上でクリックして結び付ける(図23)。

図23 「WalkRun」と「SpinKick」がお互いに「Transition」で結ばれている

パラメーターの追加

 次にプログラム内で使用する「SpinKick」のパラメーターを作成する。

 図23の左隅上にある「Parameters」をクリックして、「+」をクリックする。表示される項目から「Bool」を選択し、名前を「is_kicking」としておく(図24)。

図24 「Parameters」に「Bool」の「is_kicking」を指定

Conditions(条件)の設定

 次に図23で、「WalkRun」から「SpinKick」の「State」に延びている矢印を選択する。Inspectorが表示され、一番下に「Conditions」の項目がある。「+」アイコンをクリックして、表示される項目から「is_kicking」を選択して、値に「true」を指定する(図25)。

図25 Inspectorの「Conditions」に「is_kicking」と、その値「true」を指定

 同様に、今度は「SpinKick」から「WalkRun」に延びている矢印を選択する。Inspector内の「Conditions」の「+」アイコンから、今回は「is_kicking」の値に「false」を指定する。

 「WalkRun」から「SpinKick」への遷移が「true」で、「SpinKick」から「WalkRun」への遷移が「false」になる。間違えないように設定してほしい。これでAnimatorの設定は完了だ。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。