どうも音無サノトです(^^)/
前回のゲーム制作では Blender で作成したオブジェクトを Unity に入れるところまでやりました。
今回はそのオブジェクトにアニメーションをつけて自動で動くようにしたいと思います。
それでは早速、始めましょう!
オブジェクトにアニメーションをつける
まず Assets の中に「Animations」というフォルダを作成します。
Animaions フォルダ内に Project の Create から Animaion を選択し Animation を追加します。
Animation の名前を「EnemyAnimation」に変更します。
EnemyAnimation を Hierarchy に置いた enemy にドラッグ&ドロップでアタッチします。
ここからアタッチしたアニメーションを変更していきます。
まず Scene ビューのタブのところで右クリックをし Add Tab > animation を選択します。
すると下のようなウィンドウが開くと思います。
このウィンドウで時間ごとにオブジェクトをどう変形させるかを設定することができます。横軸が時間軸(タイムライン)で縦軸がそれぞれのプロパティ(ポジションとかスケールとか)となります。
早速、アニメーションをつけていきたいのですが、その前にまず障害物となる enemy の初期位置を変更しましょう。
(今更ですけど障害物なら名前を enemy じゃなくて obstacle とかにすればよかったです。。。名前付けはセンスが出ます)
上の様に変更すると障害物が右上に設置されます。
ここから4隅を移動するようにアニメーションをつけていきます。
Animation ウィンドウに戻って Add property から Transform > Position を選択します。
すると下の図の左側に Position の値が追加されます。
右の時間のところでキーフレームをつけて、この Position の値を変更することで、どのタイミングでどの場所にオブジェクトを移動させるかを決めることができます。
試しに0.05の位置で右クリックをして Add Key を選択します。
すると、0.05の位置にキーフレームが追加されました。
0.05の位置にある Position のX軸を-5に変更します。
Animation ウィンドウの再生ボタンを押すとオブジェクトが動くのを確認できます。
ちょっとこれでは速い気がしますね。。。
アニメーションの位置はドラッグ&ドロップで動かせますので調整を行います。
色々と試した結果1.30ぐらいがちょうどいいかなと思ったので移動させます。
再生してみると下の様な動きになります。
いい感じです。
同じ要領で1.30置きに Position を変更して、4隅を移動してくるくると回るように変更します。
それぞれのキーフレームの位置と Position は下の様になります。
Animation ウィンドウのタイムラインのところで Ctrl を押しながらホイールすると横軸の時間の間隔を変えられて編集しやすいです。
アニメーションを設定した後、再生すると下の様に動くと思います。
最後に EnemyAnimation の Loop Time にチェックを入れて、このアニメーションがループするようにします。
そうすることでゲームを再生すると4隅を回る動きがループするようになります。
これでオブジェクトにアニメーションをつけて自動で動かせることができました。
次回はこの障害物に当たったときの衝突判定などを追加していこうと思います。
本日は以上となります。最後まで読んでいただきありがとうございました!