Animation・Animatorを使ってワールドに動きを与える

こんにちは!ワールド制作アシスタントのミオです。
この記事ではUnityの機能の中の1つであり、的あてゲームの作り方一時的に表示されるオブジェクトを作るで少しだけ触れたアニメーション機能を使って、オブジェクトに動きを付ける方法を簡単なデモを作りながら、もう少し詳しく紹介していきます。

アニメーション

その名の通り、オブジェクトに動きを付けることです。
Unityにおけるアニメーションとは、「時間経過とともに、オブジェクトのパラメーターを変化させる」ということです。

的あてゲームの作り方では的が回転する動き。

一時的に表示されるオブジェクトを作るでは、橋が一定時間表示されるという動きのことを指します。

このアニメーションを用いることで、ワールド作成などの幅が大きく広がると思います!

デモシーンの準備

以下のようなオブジェクト達をシーン上に配置しました。
もちろん、お好きなオブジェクトを配置しても進めて頂いても大丈夫ですよ。

アニメーション作成

一連の流れとしては上記で取り上げた記事と同じになります。
まずは、Project内にアニメーションのファイルを作成しましょう!

今回はProjectウィンドウ内で右クリック、「Create」>「Animation」で作成します。
名前は「CubeAnimation」にしました。

次にhierarchyで「Cube」を選択し、
CubeのInspectorに「CubeAnimation」をドラッグ&ドロップしましょう。

Inspectorに「Animator」が表示されていればOKです!

アニメーションの設定

早速アニメーションの設定をしていきます。
まずはAnimationウィンドウを表示させます。

Project内の「CubeAnimation」をダブルクリックでウィンドウを開くことができます。

hierarchy内の「Cube」を選択すると「Add Property」がクリックできるようになるので、クリックしましょう!
「Add Property」をクリックすると、以下のようなウィンドウが開きます。

今回はCubeの形状を変えるアニメーションにしてみます。
なので、「Transform」>「Scale」の横にある「+」ボタンを選択します。

これでキーフレーム上に「Cube」「Scale」情報を記憶させることができるようになりました!

「Cube」の左にある▼をクリックします。

「Cube」の各座標のScaleが表示されましたね。
これで、「Cube」のScaleについてアニメーションをさせる準備が整いました!

試しに、キーフレームの0.30のところを選択して白い線を移動させましょう。

上記の赤丸のようになっていればOKです!

次にこの0.30の位置に「Scale」の値を変更した状態を記憶させていきます。

上記の赤丸の内のボタン、これは録画ボタンです。
これをクリックすると、キーフレーム上のタイムラインが赤くなり「録画中です」という状態になります。

この状態で「ScaleのZ」の値を変えてみると、「0.30」の位置に新しくキーフレームが打たれました。
これで、0.30の時の「Cube」形状が記憶されたことになります。

では再度録画ボタンをおして、録画状態を停止しましょう!

先ほどと同じ色になっていれば、録画はちゃんと停止されてます。

では、先ほど録画して作成したアニメーションを確認しましょう!

ちゃんとアニメーションしてくれました!
アニメーション再生ボタンを押すことで、実際にどのようにアニメーションしているか確認することができます。

今回は「Scale」で作りましたが、もちろん「Transform」でも作成可能です。
実際に録画モードにして、好きなように変更を加えてみて下さい。

アニメーター

「アニメーター」とは、「どんな時、そのアニメーションが再生されるのか」、「次のアニメーションに移行するのはどんな時か」などを制御してくれるものです。

では実際にアニメーターを見ていきましょう!

「Cube」のInspectorの「Animator」コンポーネントに、「Controller」というパラメーターがあります。
こちらにセットされている「Cube1」がアニメーターになります。

「Animator」コンポーネントの「Cube1」をクリックすることで、アニメーターファイルがProject内のどこにあるのかわかるので、実際にクリックしてファイルを探します。

名前も分りずらいので、「CubeAnimator」に変更しておきました。

では「CubeAnimator」をダブルクリックして「Animatorウィンドウ」を開きましょう。

このようなウィンドウが表示されればOKです!

こちらの中身についても見ていきましょう!
緑色の「Entry」からオレンジ色の「CubeAnimation」に向かって矢印が伸びています。この矢印はアニメーションの「推移」と呼ばれるもので、アニメーションがどの順番で実行されるかを指定しています。

「Entry」は「Animator Controller」の再生の開始位置です。逆に赤色の「Exit」は「Animator Controller」の終了位置です。
水色の「Any State」は推移先が無い場合に実行されます。

試しに、Sceneを再生してどのようなアニメーションをするかGameビューで確認しましょう。

一度しかアニメーションされませんね。
大丈夫です、現状はこの挙動であってます。
では、ここから伸び縮みするアニメーションをループさせていきます。

Project内の「CubeAnimation」を選択してInspectorを表示させましょう。
「Loop Time」のチェックボックスにチェックを入れるだけで、アニメーションがループしてくれます。
再度Sceneを再生して確認してみましょう!

今度はループしてくれました!

アニメーションを追加して推移させる

ここからはアニメーションを更に追加して、実際に推移させてみましょう!

新規にアニメーションファイル作成するか、最初に作った「CubeAnimation」を「Ctrlキー」+「Dキー」で複製しましょう!
今回は新規に作成し、名前を「Cube_TransformAnimation」にしました。

新規で作成した場合や、「Animatorウィンドウ」に追加したアニメーションが無い場合は、

追加したアニメーションを「Animatorウィンドウ」にドラッグ&ドロップして追加します。

hierarchy内の「Cube」を選択した状態で、先ほど作成した「CubeAnimation」が表示されている状態にします。

ここから「Cube_TransformAnimation」用のキーフレームに切り替えます

上記のGif画像のように、「CubeAnimation」から「Cube_TransformAnimation」に選択します
これで「Cube_TransformAnimation」用のキーフレームに切り替わりました。
最後に「Add Property」を押し、新規に作成できる状態になりました。

では、Cubeに自由にアニメーションをつけてみて下さい。

私はこんな感じにしてみました!

次に「Animatorウィンドウ」内の「CubeAnimation」を右クリック >「Make Transition」をクリックし、矢印を「Cube_TransformAnimation」に接続しましょう。

同じく、「CubeAnimation」に向く矢印も作成しましょう。

それではSceneを再生して確認してみましょう

Cubeが伸び縮みするアニメーションと、Cubeが動き回るアニメーションが交互に行われるようになりましたね!
試しに、他のオブジェクトでもアニメーションを組んでみて下さい!

このように、オブジェクトを動かすアニメーションを作るだけで、ワールド作りに大きな幅が生まれます。

例えば。。。

取ったオブジェクトが動く箱からスポーンするようにすれば、毎回スポーン位置をずらして出現させることが可能です。他にもエレベーターなども作れますね!

以上でアニメーションの基本的な説明は終わりです。

更に的あてゲームの作り方一時的に表示されるオブジェクトを作るでは、アニメーションを切り替える条件を付けて推移を制御するなど少し発展した内容が含まれているので、ぜひチャレンジしてみてください。

記事をシェアしてワールド制作を盛り上げよう!

Cluster Creators Guide|バーチャル空間での創作を学ぶならをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む