この記事はUnityの基本的な使い方を解説するシリーズの一つで、今回はUnityのアニメーションシステムについて簡単にご説明します。
Unityのアニメーションの仕組み
では早速ですがUnityのアニメーションの仕組みの概要です。
Unityにはアニメーションを再生する機能があるのはもちろん、アニメーションの読み込み・新規作成・編集・制御といった機能も搭載されています。それらの機能は「Mecanim(メカニム)」と呼ばれるアニメーションシステムとしてUnityエディタに統合されていて、エディタ内のウィンドウから手軽に使うことが可能です。
さてUnityではアニメーションそのものは「アニメーションクリップ」として扱われ、そのアニメーションクリップ同士を「アニメーターコントローラー」でつないで制御する、というような仕組みになっています。ではそれぞれの概要を見てみましょう。
アニメーションクリップ(Animation Clip)
まず、アニメーションクリップはアニメーションそのものを記録したファイルです。Unity内で新しく作成できるほか、3Dモデリングソフト等で作成したアニメーションを読み込むこともでき、「アニメーション」ウィンドウで編集することもできます。
アニメーションクリップの編集方法については下記の記事で詳しく説明しているので、そちらも併せてご覧頂ければと思います。
アニメーターコントローラー(Animator Controller)
次にアニメーターコントローラーは、アニメーションクリップ同士を繋いでその遷移を制御する仕組みです。各アニメーションは1つの状態(ステート)として設定され、条件を満たすと別のアニメーションに遷移する、というような形になります。
例えば何もキーを押していないときは「待機」状態で、方向キーを押したら「走る」状態に遷移、スペースキーを押したら「ジャンプ」状態に遷移…という感じです。
なおアニメーターコントローラーの使い方についても下記の記事で詳しく説明しています。そちらも併せてご覧頂ければと思います。
おまけ:ゲームのアニメーションの種類
ここからは余談になりますが、ついでにゲームでよく使われるアニメーションの種類について簡単に説明しておきます。大きく分けるとゲームでは次の2つのアニメーション方式が使われます。
- スプライトアニメーション
- スケルタルアニメーション
ゲーム開発ソフトではどちらか片方しか使えない場合もあるのですが、ありがたいことにUnityでは両方とも利用可能です。ではこれら2つの方式についてザックリと見てみましょう。
スプライトアニメーション
まずスプライトアニメーションは、スプライトと呼ばれる静止画をパラパラ漫画の要領で切り替えて動かすアニメーション方式です。画像を切り替えるので基本的には2Dゲーム用の表現手法となります。
スプライトアニメーションのメリットはアニメーションの設定が非常に簡単なことです。逆にデメリットは動きを変えるためには画像そのものを変更する必要があることが挙げられます。
スケルタルアニメーション
次にスケルタルアニメーションは、ボーンと呼ばれる骨組みを設定してそれを動かすアニメーション方式です。こちらは3D・2Dともに使える表現手法です。
スケルタルアニメーションのメリットは、モデルやスプライトそのものを変更しなくても様々なアニメーションを作成できる点にあります。ただし設定が複雑というデメリットがあります。
Unityの標準機能ではスケルタルアニメーションを作るのは難しいため、基本的には専用のソフトを使うことになるでしょう。
おわりに
以上、Unityのアニメーションシステムの概要についてご説明しました。
Unityのアニメーションシステムはそこそこ複雑で癖も強いので最初は戸惑ってしまうかもしれませんが、まずは概要を知って頂き「こういうものなんだな」と納得していただければと思います。