パルテア

どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス モデル ヒューマノイドアニメーション付きのモデルのインポート〜

このページには、Unity のアニメーション システムで使用するモデルをインポートするためのガイダンスが含まれています。アニメーション システムで使用するモデルの作成については、「アニメーション用モデルの作成」を参照してください。

アニメーション システムは、2 種類のモデルで動作します。

ヒューマノイド モデルは、実際の人間の骨格に大まかに準拠するように編成された、少なくとも 15 個の骨を含む特定の構造です。このページには、この種類のモデルのインポートに関するガイダンスが含まれています。

汎用モデルは、それ以外のすべてです。これは、やかんからドラゴンまで、あらゆるものになります。この種類のモデルのインポートについては、「非ヒューマノイド (汎用) アニメーションを含むモデルのインポート」を参照してください。

すべての種類のモデルに適用できる一般的なインポート ガイダンスについては、「モデルのインポート」を参照してください。

概要

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

リグの種類を定義してアバターを作成します。

アバターのマッピングを修正または確認します。

ボーン マッピングが完了したら、必要に応じて [Muscles & Settings] タブをクリックして、アバターの筋肉構成を微調整できます。

必要に応じて、スケルトンのボーンのアバターへのマッピングをヒューマン テンプレート (.ht) ファイルとして保存できます。

必要に応じて、アバター マスクを定義して、特定のボーンにインポートされるアニメーションを制限できます。

[Animation] タブで [Import Animation] オプションを有効にし、その他のアセット固有のプロパティを設定します。

ファイルが複数のアニメーションまたはアクションで構成されている場合は、特定のアクション範囲をアニメーション クリップとして定義できます。
ファイルで定義されているアニメーション クリップごとに、次の操作を実行できます。
ポーズとルート変換を変更する
ループを最適化する
ヒューマノイド スケルトンの両側でアニメーションをミラーリングする
他のアイテムのタイミングをアニメーション化するために、クリップにカーブを追加する
アニメーションに合わせて特定のアクションをトリガーするために、クリップにイベントを追加する
ランタイム アバター マスクを使用するのと同様に、インポート時に適用されるアニメーションの一部を破棄する
アクションを駆動する別のルート モーション ノードを選択する
クリップのインポートに関する Unity からのメッセージを読む
アニメーション クリップのプレビューを見る
変更を保存するには、[インポート設定] ウィンドウの下部にある [適用] ボタンをクリックするか、[元に戻す] をクリックして変更を破棄します。

アバターを設定する

インスペクター ウィンドウの [リグ] タブで、[アニメーション タイプ] を [ヒューマノイド] に設定します。デフォルトでは、[アバター定義] プロパティは [このモデルから作成] に設定されています。このオプションをそのままにしておくと、Unity はファイルで定義されているボーンのセットをヒューマノイド アバターにマッピングしようとします。

ヒューマノイド リグ

場合によっては、このオプションを [他のアバターからコピー] に変更して、別のモデル ファイル用に既に定義したアバターを使用できます。たとえば、3D モデリング アプリケーションで複数の異なるアニメーションを含むメッシュ (スキン) を作成する場合、メッシュを 1 つの FBX ファイルにエクスポートし、各アニメーションを独自の FBX ファイルにエクスポートできます。これらのファイルを Unity にインポートする場合、インポートする最初のファイル (通常はメッシュ) に対して 1 つのアバターを作成するだけで済みます。すべてのファイルで同じボーン構造が使用されている限り、そのアバターを残りのファイル (たとえば、すべてのアニメーション) に再利用できます。

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

スキン ウェイト プロパティを使用して、特定の頂点に影響を与えることができるボーンの最大数を変更することもできます。デフォルトでは、このプロパティは 4 つのボーンに影響を制限しますが、別の値を指定できます。

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

一致が成功すると、[構成] メニューの横にチェック マークが表示されます。Unity はモデル アセットにアバター サブアセットも追加します。これはプロジェクト ビューで確認できます。

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

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

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

Unity は有効なアバターを作成できませんでした

アバターはアニメーション システムの非常に重要な側面であるため、モデルに合わせて適切に構成することが重要です。

