アニメーションクリップ
アニメーターコントローラー

Animator コンポーネント

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

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

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

このダイアグラムは、各種アセット( Animation Clips 、Animator Controller 、そして Avatar )が、どのようにゲームオブジェクトの Animator コンポーネントに集められるか、を表示しています。

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

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

プロパティー

プロパティー: 説明:
Controller このキャラクターにアタッチされたアニメーターコントローラー
Avatar このキャラクター用の アバター 。( Animator がヒューマノイドキャラクターをアニメーションさせるために使用されている場合)
Apply Root Motion キャラクターの位置をアニメーション自体から制御するかスクリプトから制御するかどうか
Update Mode Animator が更新されるタイミングと、それに使用されるタイムスケールを選択できます。
        Normal アニメーターは Update の呼び出しに同期して更新され、アニメーターの速度は現在のタイムスケールと一致します。タイムスケールが遅くなると、アニメーションもそれに合わせて遅くなります。
        Animate Physics アニメーターは FixedUpdate の呼び出しに同期して(物理システムと同時に)更新されます。物理インタラクションのあるオブジェクトのモーションをアニメーション化する場合に望ましいモードです。(例:リジッドボディ オブジェクトを押して回れるキャラクターなど)
        Unscaled Time アニメーターは Update の呼び出しと同期して更新されますが、アニメーターの速度は現在のタイムスケールを無視して常に 100% の速度でアニメーション化します。SE やゲームの一時停止用に異なるタイムスケールを使用しつつ GUI システムを通常速度でアニメーション化する場合に便利です。
Culling Mode アニメーションのカリングモード
        Always Animate 常にアニメーションし、画面外でもカリングを行わない。
        Cull Update Transforms レンダラーが表示されていないときは「リターゲット」「IK」「Transform の書き込み」を無効にします。
        Cull Completely レンダラーが表示されていないときは、アニメーションは完全に無効になっています。

アニメーションカーブの情報

Animator コンポーネントの下側にあるインフォメーションボックスには、Animator Controller で使用されているクリップすべての構成要素(詳細情報)が表示されています。

アニメーションクリップは、値が時間でどのように変化するかを表す “curves” 形式のデータを持っています。これらのカーブは、オブジェクトの位置と回転、ヒューマノイドアニメーションシステムのマッスルの屈曲、そのほかマテリアルカラーの変更など、クリップに存在するアニメーションされた値の推移を描写しています。

以下のテーブルは、それぞれのデータ項目が何を意味するかの説明です:

ラベル 説明:
Clip Count この Animator に割り当てられたアニメーターコントローラーで使用されている、アニメーションクリップの合計数。
Curves (Pos, Rot & Scale) オブジェクトの位置、回転、スケールのアニメーションで使用されている、カーブの合計数です。それらアニメーションされたオブジェクトには、標準的なヒューマノイドリグ部分は含みません。ヒューマノイドアバターをアニメーションさせた時は、尻尾や、ゆらゆら揺れるペンダント、垂れた服のような、マッスルボーンの追加拡張部分の数を表示します。ヒューマノイドアニメーションに、予期しない非マッスルのアニメーションカーブがある事に気がついた場合、アニメーションファイルにアニメーションカーブを入れる必要はありません。
Muscles この Animator で、ヒューマノイドアニメーションに使用するマッスルアニメーションカーブの数。標準的なヒューマノイドアバターのマッスルを動かすのに使われているカーブ群です。これには、Unity の標準アバターがもつ人型ボーンすべてを、標準的な筋肉の動きと同じようにうまく動かすため、ルートの位置及び回転のアニメーションを記録している、2つの“muscle curves”も含まれています。
Generic マテリアルカラーなど、その他のプロパティーをアニメーションさせるために、アニメーターが使用する数値(浮動小数点)のカーブの総数。
PPtr スプライトのアニメーションカーブの総数(Unity の2D システムで使用されているもの)。
Curves Count アニメーションカーブの全合計数。
Constant 最適化で定数値(変化無し)にされたアニメーションカーブの総数。アニメーションファイルに値が変化しないカーブが含まれていると、Unity は自動的にこの設定を適用します。
Dense データの保存に「高密度な(dense)」な方式(直線的に間を補間された離散値)を使用して最適化されたアニメーションカーブの数。この方式は “Stream” 方式と比べて使用メモリーがかなり少なくなります。
Stream ストリング型(カーブ補間のための時間と接線の値)で “stream” 手法を使っているアニメーションカーブの総数。このデータは、間違いなく “dense” 手法よりも多くのメモリーを占有します。

FBX インポーター - Animations タブ の “Anim Compression” を “Optimal” に設定して、アニメーションクリップをインポートした場合、Unity はヒューリスティックなアルゴリズムを使い、それぞれのカーブのデータを記憶するのに dense と stream どちらの方法を使うのが最適かを決定します。

アニメーションクリップ
アニメーターコントローラー