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

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

Unity が ヒューマノイド リグとアニメーションを含むモデルファイルをインポートするとき、モデルのボーン構造をアニメーション用に調整する必要があります。それを行うには、ファイル内の各ボーンをヒューマノイドアバターにマッピングし、アニメーションを適切に再生できるようにします。このため、Unity にインポートする前に、モデルファイルを慎重に準備することが重要です。

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

アバターの設定

Inspector ウインドウの Rig タブAnimation TypeHumanoid に設定します。デフォルトでは、Avatar Definition プロパティーは Create From This Model に設定されています。この設定では、Unity はファイル内で定義された一揃いのボーンをヒューマノイドアバターにマップしようと試みます。

ヒューマノイドリグ
ヒューマノイドリグ

In some cases, you can change this option to Copy From Other Avatar to use an Avatar you already defined for another Model file. For example, if you create a Mesh (skin) in your 3D modeling application with several distinct animations, you can export the Mesh to one FBX file, and each animation to its own FBX file. When you import these files into Unity, you only need to create a single Avatar for the first file you import (usually the Mesh). As long as all the files use the same bone structure, you can re-use that Avatar for the rest of the files (for example, all the animations).

このオプションを有効にする場合は、Source プロパティーを設定して、使用したいアバターを指定する必要があります。

You can also change the maximum number of bones that can influence a given vertex with the Skin Weights property. By default, this property limits influence to four bones, but you can specify more or fewer.

When you click the Apply button, Unity tries to match up the existing bone structure to the Avatar bone structure. In many cases, it can do this automatically by analyzing the connections between bones in the rig.

マッチが成功すると、Configure メニューの横にチェックマークが表示されます。また、Unity はアバターのサブアセットをモデルアセットに加えます。これはプロジェクトビューで見つけることができます。

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

マッチの成功とは、単に Unity が必要なボーンすべてをマッチできたことを意味します。ただし、より良い結果を得るためには、Unity では必須ではないボーンもマッチし、適切な T ポーズ でモデルを設定する必要があります。

Unity がアバターを作成できない場合は、Configure ボタンの横に X が表示され、アバターのサブアセットはプロジェクトビューに表示されません。

Unity は有効なアバターの作成に失敗しました
Unity は有効なアバターの作成に失敗しました

アバターはアニメーションシステムの重要な一面であるため、モデル に適切にアバターを設定することが重要です。

このような理由で、自動的なアバター作成が成功したかどうかにかかわらず、アバターが有効で適切に設定されていることを常に確認 する必要があります。

アバターの設定

モデルのアバターを作成できなかった場合は、Rig タブの Configure … ボタンをクリックして Avatar ウィンドウ を開き、アバターを修正する必要があります。

マッチした場合は、Rig タブの Configure … ボタンをクリックするか、プロジェクトビューからウィンドウを開きます。

  1. Project ビューでアバターのサブアセットをクリックします。 Inspector には、アバター名と Configure Avatar ボタンが表示されます。
  2. Configure Avatar ボタンをクリックします。
アバターのサブアセットのインスペクター
アバターのサブアセットのインスペクター

If you haven’t already saved the Avatar, a message appears asking you to save your Scene:

この理由は、Configure モードでは、シーンビューはボーン、マッスル、選択されたモデルのみのアニメーション情報を表示し、シーンの他の部分を表示しないからです。

シーンを保存したら、Avatar ウィンドウが Inspector に表示され、ボーンマッピングが表示されます。

ボーンのマッピングが正しいことと、Unity が割り当てなかった必須でないボーンをマップすることを確認してください。

Unity が有効なマッチを探すためには、少なくとも必須のボーンはスケルトンの正しい位置になくてはなりません。アバターにうまくマッチングさせるには、ボーンに身体の部位を表す名前を付けます。例えば、“LeftArm” と “RightForearm” のような名は、ボーンが何を制御するかを明確に表しています。

マッピングの方法

モデルが有効なマッチを探せない場合は、Unity が内部で行うのと似た手順を手動で行います。

  1. Avatar ウィンドウの下部にある Mapping メニューから Clear を選択し、Unity が試みたマッピングをリセットします。
    Avatar ウィンドウの下部にある Mapping ドロップダウンメニュー
  2. Choose Sample Bind-pose from the Pose menu at the bottom of the Avatar window to approximate the Model’s initial modeling pose.
    The Pose drop-down menu at the bottom of the Avatar window
  3. Mapping > Automap を選択して、最初のポーズからボーンマッピングを行ないます。
  4. Pose > Enforce T-Pose を選択し、T ポーズ を適用して、モデルを必要な T ポーズに戻します。

自動マッピングが完全に、または部分的に失敗した場合は、手動で シーン または Hierarchy からボーンをドラッグして割り当てることができます。ボーンがマッチする場合は、Avatar Mapping タブは緑色で表示され、そうでない場合は赤で表示されます。

ポーズのリセット

The T-pose is the default pose required by Unity animation and is the recommended pose to model in your 3D modeling application. However, if you did not use the T-pose to model your character and the animation does not work as expected, you can select Reset from the Pose drop-down menu:

Avatar ウィンドウの一番下にある Pose ドロップダウンメニュー
Avatar ウィンドウの一番下にある Pose ドロップダウンメニュー

If the bone assignment is correct, but the character is not in the correct pose, you will see the message “Character not in T-Pose”. You can try to fix that by choosing Enforce T-Pose from the Pose menu. If the pose is still not correct, you can manually rotate the remaining bones into a T-pose.

アバターマスクの作成

マスキングを行えばクリップ中のアニメーションデータの一部を破棄できるので、オブジェクトやキャラクターを部分的に動かすことができます。例えば、腕と脚両方のモーションを含む標準の歩行をするアニメーションがあるとします。しかし、そのキャラクターが大きな荷物を両手で持っている場合は、歩きながら腕を振って欲しくないでしょう。マスクを使用することで、荷物運びのアニメーションの上半身の部分のみを再生し、歩行するアニメーションに重ねることによって、荷物運びのアニメーションに標準の歩行のアニメーションを使用することができます。

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

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

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

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

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

これで、マスクにボディ部分を追加 し、次にマスクを アニメーションレイヤー に加えたり、ボディ部分の参照を Animation タブMask セクションに追加できます。


  • 2019–05–31 Page amended
モデルのインポート
非ヒューマノイドアニメーションのインポート