Animator コンポーネントは、シーン内のゲームオブジェクトに、アニメーションを割り当てるために使用します。Animator コンポーネントには、どのアニメーションクリップを使うか、そしてそれらをいつ、どのようにブレンドし、遷移させるのかを決定する アニメーターコントローラー への参照が必要です。
ゲームオブジェクトが アバター で定義されたヒューマノイドキャラクターの場合、以下のように Avatar にはこのコンポーネントがすでに追加されています。
この図は、各種アセット (アニメーションクリップ、アニメーターコントローラー、アバター) が、どのようにゲームオブジェクトの Animator コンポーネントに集められるかを表示しています。
アニメーションステートマシン、ブレンドツリー、アバター、アニメーターコントローラー も参照してください。
プロパティ | 機能 | |
---|---|---|
Controller | このキャラクターにアタッチされたアニメーターコントローラー。 | |
Avatar | このキャラクター用の アバター。(ヒューマノイドキャラクターをアニメーション化するために Animator が使用されている場合) | |
Apply Root Motion | キャラクターの位置と回転をアニメーション自体から制御するか、またはスクリプトから制御するかを選択します。 | |
Update Mode | Animator が更新されるタイミングと、それに使用されるタイムスケールを選択できます。 | |
Normal | Animator は Update の呼び出しと同期して更新され、アニメーターの速度は現在のタイムスケールと一致します。タイムスケールが遅くなると、アニメーションもそれに合わせて遅くなります。 | |
Animate Physics | Animator は FixedUpdate の呼び出しに同期して (物理システムと同時に) 更新されます。物理インタラクションのあるオブジェクトのモーションをアニメーション化する場合に、このモードを使う必要があります(例えば、リジッドボディオブジェクトを押すキャラクターなど)。 | |
Unscaled Time | Animator は Update の呼び出しと同期して更新されますが、Animator の速度は現在のタイムスケールを無視して常に 100% の速度でアニメーション化します。SE やゲームの一時停止用に異なるタイムスケールを使用しつつ GUI システムを通常速度でアニメーション化する場合に便利です。 | |
Culling Mode | アニメーションのカリングモード | |
Always Animate | 常にアニメーション化し、画面外でもカリングを行いません。 | |
Cull Update Transform | レンダラーが表示されていないときリターゲット、IK や Transform の書き込みは無効になります。 | |
Cull完全に | レンダラーが表示されていない場合は、アニメーションが完全に無効になります。 |
Animator コンポーネントの下側にあるインフォメーションボックスには、Animator Controller で使用されているクリップすべての構成要素(詳細情報)が表示されています。
アニメーションクリップは、値が時間でどのように変化するかを表す “curves” 形式のデータを持っています。これらのカーブは、オブジェクトの位置と回転、ヒューマノイドアニメーションシステムのマッスルの屈曲、そのほかマテリアルカラーの変更など、クリップに存在するアニメーションされた値の推移を描写しています。
以下のテーブルは、それぞれのデータ項目が何を意味するかの説明です。
ラベル | 説明 |
---|---|
Clip Count | この Animator に割り当てられたアニメーターコントローラーで使用されている、アニメーションクリップの合計数。 |
Curves (Pos, Rot & Scale) | Unity がゲームオブジェクトの位置、回転、スケールのアニメーション化に使用するカーブの総数です。これらは、標準的なヒューマノイドリグの一部ではない、アニメーション化されたゲームオブジェクトのためのものです。ヒューマノイドアバターをアニメーション化する場合、これらのカーブは、しっぽ、はためく布、ぶら下がるペンダントなど、筋肉ではない余分なボーンの数を表示します。ヒューマノイドアニメーションで、意図しない筋肉以外のアニメーションカーブがある場合は、アニメーションファイルに不要なアニメーションカーブがある可能性があります。 |
Muscles | この Animator で、ヒューマノイドアニメーションに使用するマッスルアニメーションカーブの数。標準的なヒューマノイドアバターのマッスルを動かすのに使われているカーブ群です。これには、Unity の標準アバターがもつ人型ボーンすべてを、標準的な筋肉の動きと同じようにうまく動かすため、ルートの位置及び回転のアニメーションを記録している、2つの“muscle curves”も含まれています。 |
Generic | アニメーターがマテリアルの色など他のプロパティをアニメーション化するために使用する数値 (float) カーブの数。 |
PPtr | スプライトのアニメーションカーブの総数(Unity の2D システムで使用されているもの)。 |
Curves Count | アニメーションカーブの全合計数。 |
Constant | 最適化で定数 (変化しない) 値にされたアニメーションカーブの総数。アニメーションファイルに値が変化しないカーブが含まれていると、Unity は自動的にこの設定を適用します。 |
Dense | 最適化でデータの保存に “高密度” な方式(直線的に間を補間された離散値)を使用するアニメーションカーブの数。この方式は “Stream” 方式と比べて使用メモリーが著しく少なくなります。 |
Stream | ストリング型(カーブ補間のための時間と接線の値)で “stream” 手法を使っているアニメーションカーブの総数。このデータは、間違いなく “dense” 手法よりも多くのメモリーを占有します。 |
Animation インポート で “Anim Compression” を “Optimal” に設定して、アニメーションクリップをインポートした場合、Unity はヒューリスティック (heuristic) アルゴリズムを使い、それぞれのカーブのデータを格納するのに Dense と Stream どちらの方法を使うのが最適かを決定します。