Version: 2018.3
ヒューマノイドアニメーションのインポート
モデルの Import Settings ウィンドウ

非ヒューマノイドアニメーションのインポート

ヒューマノイドモデル は非常に特殊な構造であり、実際の人間の骨格 (スケルトン) に緩く従う最低 15 個のボーンで編成 されています。それ以外で Unity Animation System を使用するものはすべて 非ヒューマノイド、つまり Generic (ジェネリック) カテゴリになります。要するに、ジェネリックモデルは、やかんからドラゴンまで何にでもなる可能性があるため、非ヒューマノイドのスケルトンのボーンの構造は膨大な範囲に及びます。

この複雑さに対処するための解決策として、ルートノード であるボーンだけが決定されていれば良いという方法です。ジェネリックキャラクター関して、ヒューマノイドキャラクターの重心を近似するために、この方法は最良の方法です。Unity が最も忠実にアニメーションを描画する方法を決定するのに役立ちます。マップするボーンは 1 つだけなので、ジェネリックの設定では Humanoid Avatar ウィンドウ を使用しません。結果として、非ヒューマノイドモデルのファイルをインポートする準備に必要なステップは、ヒューマノイドモデルの場合よりも少なくなります。

  1. Rig (リグ) を Generic に設定します。
  2. アバターマスクを定義 することによって、特定のボーンにインポートされたアニメーションを任意で制限できます。
  3. Animation タブで Import Animation を有効にし、他のアセット特有のプロパティーを設定します。
  4. ファイルが複数のアニメーションやアクションで構成されている場合は、アニメーションクリップとして特定のフレーム範囲を定義 できます。
  5. ファイルに定義されているアニメーションクリップごとに、以下を行うことができます。
  6. Import Settings ウィンドウの一番下にある Apply ボタンをクリックして変更を保存するか、Revert ボタンを押して変更を破棄します。

リグの設定

Inspector ウインドウの Rig タブ で、Avatar (Animation) Type を Generic に設定します。デフォルトでは、Avatar Definition プロパティーは Create From This Model に設定され、Root nodeNone に設定されています。

場合によっては、Avatar DefinitionCopy 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 ボタンは表示されません。

アバターマスクの作成

マスキングは、インポート時かランタイムのいずれかにアニメーションクリップに適用することができます。アニメーションデータを削除して、ビルドから除くことができ、ファイルサイズやメモリ使用量を小さくできるため、インポート時にマスキングすることが好ましいと言えます。アニメーションデータがランタイムにブレンドされるより少なくなるので、より高速な処理ができます。インポート時のマスキングは目的に適さない場合があります。その場合には、アバターマスク アセットを作成してランタイムにマスクを適用し、アニメーターコントローラーレイヤー設定 でこれを使用します。

空のアバターマスクアセットを作成するには、以下のいずれかを行います。

  • Assets メニューから Create > Avatar Mask を選択します。
  • Project ビューでマスクを定義したいモデルオブジェクトをクリックし、右クリックし Create > Avatar Mask を選択します。

新しいアセットが Project ビューに表示されます。

Avatar Mask ウィンドウ
Avatar Mask ウィンドウ

Transform 階層 に含む/除外するボーンを選択し、次に、マスクを アニメーションレイヤー に加えるか、または、マスクへの参照を Animation タブMask セクションに加えます。


ヒューマノイドアニメーションのインポート
モデルの Import Settings ウィンドウ