Mecanim アニメーションシステムはアニメーションクリップに基づいています。アニメーションクリップには、キャラクターやゲームオブジェクトで時間経過とともに位置、回転、その他のプロパティがどのように変化するか、についての情報が含まれています。それぞれのアニメーションクリップは 1 つのレコーディングと考えることができます。外部ソースからのアニメーションクリップは、Autodesk® 3ds Max® や Autodesk® Maya® などのサードパーティ製のソフトウェアを使用してアーティストやアニメーターが作成したものです。
複数のアニメーションクリップを、アニメーターコントローラーと呼ばれる構造化されたフローチャートのようなシステムに整理することができます。アニメーターコントローラーはステートマシンとして機能し、再生中のアニメーションクリップを追跡したり、次のアニメーションクリップを再生するタイミングの基準を維持したりします。
例えば、簡単なアニメーターコントローラーであれば、回転やバウンスする回収可能な 1 つのアイテムに対して 1 つのアニメーションクリップしか含まれていないことがあります。ドア用のアニメーターコントローラーには、2 つのアニメーションクリップが含まれている場合があります。1 つはドアを開けるため、もうひとつはドアの閉めるためのものです。
より高度なアニメーターコントローラーには、アイドル、ターン、ウォーキング、ジョギングなど、キャラクターのアクションごとに 12 個のヒューマノイドアニメーションが含まれている場合があります。このアニメーターコントローラーは、ブレンドツリーを使用して複数のアニメーションクリップをブレンドし、プレイヤーがシーン内を移動するときに滑らかな動きが出るようにすることとがあります。
Mecanim アニメーションシステムには、ヒューマノイドキャラクターを処理するための特別な機能があります。あるソースから別のソースへアニメーションをリターゲットしたり、キャラクターが正しく変形するようにマッスル定義を調整する機能などです。例えば、サードパーティ製のアニメーションライブラリからアニメーションを独自のキャラクターにリターゲットし、その可動範囲を調整できます。これらの特別な機能は、ヒューマノイドキャラクターを共通の内部形式にマッピングする Unity のアバターシステムを通じて利用できます。
アニメーションクリップ、アニメーターコントローラー、アバターは、Animator コンポーネントによって 1 つのゲームオブジェクトにまとめられます。このコンポーネントは、アニメーターコントローラーを参照し、(必要な場合は)モデルのアバターも参照します。アニメーターコントローラーもアニメーションクリップを参照します。
上の図は、以下のワークフローを示しています。
Astrella は、Unity のアバター形式にマップされた固有のボーン構造を持っています。このマッピングは、アバターアセットとして、インポートされたキャラクターモデルの一部として保存され、Project ウィンドウにも表示されます。以下のトピックでは、Mecanim アニメーションシステムについて詳しく説明します。