Animation ウィンドウと Animator ウィンドウの違いは?
Animation ウィンドウ では、Unity上でアニメーションクリップを作成・編集することができます。ゲームオブジェクトの位置、マテリアルカラー、ライトの明るさ、サウンドのボリュームなど、インスペクター上で編集可能なあらゆるプロパティをアニメーションさせる事ができ、スクリプトから任意の値に変更することも可能です。
Animator ウィンドウ を使うと、既存のアニメーションクリップアセットをステートマシンと呼ばれるフローチャートのようなシステムで編成できます。
Both of these windows are part of Unity’s animation system, and not the Legacy Animation system.
We use the Legacy Animation system for character animations. Should we use Unity’s animation system (Mecanim) instead?
Generally, yes you should since most character animations are more complex.
なぜインポートしたメッシュにアニメーターコンポーネントがついているのでしょうか?
Unity はインポートしたファイルのタイムラインにアニメーションが存在することを検出すると、インポート時にアニメーションコンポーネントを付加します。この設定は、アセットのインポート設定の Rig タブの下にある“Animation Type”を none にすることで変更できます。必要であれば、一度に複数ファイルの設定を変更することも可能です。
レイヤーの順番は何かに影響しますか?
はい。レイヤーは一番上から下まで順に評価されます。Override としてセットされたレイヤーは常に前にあるレイヤーを上書きします(マスクがあれば、そのマスクにもとづきます)。
Base Layer のウェイトは常に 1 とすべきでしょうか、あるいは別のレイヤーが実行されているときは 0 に設定すべきでしょうか。
Base Layer のウェイトは常に1で、オーバーライド レイヤーは完全に Base Layer を上書きします。
コントローラーから変数の値を文字列以外の形式で取得する方法はありますか?
整数型を使用してステートおよびパラメーターを識別することができます。Animator.StringToHash 関数を使用して整数型の識別子を取得してください。例えば:
runState = Animator.StringToHash("Base Layer.Run");
animator.SetBool(runState, false);
同期するレイヤーと同期元のレイヤーの長さが異なる場合、どうなりますか?
レイヤーが異なる長さを持つ場合は、同期されません。Timing オプションを有効にすると、現在のレイヤーのステートのタイミングをソースレイヤーのタイミングに合わせることができます。
LeftFoot、RightFoot、LeftHand、RightHand 以外の AvatarIKGoals を作成する方法はありますか?
はい、膝と肘は IK をサポートしています。
どのボーンがアバターマスクの一部とするか定義する方法はありますでしょうか。
Generic のクリップでは、どのトランスフォームアニメーションをインポートするかを設定できます。 Humanoid のクリップでは、人型部分のトランスフォームは常にインポートされ、追加のトランスフォームを設定する事ができます。
カーブつきのアニメーションはアニメーションなしの場合とどのようにブレンドできますか?
カーブつきのアニメーションと、カーブなしのアニメーションがある場合、Unity はカーブに接続されたパラメーターのデフォルト値を使用してブレンドを行います。 パラメーターに対してデフォルト値を設定することができ、あるステート(状態)に置いてカーブパラメーターと 1 つも持っていないものをブレンドする時には、カーブの値とデフォルトのパラメーター値でブレンドされます。 パラメーターのデフォルト値を設定するには、LiveLink のないアニメーターツールウィンドウにその値を設定します。