Good morning! Let's work hard today!

【Unity】オブジェクトを動かしてアニメーションを作る

Unityの機能の一つとしてアニメーションがあります。機能としてはオブジェクトやプロパティの変化をデータ化したものですね。

利用できる制約がありますが、うまく利用すると相当便利な機能です。
自分も気づいたのが最近で、それまではMMDと同じようにモデルに対してモーションを作成するための機能と思っていました。(物凄い誤解でした・・・)
現在作成中のゲームに対してリメイク作業を行っています。

さて、余談はこれくらいにして今回はそのアニメーションについて説明していきます。

アニメーションの作成・設定方法

アニメーションの設定

アニメーションを適用するにはオブジェクトのコンポーネント(Inspectorウィンドウ)にアニメーションコントローラを設定する必要があります。

以下はCubeにアニメーションを作成し、設定する流れになります。
①Hierarchyウィンドウにオブジェクトを作成します。
②メニューの「window」-「Animation」-「Animation」を選択

③以下のアニメーションウィンドウがホップアップされるので、[Create]ボタンをクリックします。
④「.anim」のデータ保存画面が表示されるので、Unityのプロジェクトフォルダ内の任意の場所に保存します。

⑤アニメーションウィンドウの画面が切り替わりますが、先に、HierarchyウィンドウのCubeを選択し、InspectorウィンドウにてAnimatorのコンポーネントが追加されていることを確認してください。追加されている場合はこちらを選択してください。

⑥追加されていない場合、Inspectorウィンドウの「Add Component」ボタンから「Miscellaneous」-「Animator」を選択

⑦追加されたAnimatorコンポーネントの「Cotroller」の⦿かAnimatorコンポーネントを追加したオブジェクト名を入力する(例の場合はCube)

アニメーションの作成

①追加したオブジェクトを選択した状態で、メニューの「window」-「Animation」-「Animation」を選択します。

②Animationウィンドウが表示されます。ウィンドウ内の「●」ボタンを押します。

③一度クリックするとボタンが押されている状態になります。また、Animatonウィンドウの右側にあるラインを「0:00」の位置に設定します。その状態で、TransformのPositionを「X:0,Y:1,Z:0」と入力します。
Yの入力時に元々の値が0→1に変化したので、InspectorウィンドウのPositionのボックスが赤く変化したと思います。また、Animationウィンドウの「0:00」の位置にも◆のマークが追加されます。

④次は「1:00」の位置に縦ラインを移動させます。その後、「X:0,Y:0,Z:0」と入力します。こちらもYの値の入力時に「1:00」の位置に◆が追加されたと思います。

⑤これでアニメーションを作成できたので、確認してみましょう。
Animationウィンドウの「●」をクリックし、押されている状態を解除します。その後、Unityの▶ボタンを押してください。

以下の動画のような動きをします。これ動きは1秒間にCubeがY座標:1から0へ移動するというアニメーションになります。

以上、アニメーションの作成と設定方法についての簡単な説明になります。

アニメーションのループ解除

先程のアニメーションは何周もY:1→Y:0の動きをループしていました。これを一度だけするように設定します。

①プロジェクトフォルダに保存したAnimationファイルをProjectウィンドウから選択します。選択した状態で、Inspectorウィンドウの「Loop Time」のチェックボックスのチェックを外します。

②▶ボタンを押して実行してみると1度だけのアニメーションで動きが停止するようになります。

複数オブジェクトのアニメーション制御

次は複数オブジェクトを1つのアニメーションで制御する方法です、基本的な流れは変わりません。ですが、アニメーションとして制御できるオブジェクトはコンポーネントにAnimatorが含まれたオブジェクト及びその子オブジェクトのみとなります。

例えば左図の場合、「Cube1」オブジェクトにAnimatorコンポーネントを設定した場合、Cube3はアニメーションに組み込むことができません。このことを念頭に置きながら、Hierarchyウィンドウの構成を考えるといいと思います。

応用例

アニメーションは3Dオブジェクトだけでなく、2DオブジェクトやUIのオブジェクトにも設定できます。例として以下の動画ようなこともできます。(全てアニメーション制御)

Unityはゲームエンジンですが、頑張ればMusic Video作れると思います。
これで無料は凄すぎるぞUnity!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です