ヒューマノイドモデル は非常に特殊な構造であり、実際の人間の骨格 (スケルトン) に緩く従う最低 15 個のボーンで編成 されています。それ以外で Unity Animation System を使用するものはすべて 非ヒューマノイド、つまり Generic (ジェネリック) カテゴリになります。要するに、ジェネリックモデルは、やかんからドラゴンまで何にでもなる可能性があるため、非ヒューマノイドのスケルトンのボーンの構造は膨大な範囲に及びます。
この複雑さに対処するための解決策として、ルートノード であるボーンだけが決定されていれば良いという方法です。ジェネリックキャラクター関して、ヒューマノイドキャラクターの重心を近似するために、この方法は最良の方法です。Unity が最も忠実にアニメーションを描画する方法を決定するのに役立ちます。マップするボーンは 1 つだけなので、ジェネリックの設定では Humanoid Avatar ウィンドウ を使用しません。結果として、非ヒューマノイドモデルのファイルをインポートする準備に必要なステップは、ヒューマノイドモデルの場合よりも少なくなります。
Inspector ウインドウの Rig タブ で、Avatar (Animation) Type を Generic に設定します。デフォルトでは、Avatar Definition プロパティは Create From This Model に設定され、Root node は None に設定されています。
場合によっては、Avatar Definition を Copy From Other Avatar に変更して、すでに別のモデルファイル用に定義したアバターを使用することができます。例えば、3D モデリングアプリケーションで複数の異なるアニメーションを使用してメッシュ (スキン) を作成する場合、メッシュを 1 つの FBX ファイルにエクスポートし、各アニメーションをそれぞれの FBX ファイルにエクスポートすることができます。これらのファイルを Unity にインポートするときは、インポートする最初のファイル (通常はメッシュ) に 1 つのアバターを作成するだけです。すべてのファイルが同じボーン構造を使用する限り、ファイルの残りの部分 (例えば、すべてのアニメーション) にそのアバターを再使用することができます。
Create From This Model に設定する場合は、Root node プロパティからボーンを選択する必要があります。
Avatar Definition オプションを Copy From Other Avatar に変更する場合は、Source プロパティを設定して、使用したいアバターを指定する必要があります。
Apply ボタンをクリックします。Unity は ジェネリック な アバター を作成し、アバターのサブアセットをモデルアセットに加えます。これは Project ビューに表示されます。
ノート ジェネリックアバターはヒューマノイドアバターと同じではありませんが、Project ビューに表示され、ルートノードマッピングを保持します。ただし、Project ビューでアバターのアイコンをクリックして Inspector にプロパティを表示すると、その名前だけが表示され、Configure Avatar ボタンは表示されません。
マスキングは、インポート時かランタイムのいずれかにアニメーションクリップに適用することができます。アニメーションデータを削除して、ビルドから除くことができ、ファイルサイズやメモリ使用量を小さくできるため、インポート時にマスキングすることが好ましいと言えます。アニメーションデータがランタイムにブレンドされるより少なくなるので、より高速な処理ができます。インポート時のマスキングは目的に適さない場合があります。その場合には、アバターマスク アセットを作成してランタイムにマスクを適用し、アニメーターコントローラー の レイヤー設定 でこれを使用します。
空のアバターマスクアセットを作成するには、以下のいずれかを行います。
新しいアセットが Project ビューに表示されます。
Transform 階層 に含む/除外するボーンを選択し、次に、マスクを アニメーションレイヤー に加えるか、または、マスクへの参照を Animation タブ の Mask セクションに加えます。