Version: Unity 6.0 (6000.0)
言語 : 日本語
モデルのインポート
ヒューマノイド以外 (汎用) のアニメーションを含むモデルのインポート

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

このページでは、Unity のアニメーションシステムで使用するモデルのインポートについて説明します。アニメーションシステムに使用するモデルの作成については、アニメーション用モデルの作成 を参照してください。

アニメーションシステムは、2 種類のモデルに対応しています。

  • ヒューマノイド モデルとは、実際の人間の骨格にだいたい適合するように編成された少なくとも 15 個のボーンを含む、特定の構造のことです。このページでは、この種のモデルのインポートについて説明します。
  • 汎用 モデルはそれ以外のすべてを指します。湯沸し用のケトルからドラゴンまで、何でもありえます。この種のモデルのインポートについては、ヒューマノイド以外 (汎用) のアニメーションを含むモデルのインポート を参照してください。

すべての種類のモデルに適用される一般的なインポートの説明については、モデルのインポート を参照してください。

概要

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 はファイル内で定義された一揃いのボーンをヒューマノイドアバターにマップしようと試みます。

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

場合によっては、このオプションを Copy From Other Avatar に変更して、すでに別のモデルファイル用に定義したアバターを使用することができます。例えば、3D モデリングアプリケーションで複数の異なるアニメーションを使用してメッシュ (スキン) を作成する場合、メッシュを 1 つの FBX ファイルにエクスポートし、各アニメーションをそれぞれの FBX ファイルにエクスポートすることができます。これらのファイルを Unity にインポートするときは、インポートする最初のファイル (通常はメッシュ) に 1 つのアバターを作成するだけです。すべてのファイルが同じボーン構造を使用する限り、ファイルの残りの部分 (すべてのアニメーションなど) にそのアバターを再使用することができます。

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

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

Apply ボタンをクリックすると、Unity は既存のボーン構造をアバターのボーン構造に一致させようとします。多くの場合、これは、リグ内のボーン間の接続を分析することで自動的に行われます。

一致に成功すると、Configure メニューの横にチェックマークが表示されます。また、Unity はアバターのサブアセットをモデルアセットに追加します。これは Project ウィンドウで確認できます。

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

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

Unity がアバターを作成できない場合は、Configure ボタンの横に X が表示され、アバターのサブアセットは Project ウィンドウに表示されません。

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

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

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

アバターの設定

Unity があなたのモデルのボーンを正しくアバターにマップしたかどうかを確認したい場合、あるいは Unity があなたのモデルのアバターの作成に失敗した場合、Rig タブの Configure … ボタンをクリックして、アバター設定モード にすることができます。

Unity がアバターの作成に成功すると、アバターはモデルアセットのサブアセットとして表示されます。Project ウィンドウでアバターアセットを選択して、Inspector の “Configure Avatar” ボタンをクリックすると、アバター設定モードに入ります。このモードでは、Unity がモデルのボーンをアバターのレイアウトにマップする方法を確認したり調整することができます。

アバターサブアセットの Inspector
アバターサブアセットの Inspector

アバターの設定モードに入ると、Avatar ウィンドウが Inspector に表示され、ボーンマッピングが表示されます。

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

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

マッピングの方法

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

  1. Avatar ウィンドウの下部にある Mapping メニューから Clear を選択し、Unity が試みたマッピングをリセットします。
    Avatar ウィンドウの下部にある Mapping ドロップダウンメニュー
  2. Avatar ウィンドウの下部にある Pose メニューから Sample Bind-pose を選択し、モデルの最初のモデリングポーズを概算します。
    Avatar ウィンドウの下部にある Pose ドロップダウンメニュー
  3. Mapping > Automap を選択して、最初のポーズからボーンマッピングを作成します。
  4. Pose > Enforce T-Pose を選択し、モデルを必要な T ポーズに設定し直します。

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

ポーズのリセット

T ポーズ は Unity のアニメーションに必要なデフォルトのポーズで、3D モデリングアプリケーションでモデルを作成するのに推奨されるポーズ です。ただし、キャラクターのモデリングに T ポーズを使用せず、アニメーションが期待どおりに動作しない場合は、Pose ドロップダウンメニューから Reset を選択します。

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

ボーンの 割り当ては正しいにもかかわらず、キャラクターが正しいポーズでない場合は、“Character not in T-Pose” というメッセージが表示されます。Pose メニューから Enforce T-Pose を選択して、この問題の修正を試みることができます。ポーズが依然として正しく修正されない場合は、手動で残りのボーンを回転させ T ポーズにすることができます。

アバターマスクの作成

マスキングを使用すると、クリップ内のアニメーションデータの一部を破棄することができ、オブジェクトやキャラクターの全体ではなく一部だけをアニメーション化できます。例えば、腕と脚両方のモーションを含む標準的な歩行アニメーションがあるが、キャラクターが大きなオブジェクトを両手で持っている場合、キャラクターが歩くときに腕を横に振らせたくありません。ただし、オブジェクトを持ちながらも、標準の歩行アニメーションを使用できます。それには、マスクを使用し、運搬するアニメーションの上半身だけを、歩行アニメーションの上に再生します。

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

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

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

新しいアセットが Project ウィンドウに表示されます。

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

ボディの一部をマスクに追加 し、次に、マスクを アニメーションレイヤー に追加するか、マスクへの参照を Animation タブMask セクションに追加します。

モデルのインポート
ヒューマノイド以外 (汎用) のアニメーションを含むモデルのインポート