Unityのアニメーション(Animation)について

ここではUnityのアニメーションシステムの概要を説明します。


※この記事で使用しているUnityのバージョン:Unity2019.1

Unityのアニメーションシステムについて

Unityにはアニメーションを再生する機能があるのはもちろん、アニメーションを読み込み・新規作成・編集したり制御したりできる機能も搭載されています。それらの機能はアニメーションシステムとしてUnityエディタに統合されていて、エディタ内のウィンドウから手軽に使うことが可能です。

それでUnityではアニメーションそのものは「アニメーションクリップ」として扱われ、そのアニメーションクリップ同士を「アニメーターコントローラー」でつないで制御する、というような仕組みになっています。ではそれぞれの概要を見てみましょう。

アニメーションクリップ(Animation Clip)

まず、アニメーションクリップはアニメーションそのものを扱うファイルです。Unity内で新しく作成できるほか、3Dモデリングソフト等で作成したアニメーションを読み込むこともでき、「アニメーション」ウィンドウで編集することもできます。

アニメーションクリップの作成・編集方法等については「アニメーションクリップ(Animation Clip)の編集方法」をご覧ください。

アニメーターコントローラー(Animator Controller)

アニメーターコントローラーの例

アニメーターコントローラーの例

次にアニメーターコントローラーは、アニメーションクリップ同士を繋いで、その遷移を制御する仕組みです。各アニメーションは1つの状態(ステート)として設定され、条件を満たすと別のアニメーションに遷移する、というような形になります。

例えば何もキーを押していないときは「待機」状態で、方向キーを押したら「走る」状態に遷移、スペースキーを押したら「ジャンプ」状態に遷移…という感じです。

詳しくは「アニメーターコントローラー(Animator Controller)の使い方」をご覧ください。

おまけ:ゲームのアニメーションの種類

さて、余談になりますが、ここでゲームで使われるアニメーションの種類について簡単に説明しておきます。

大きく分けるとゲームでは次の2つのアニメーション方式が使われます。

  1. スプライトアニメーション
  2. スケルタルアニメーション

ゲーム制作ソフトではどちらか片方しか使えない場合もあるのですが、ありがたいことにUnityでは両方とも利用可能です。ではこれら2つの方式についてザックリと見てみましょう。

スプライトアニメーション

まずスプライトアニメーションは、「スプライト」と呼ばれる画像をパラパラ漫画の要領で切り替えて動かすアニメーション方式です。画像を切り替えるので2Dゲーム用の表現手法となります。

スプライトの例

スプライトの例

スプライトアニメーションの例

スプライトアニメーションのメリットはアニメーションの設定が非常に簡単なことです。逆にデメリットは動きを変えるためには画像そのものを変更する必要があることが挙げられます。

スケルタルアニメーション

次にスケルタルアニメーションは、「ボーン」と呼ばれる骨組みを設定してそれを動かすアニメーション方式です。こちらは3D・2Dともに使える表現手法です。

ボーンの例

ボーンの例(緑の部分がボーン)

スケルタルアニメーションの例

スケルタルアニメーションのメリットはあらかじめ決まったモデルやスプライトで様々なアニメーションを表現できる点です。ただし、設定が複雑というデメリットがあります。