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

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 どちらの方法を使うのが最適かを決定します。

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