Version: 2019.4
Modeling characters for optimal performance
Using FBX files in other applications

Preparing Humanoid Assets for export

Unity のヒューマノイドアニメーションシステムとリターゲティングの利点をフルに活用するために、リグスキン のヒューマノイドタイプのメッシュが必要です。

キャラクター準備のステップ (モデリング、リギング、スキニング)
キャラクター準備のステップ (モデリング、リギング、スキニング)
  1. キャラクター モデル は 3D モデリングソフトウェアで、一般的にポリゴンから構成されます。または、エクスポート前に、より複雑なメッシュタイプからポリゴンや三角メッシュに変換されます。

  2. キャラクターの動きを制御するには、ジョイント階層スケルトン を作成し、メッシュ内のボーンとそれらの相互の動きを定義する必要があります。このようなジョイント階層を作成する処理を リギング と言います。

  3. 次に、メッシュか スキン をジョイント階層に接続する必要があります。これは、任意のジョイントがアニメーション化されたときにキャラクターメッシュのどの部分が動くかを決定します。メッシュにスケルトンを接続する処理は スキニング と呼ばれます。

ヒューマノイドモデルの取得方法

Unity のアニメーションシステムで使用するヒューマノイドモデルを取得するには、主に 3 つの方法があります。

  • PoserMakehumanMixamo などのプロシージャルなキャラクターシステムやキャラクタージェネレーターを使用します。これらのシステムの中には、メッシュにリグとスキンの処理を行えるもの (Mixamo など) と、そうでないものがあります。さらに、これらの方法を使用する場合は、元のメッシュ内のポリゴン数を減らして、Unity で使用できるように適応させなければならない場合があります。

  • デモサンプルとキャラクターコンテンツを Unity Asset Store から購入します。

  • Model, rig and skin your own character from scratch using a 3D modeling application.

モデリング

モデリングは、3D モデリングソフトウェア (Autodesk® 3dsMax®、Autodesk® Maya®、Blender など) で独自のヒューマノイドの メッシュ を作成する処理です。それ自体で主題になり得るほど、大きなトピックですが、モデルが Unity プロジェクトのアニメーションとうまく機能するためのガイドラインをいくつか挙げます。

  • 適正な構造 を持つトポロジーを使用します。メッシュの「適正な」構造の正確な性質はやや微妙ですが、一般的に、モデルの頂点と三角形がアニメーション化されるときに、どのように歪むのかに注意する必要があります。不十分なトポロジーでは、メッシュを歪ませずにモデルを動かすことはできません。既存の 3D キャラクターメッシュを調べて、トポロジーの配置方法とその理由を確認してください。

  • メッシュの スケール を確認します。テストインポートを行い、インポートしたモデルのサイズを「メーターキューブ」と比較します。標準の Unity キューブプリミティブは、1 ユニットの辺の長さを持つため、たいていの目的で 1m のキューブとして扱うことができます。3D モデリングソフトウェアが使用するユニットを確認し、エクスポート設定を調整します。すると、モデルのサイズがキューブに対し正しい比率になります。スケールの概念を持たずにモデルを作成するのは簡単ですが、Unity にオブジェクトをインポートしたときにサイズが不均衡なオブジェクトになってしまいます。

  • キャラクターの足がモデルのローカルの原点または「アンカーポイント」に立つようにメッシュを配置します。キャラクターは通常、床の上を直立して歩くので、アンカーポイント (つまり、その変換位置) が直接その床にあると、扱いがはるかに簡単になります。

  • できるだけ T ポーズ でモデル化します。これにより、必要な場所 (例えば、脇の下) でポリゴンを細かく調整することができます。これにより、リグをメッシュの内側に配置しやすくなります。

  • ビルド中に、モデルをクリーンアップします。可能であれば、穴を塞ぎ、頂点を結合し、隠れた面を削除します。これはスキニング、特に自動スキニング処理を容易にします。

テクスチャと三角形を使ったスキンメッシュ
テクスチャと三角形を使ったスキンメッシュ

リギング

リギングは、ジョイントのスケルトンを作成してモデルの動きを制御する処理です。

3D モデリングソフトウェアは、ヒューマノイドリグのジョイントを作成するためのさまざまな方法を提供します。これらは、メッシュに合わせてスケーリングできる既製の 2 足歩行のスケルトンから、個々のボーンを作成し独自のボーン構造の親子関係を作るツールに至るまで、様々です。Unity でアニメーションを扱うには、それらがボーンの階層構造のルート要素であることを確認します。スケルトンには、最低 15 個のボーンが必要です。

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

ジョイント/ボーンの階層は、作成しているキャラクターの自然な構造に従う必要があります。腕と足がペアになっている場合、一貫した名前の命名規則に従います (例えば、左腕の場合は “arm_L”、右腕の場合は “arm_R”)。ヒエラルキーに使用可能な構造は以下のとおりです。

* HIPS - spine - chest - shoulders - arm - forearm - hand
* HIPS - spine - chest - neck - head
* HIPS - UpLeg - Leg - foot - toe - toe_end
2 足歩行スケルトン、T ポーズ
2 足歩行スケルトン、T ポーズ

スキニング

スキニングは、メッシュをスケルトンにアタッチする処理です。

Skinning involves binding vertices in your Mesh to bones, either directly (rigid bind) or with blended influence to a number of bones (soft bind). Different 3D modeling software applications use different methods. For example, you can assign individual vertices and paint the weighting of influence per bone onto the Mesh.

The initial setup is typically automated: for example, by finding the nearest influence or using heatmaps. Skinning usually requires a fair amount of work and testing with animations in order to ensure satisfactory results for the skin deformation.

インタラクティブなスキニングによる紐付け (Interactive Skin Bind) はスキニング手法のひとつです
インタラクティブなスキニングによる紐付け (Interactive Skin Bind) はスキニング手法のひとつです

Some general guidelines for this process include:

  • 最初に自動化されたプロセスを使用して、スキニングの一部を設定します (使用する 3D モデリングソフトウェアに使用可能なスキニングチュートリアルを参照してください)。

  • リグにシンプルなアニメーションを作成するか、スキニングのテストとして使用できるアニメーションデータをインポートします。これにより、動いているときにスキニングの見え方が適切か素早く判断することができます。

  • スキニングソリューションをインクリメントに編集し、改良します。

  • For performance reasons, consider limiting the number of influences when using a soft bind to a maximum of four. This is the maximum number that Unity supports by default. If your Mesh uses more than four influences, you can choose either of these options:

エクスポートと検証

Unity は多くの異なるジェネリックとネイティブの 3D ファイル形式をインポートします。FBX はモデルのエクスポートと検証に推奨される形式で、以下に使用できます。

  • スケルトンの階層、法線、テクスチャ、アニメーションを持つメッシュをエクスポートします。
  • メッシュを 3D モデリングソフトウェアに再インポートして、アニメーション化したモデルが期待どおりに見えることを確認します。
  • アニメーションをメッシュなしでエクスポートします。
Modeling characters for optimal performance
Using FBX files in other applications