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

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

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

  • オブジェクト、キャラクター、プロパティーを含む Unity のすべての要素に簡単なワークフローと設定で対応しています。
  • インポートされたアニメーションクリップ と 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 Max or Maya, or come from motion capture studios or other sources.

アニメーションクリップは アニメーターコントローラー と呼ばれる構造化されたフローチャートのようなシステムに整理されます。アニメーターコントローラーは「ステートマシン」のような働きをし、現在再生中のクリップの追跡や、アニメーションの変更やブレンドのタイミングの追跡を行います。

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

Unity のアニメーションシステムには、ヒューマノイドキャラクターを処理するための数多くの特別な機能があり、ヒューマノイドアニメーションをあらゆるソース (モーションキャプチャー、アセットストア、その他のサードパーティーのアニメーションライブラリーなど) から自身のキャラクターモデルに リターゲット できます。マッスルの定義 の調整も行います。これらの特別な機能は Unityの アバター システムで可能であり、このシステムでは、ヒューマノイドキャラクターは共通の内部形式にマッピングされます。

アニメーションクリップ、アニメーターコントローラー、アバターの各オブジェクトは、Animator コンポーネント を通してゲームオブジェクトにまとめられます。このコンポーネントはアニメーターコントローラーへの参照と、(必要な場合は) このモデルのアバターを持っています。アニメーターコントローラーには、使用するアニメーションクリップへの参照が含まれています。

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

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

  1. アニメーションクリップは 外部ソースからインポート、または Unity 内で作成されます。この例では、[インポートされモーションキャプチャされたヒューマノイドアニメーション](Configuring theAvatar) です。
  2. アニメーションクリップがアニメーターコントローラーに配置されます。これは Animator ウィンドウ内のアニメーターコントローラーのビューの一例です。ステート (アニメーションや ネストになったサブステートマシンなどを表します) は、線で結ばれたノードとして表示されます。このアニメーターコントローラーは、Project ウィンドウ上でアセットとして存在します。
  3. リグを設定したキャラクターモデル (ここでは Astrella という宇宙飛行士) は固有のボーン構造を持っており、それが Unity の一般的な アバター 形式にマッピングされています。このマッピングは、アバターアセットとして、インポートされたキャラクターモデルの一部として保存されており、図のように Project ウィンドウにも表示されます。
  4. キャラクターモデルをアニメーション化するとき、Animator コンポーネントがアタッチされます。上の Inspector ビューには、アニメーターコントローラーアバター の両方が割り当てられた Animator コンポーネント が表示されます。アニメーターはこれらを一緒に使用してモデルをアニメーション化します。アバターの参照は、ヒューマノイドキャラクターをアニメーション化するときにのみ必要です。その他のアニメーションの種類 では、アニメーターコントローラーのみが必要です。

Unity のアニメーションシステムには多くの概念と用語があります。用語の意味を調べる必要がある場合は、アニメーション用語集 を参照してください。

非推奨の古いアニメーションシステム

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


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