Version: Unity 6.0 (6000.0)
言語 : 日本語
パフォーマンスと最適化
非推奨の古いアニメーションシステム

Mecanim の FAQ

般的な質問

Animation ウィンドウと Animator ウィンドウの違いは?

Animation ウィンドウ では、Unity 内でアニメーションクリップを作成・編集することができます。ゲームオブジェクトの位置、マテリアルカラー、ライトの明るさ、サウンドの音量など、Inspector 上で編集可能なあらゆるプロパティをアニメーションさせる事ができ、スクリプトから任意の値に変更することも可能です。

Animator ウィンドウ では、既存のアニメーションクリップアセットをステートマシンと呼ばれるフローチャートのようなシステムで編成できます。

この 2 つのウィンドウは Mecanim アニメーションシステムの一環であり、古いアニメーションシステムのものではありません。

古いアニメーションシステムを使用してキャラクターのアニメーションを行っています。代わりに Mecanim アニメーションシステムを使用するべきでしょうか?

大半のキャラクターアニメーションは複雑になっているため、一般的にはそうするべきです。

Import

なぜインポートしたメッシュにアニメーターコンポーネントがついているのでしょうか?

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 のないアニメーターツールウィンドウにその値を設定します。

パフォーマンスと最適化
非推奨の古いアニメーションシステム