Animator コンポーネントは、シーン内のゲームオブジェクトに、アニメーションを追加するために使用します。Animator コンポーネントには、どのアニメーションクリップを使うか、そしてそれらをいつ、どのようにブレンドし、遷移させるのかを明確にするため アニメーターコントローラー を参照させる必要があります。
ゲームオブジェクトが アバター で定義されたヒューマノイドキャラクターの場合、以下のように Avatar にはこのコンポーネントがすでに追加されています。
このダイアグラムは、各種アセット( Animation Clips 、Animator Controller 、そして Avatar )が、どのようにゲームオブジェクトの Animator コンポーネントに集められるか、を表示しています。
アニメーションステートマシン、ブレンドツリー、アバター、アニメーターコントローラー も参照してください。
プロパティ | 機能 | |
---|---|---|
Controller | このキャラクターにアタッチされたアニメーターコントローラー | |
Avatar (アバター) | このキャラクター用の アバター 。( Animator がヒューマノイドキャラクターをアニメーションさせるために使用されている場合) | |
Apply Root Motion | キャラクターの位置をアニメーション自体から制御するかスクリプトから制御するかどうか | |
Update Mode | Animator が更新されるタイミングと、それに使用されるタイムスケールを選択できます。 | |
Normal | アニメーターは 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) | オブジェクトの位置、回転、スケールのアニメーションで使用されている、カーブの合計数です。それらアニメーションされたオブジェクトには、標準的なヒューマノイドリグ部分は含みません。ヒューマノイドアバターをアニメーションさせた時は、尻尾や、ゆらゆら揺れるペンダント、垂れた服のような、マッスルボーンの追加拡張部分の数を表示します。ヒューマノイドアニメーションに、予期しない非マッスルのアニメーションカーブがある事に気がついた場合、アニメーションファイルにアニメーションカーブを入れる必要はありません。 |
Muscles | この Animator で、ヒューマノイドアニメーションに使用するマッスルアニメーションカーブの数。標準的なヒューマノイドアバターのマッスルを動かすのに使われているカーブ群です。これには、Unity の標準アバターがもつ人型ボーンすべてを、標準的な筋肉の動きと同じようにうまく動かすため、ルートの位置及び回転のアニメーションを記録している、2つの“muscle curves”も含まれています。 |
Generic | マテリアルカラーなど、その他のプロパティをアニメーションさせるために、Animator が使用する数値 (float) のカーブの総数。 |
PPtr | スプライトのアニメーションカーブの総数(Unity の2D システムで使用されているもの)。 |
Curves Count | アニメーションカーブの全合計数。 |
Constant | 最適化で定数値(変化無し)にされたアニメーションカーブの総数。アニメーションファイルに値が変化しないカーブが含まれていると、Unity は自動的にこの設定を適用します。 |
Dense | データの保存に「高密度な(dense)」な方式(直線的に間を補間された離散値)を使用して最適化されたアニメーションカーブの数。この方式は “Stream” 方式と比べて使用メモリーがかなり少なくなります。 |
Stream | ストリング型(カーブ補間のための時間と接線の値)で “stream” 手法を使っているアニメーションカーブの総数。このデータは、間違いなく “dense” 手法よりも多くのメモリーを占有します。 |
Animation インポート で “Anim Compression” を “Optimal” に設定して、アニメーションクリップをインポートした場合、Unity はヒューリスティック (heuristic) アルゴリズムを使い、それぞれのカーブのデータを格納するのに Dense と Stream どちらの方法を使うのが最適かを決定します。