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

Animator component

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

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

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

この図は、各種アセット (アニメーションクリップ、アニメーターコントローラー、アバター) が、どのようにゲームオブジェクトの Animator コンポーネントに集められるかを表示しています。

アニメーションシステムの各部分の繋がりを示した図
アニメーションシステムの各部分の繋がりを示した図

アニメーションステートマシンブレンドツリーアバターアニメーターコントローラー も参照してください。

プロパティ

プロパティ 機能
Controller このキャラクターにアタッチされたアニメーターコントローラー
Avatar (アバター) このキャラクター用の アバター 。( Animator がヒューマノイドキャラクターをアニメーションさせるために使用されている場合)
Apply Root Motion Select whether to control the character’s position and rotation from the animation itself or from script.
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) The total number of curves Unity uses to animate the position, rotation or scale of GameObjects. These are for animated GameObjects that are not part of a standard humanoid rig. When animating a humanoid avatar, these curves would show up a count for extra non-muscle bones such as a tail, flowing cloth or a dangling pendant. If you have a humanoid animation and you notice unexpected non-muscle animation curves, you might have unnecessary animation curves in your animation files.
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 どちらの方法を使うのが最適かを決定します。


  • 2018–04–25 修正されたページ
アニメーションリファレンス
アニメーターコントローラー