Version: 2022.3
言語: 日本語
アニメーションリファレンス
アニメーターコントローラー

Animator コンポーネント

Animator コンポーネントは、シーン内のゲームオブジェクトに、アニメーションを割り当てるために使用します。Animator コンポーネントには、どのアニメーションクリップを使うか、そしてそれらをいつ、どのようにブレンドし、遷移させるのかを決定する アニメーターコントローラー への参照が必要です。

ゲームオブジェクトが アバター で定義されたヒューマノイドキャラクターの場合、以下のように Avatar にはこのコンポーネントがすでに追加されています。

Animator コンポーネントにコントローラーとアバターが割り当てられています。
Animator コンポーネントにコントローラーとアバターが割り当てられています。

この図は、各種アセット (アニメーションクリップ、アニメーターコントローラー、アバター) が、どのようにゲームオブジェクトの 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 どちらの方法を使うのが最適かを決定します。

Animator

アニメーションリファレンス
アニメーターコントローラー