Version: 2020.2
言語: 日本語
ヒューマノイドアニメーションのインポート
モデルの 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 タブ で、Animation TypeGeneric (汎用) に設定します。デフォルトでは、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 プロパティを設定して、使用したいアバターを指定する必要があります。

また、Skin Weights プロパティを使って、指定した頂点に影響を与えることができるボーンの最大数を変更することもできます。デフォルトでは、このプロパティの影響は 4 つのボーンに制限されていますが、より多く、またはより少なく指定することもできます。

When you click the Apply button, Unity creates a Generic Avatar and adds an Avatar sub-Asset under the Model Asset, which you can find in the Project view.

アバターはインポートされたモデルのサブアセットとして表示されます 

ノート 汎用アバターはヒューマノイドアバターと同じではありませんが、Project ビューに表示され、ルートノードマッピングを保持します。ただし、Project ビューでアバターのアイコンをクリックして Inspector にプロパティを表示すると、その名前だけが表示され、Configure Avatar ボタンは表示されません。

アバターマスクの作成

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

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

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

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

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

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

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