このため、自動アバター作成が成功するかどうかに関係なく、アバターが有効で適切に設定されていることを常に確認する必要があります。

アバターを構成する

Unity がモデルのボーンをアバターに正しくマッピングしたかを確認したい場合、または Unity がモデルのアバターを作成できなかった場合は、[リグ] タブの [構成...] ボタンをクリックしてアバター構成モードに入ることができます。

Unity がアバターを正常に作成すると、アバターはモデル アセットのサブアセットとして表示されます。プロジェクト ウィンドウでアバター アセットを選択し、インスペクターの [アバターの構成] ボタンをクリックしてアバター構成モードに入ることができます。このモードでは、Unity がモデルのボーンをアバター レイアウトにマッピングする方法を確認または調整できます。

アバター サブアセットのインスペクター
アバター設定モードに入ると、アバター ウィンドウがインスペクターに表示され、ボーン マッピングが表示されます。
ボーン マッピングが正しいこと、および Unity が割り当てなかったオプションのボーンをマッピングしていることを確認します。
スケルトンには、Unity が有効な一致を生成するために必要なボーンが少なくとも配置されている必要があります。アバターとの一致を見つける可能性を高めるには、ボーンに、それらが表す体の部位を反映するような名前を付けます。たとえば、「LeftArm」や「RightForearm」は、これらのボーンが何を制御するかを明確にします。
マッピング戦略
モデルが有効な一致を生成しない場合は、Unity が内部で使用するプロセスと同様のプロセスを使用できます。

1. アバター ウィンドウの下部にあるマッピング メニューから [クリア] を選択して、Unity が試みたマッピングをリセットします。

2. アバター ウィンドウの下部にあるポーズ メニューからサンプル バインド ポーズを選択して、モデルの初期モデリング ポーズに近似させます。

アバター ウィンドウの下部にあるポーズ ドロップダウン メニュー

3. マッピング / 自動マップを選択して、初期ポーズからボーン マッピングを作成します。

4. ポーズ / T ポーズを強制を選択して、モデルを必要な T ポーズに戻します。

自動マッピングが完全にまたは部分的に失敗した場合は、シーン ビューまたは階層ビューからボーンをドラッグして手動で割り当てることができます。Unity がボーンが適合すると判断した場合、アバター マッピング タブに緑色で表示されます。適合しない場合は赤色で表示されます。

ポーズのリセット

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

アバター ウィンドウの下部にある [ポーズ] ドロップダウン メニュー

ボーンの割り当ては正しいが、キャラクターのポーズが正しくない場合は、「キャラクターが T ポーズではありません」というメッセージが表示されます。[ポーズ] メニューから [T ポーズを強制] を選択して、これを修正することができます。ポーズがまだ正しくない場合は、残りのボーンを手動で回転させて T ポーズにすることができます。

アバター マスクの作成

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

アニメーション クリップにマスクを適用するのは、インポート時または実行時です。インポート時にマスクをかけるのが望ましいです。破棄されたアニメーション データをビルドから省略できるため、ファイルが小さくなり、メモリ使用量が少なくなります。また、実行時にブレンドするアニメーション データが少なくなるため、処理が高速化します。インポート マスクが目的に適さない場合もあります。その場合は、アバター マスク アセットを作成し、それを Animator Controller のレイヤー設定で使用することで、実行時にマスクを適用できます。

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

[アセット] メニューから [作成] / [アバター マスク] を選択します。

[プロジェクト] ビューでマスクを定義するモデル オブジェクトをクリックし、右クリックして [作成] / [アバター マスク] を選択します。

新しいアセットがプロジェクト ビューに表示されます。

アバター マスク ウィンドウ

これで、マスクに体の一部を追加し、そのマスクをアニメーション レイヤーに追加するか、アニメーション タブのマスク セクションでそのマスクへの参照を追加できるようになりました。




    Course

  • 日時:2024/04/01 ~ 2025/03/31
  • 名称:どうぶつの森の美術館 〜ゲームエンジン(Unity)グラフィックス モデル ヒューマノイドアニメーション付きのモデルのインポート〜
  • 場所:オンラインスクール
  • 料金:¥0 (消費税込)