アニメーション
アニメーションクリップ

アニメーションシステム概要

Unity には、多機能で洗練されたアニメーションシステムがあります(’Mecanim’と呼ばれることも有ります)。

  • 簡単なワークフローとセットアップで、オブジェクト、キャラクター、プロパティーを含む Unity のすべてのアニメーションに対応しています。
  • Support for imported animation clips and animation created within Unity
  • ヒューマノイドアニメーションの リターゲティング(特定のキャラクターモデルのアニメーションを別のキャラクターモデルに適用すること)が可能です。
  • アニメーションクリップの配置を簡単なワークフローで行えます。
  • アニメーションクリップ、遷移、およびそれらの間の相互作用の便利なプレビュー。これによりアニメーション専門スタッフがプログラマと独立して作業しやすくなり、アニメーションプロトタイプ、プレビューをゲームのコードと連動しなくとも出来るようになります
  • ビジュアルプログラミングツールを用いてアニメーションの複雑な相互作用の管理
  • 個々のボディパーツにそれぞれ異なるロジックでアニメーションを付けられます。
  • レイヤリングとマスキングの機能
Animator ウィンドウでの、アニメーションステートマシンの典型的な見え方
Animator ウィンドウでの、アニメーションステートマシンの典型的な見え方

アニメーションのワークフロー

Unity’s animation system is based on the concept of Animation Clips, which contain information about how certain objects should change their position, rotation, or other properties over time. Each clip can be thought of as a single linear recording. Animation clips from external sources are created by artists or animators with 3rd party tools such as Autodesk® 3ds Max® or Autodesk® Maya®, or come from motion capture studios or other sources.

Animation Clips are then organised into a structured flowchart-like system called an Animator Controller. The Animator Controller acts as a “State Machine” which keeps track of which clip should currently be playing, and when the animations should change or blend together.

ごく簡単な Animator Controller であれば、1、2 個のクリップしか含まれないこともあります。例えばパワーアップ時の回転と弾みの制御用や、ちょうどいいタイミングで開閉する扉のアニメーション用など。より高度な Animator Controller になると、メインキャラクターの全アクション用のヒューマノイドアニメーションが何十個も含まれていたり、プレイヤーがシーン内を動き回ったときに滑らかな動きが出せるように複数のクリップ間で同時に遷移が行われたりすることもあります。

Unity’s Animation system also has numerous special features for handling humanoid characters which give you the ability to retarget humanoid animation from any source (for example: motion capture; the Asset Store; or some other third-party animation library) to your own character model, as well as adjusting muscle definitions. These special features are enabled by Unity’s Avatar system, where humanoid characters are mapped to a common internal format.

Each of these pieces - the Animation Clips, the Animator Controller, and the Avatar, are brought together on a GameObject via the Animator Component. This component has a reference to an Animator Controller, and (if required) the Avatar for this model. The Animator Controller, in turn, contains the references to the Animation Clips it uses.

How the various parts of the animation system connect together
How the various parts of the animation system connect together

上記の図は、下記を示しています。

  1. Animation clips are imported from an external source or created within Unity. In this example, they are imported motion captured humanoid animations. 2 .アニメーションクリップがアニメーターコントローラーに配置される。これは Animator ウィンドウ内のアニメーターコントローラーのビューの一例です。ステート(アニメーションやネスト化したサブステートマシンなどを表す)は、線で結ばれたノードとして表示されます。このアニメーターコントローラーは、Project ウィンドウ上でアセットとして存在します。 3 .リグキャラクターモデル(ここでは Astrella という宇宙飛行士)は固有のボーン構造を持っており、それが Unity の一般的な アバター 形式にマッピングされています。このマッピングは、Avatar アセットとして、インポートされたキャラクターモデルの一部として保存されており、図のように Project ウィンドウにも表示されます。
  2. When animating the character model, it has an Animator component attached. In the Inspector view shown above, you can see the Animator Component which has both the Animator Controller and the Avatar assigned. The animator uses these together to animate the model. The Avatar reference is only necessary when animating a humanoid character. For other types of animation, only an Animator Controller is required.

Unity’s animation system comes with a lot of concepts and terminology. If at any point, you need to find out what something means, go to our Animation Glossary.

旧アニメーションシステム

多くの場合 Mecanim の使用が推奨されますが、Unity では Unity 4 以前からある旧アニメーションシステムも維持しており、Unity 4 以前に作成された古いコンテンツを扱う場合はこれを使用しなければならない事もあります。旧アニメーションシステムについての詳細は、旧アニメーションシステムを参照してください。


アニメーション
アニメーションクリップ