【インディーズゲーム応援キャンペーン実施中】

新人エンジニアがゲーム開発エンジンUnityを使ってみた6【アニメーション】

こんにちは、ひっしーです。

今回は、unityでアニメーションを作って動かしてみましょう。

初心者でもコツをつかめば簡単にできるので、最後まで記事を読んでみてもらえると嬉しいです。

今回の目次です。

  • アニメーションについて
  • アニメーションをオブジェクトに追加
  • アニメーションさせる

アニメーションについて

アニメーションというとおそらく、テレビなどでよく見るアニメなどがまず浮かぶと思いますが、今回は物体を動かすというイメージになります。

アニメーションを使うとこのように、物体を移動させることや回転・拡大縮小させることも可能です。

前回紹介したC#スクリプトでの物体移動と似ていますがアニメーションを使えば、簡単な動きはプログラミングなしで再現できるのでとても便利です。

では、実際にアニメーションの使い方を見ていきましょう。

アニメーションをオブジェクトに追加

まずは、アニメーションをさせたいオブジェクトを作成しましょう。

今回は、Cubeを作成します。
これまで同様にヒエラルキービューからCubeを作成してください。

次に、アニメーションのパーツとなるAnimationAnimator Controllerを作成します。
この二つを組み合わせることでアニメーションを操作できるようになるのではじめはセットで覚えてください

まずは、Animationです。
プロジェクトビューからAnimationを選択して作成してください

作成したら名前を「TestAnim」としましょう。

続いて、Animator Controllerです。
プロジェクトビューからAnimator Controllerを選択して作成してください。

名前は「TestAnimCont」とします。

これで、AnimationAnimator Controllerを作成できましたね。

そうしましたら、Cubeに追加していきましょう。
ヒエラルキービューのCubeを選択して[Add Component]をクリックし、Animatorを検索して追加しましょう。

すると、CubeのインスペクタービューにAnimatorが追加されます。
AnimatorのプロパティにControllerというものがあるのでそこに先ほど作成したTestAnimContをドラッグ&ドロップして追加しましょう。

ここまで出来たら今度は、アニメータービューで操作をします。
アニメータービューとは何ぞや?と思う方が大半かと思いますが、まずはビューの表示から行っていきましょう。

メニューバーの[Window]>[Animation]>[Animator]を選択しましょう。

すると、Animatorのタブが表示されるので、自分の扱いやすい位置にセットしましょう。

この表示をさせたまま、ヒエラルキービューからCubeを選択してください。
すると、「Any State」「Entry」「Exit」の色のついた表示がされたかと思います。
このアニメータービューでは、再生するアニメーションやアニメーションの切り替えの管理を表示してくれます。

ではここに、作成した「TestAnim」をドラッグ&ドロップして追加しましょう。

これで、CubeにAnimationAnimator Controllerを追加することが出来ました。

アニメーションさせる

さて、Cubeをアニメーションで動かす準備が整いました。
次は実際にCubeにさせたい動きを設定していきます。

動きの設定も新しいタブ上で行うのでまずは、アニメーションビューを表示しましょう。

先ほどと同じように[Window]>[Animation]>[Animation]を選択し、表示されたアニメーションビューをUnityの画面上にセットしましょう。

次に、ヒエラルキービューからCubeを選択しアニメーションビューにCubeに追加したTestAnimの情報が表示されていることを確認しましょう。
確認出来たら[Add Property]をクリックしTransform横の三角のボタンを開きPosition横の+ボタンをクリックして追加してください。

するとリストにpositionが追加され、横軸がフレーム数の表になっている画面にひし形のマークが表示されたかと思います。
このひし形は、その時間にこのオブジェクトがどのような状態になっているかの情報を入れるポイントになります。
実際に動きを見るため、設定します。

再生ボタンなどが配置されている横に数字を記入する箇所があるのでそこに60と入力しEnterを押してください。
その後、インスペクタービューにCubeの位置を入力します。
今回はPositionをx:5,y:0,z:0と入力してください。
入力を終えたらひし形の横に+が表示されているボタンがあるのでそれをクリックします。
これで設定が確定しました。

では、実際に動きを見てみましょう。

アニメーションビューにある再生ボタンをクリックしてください。
すると、ゲームビューに表示されているCubeが動くことを確認できます。

再生の確認は、Unityのゲーム再生ボタンでも確認できますので、用途に合った方法で確認してみてください。

今回は、60フレームまで再生した後0フレームに飛んでループしているので動きが瞬間移動みたいになり不自然ですが、調整することで自然な動きにできます。

例としては、設定している最後のポイントで0フレーム目のpositionが0の状態に戻るので120フレーム目にCubeのpositionを0にしたポイントを置き0フレーム目に一瞬で戻っても自然に見せることができます。

今回は、positionの移動のみをピックアップしていますが、Add Propertyからいろいろなパラメータを操作することが出来るので試してみてください。

まとめ

アニメーションについていかがでしたでしょう。
設定するまではやや難しい部分もあったかもしれないですが、プログラミングを使わずとも動きを入れることが出来るのでかなり便利です。

今回は以下のことを覚えていただけると嬉しいです。

・アニメーションはプログラミングなしで物体を動かせる
・AnimationとAnimator Controllerはセットで使う
・フレームごとの動きを設定してアニメーションさせる

アニメーションを活用すれば、プログラミングを使わなくても簡単なゲームが作れそうですね。

皆さんもいろいろな動かし方にチャレンジして操作に慣れてみてください。

(Written by ひっしー)