3D ワールドの大半は,Mesh で構成されています。Asset Store プラグインを除けば,Unityにはモデリングツールが含まれていません。しかしUnityはほとんどの3Dモデリングパッケージと強力な相互関係性を持っています。Unityは三角,四角ポリゴンのメッシュをサポートしています。NURBS,NURMS,サブディビジションサーフェイスは,ポリゴンに変換する必要があります。
Unityへメッシュをインポートする方法は主に2つのファイルで行うことが出来ます:
.Max
の3D Studio Max, または.Blend
のBlenderのファイル形式である 3Dアプリケーションの専用ファイル
どの方法でもUnityにメッシュに取り込むことができますが,どれを選ぶにあたって考慮すべき事があります。
Unityは.FBX ,.dae (Collada),.3DS,.dxf および.obj のFBXエクスポータファイルを読み込むことができ,FBXエクスポータはここ にある多くのアプリケーションでobjやColladaのエクスポーターを見つけることが出来ます。
長所:
短所:
Unityが変換を通してインポートできるファイル形式: Max , Maya , Blender , Cinema4D , Modo , Lightwave , Cheetah3D ,たとえば .MAX , .MB , .MA など
長所:
短所:
サポート対象の3Dアプリケーションのためのガイドラインが次のとおりありますが,ほとんどの場合先に示したファイル種類をエクスポートすることができます。
Unityでメッシュが使用するテクスチャは次のルールに従って発見されます。最初に,インポータはメッシュと同じフォルダ,あるいはその親フォルダにTexturesという名前のサブフォルダがあるかチェックします。見つけられない場合は,プロジェクト内のすべてのテクスチャを全検索します。若干遅いことのほか,全探索の主な欠点は,同じ名前のテクスチャがプロジェクト内に2つ以上あるかもしれないということです。この場合,正しいものが見つかる保証がありません。
Unityでインポートされた各マテリアルは次のルールに従って処理されます。
マテリアルの生成が無効になっている場合(つまりImport Materialsがオフ),デフォルトのDiffuseマテリアルを割り当てます。有効になっている場合,次の処理を行います。
Unity は, Mesh Colliders と Primitive Colliders の 2 つの基本的なコライダを搭載しています。メッシュ コライダは,インポートされたメッシュ データを使用し,環境との衝突に使用できるコンポーネントです。インポート設定で,Generate Colliders を有効にすると,メッシュをシーンに追加すると,メッシュ コライダは自動的に追加されます。物理挙動としては,固体として扱われます。
オブジェクトを動かしている場合 (車など),メッシュ コライダを使用できません。 代わりに,プリミティブ コライダを使用する必要があります。 この場合,「Generate Colliders」設定を無効にする必要があります。
シーンから自動的にアニメーションがインポートされます。アニメーションのインポート オプションの詳細については,アセット準備およびインポート の章を参照してください。
モデルの高いポリゴン バージョンから生成された法線マップのあるキャラクターがある場合,「Smoothing angle」が 180°のゲーム品質バージョンをインポートする必要があります。 これは,接線の分割により,ライティングで変な見た目の継ぎ目が生じるのを防ぎます。 これらの設定でまだ継ぎ目が残っている場合は,「Split tangents across UV seams」を有効にします。
グレースケールの画像を法線マップに変換する場合は,これを機にする必要はありません。
Unity はブレンドシェイプ(モーフターゲット,または頂点アニメーションとも呼ばれます)サポート機能があります。Unityはブレンドシェイプを,.FBX ファイル(ブレンドシェイプとアニメーションコントロールを)と.dae ファイル(ブレンドシェイプのみ)からインポートができます。Unity のブレンドシェイプは頂点と法線とタンジェントの頂点レベルのアニメーションをサポートします。メッシュはスキンとブレンドシェイプに同時に影響を受けます。全てのブレンドシェイプでインポートされたメッシュは (スキンを使っていても使ってなくても)SkinnedMeshRenderer を使います。ブレンドシェイプアニメーションは通常のアニメーションの一部としてインポートされます。つまりそれは単に SkinnedMeshRenderer のブレンドシェイプのウェイトをアニメーションすることになります。
法線付きのブレンドシェイプをインポートするには二つの方法があります:
ブレンドシェイプでタンジェントが使いたいなら,Tangents インポートモードをCalculate にセットしましょう。
これは実際には正しいです。あなたが見ているのは,レンダリングのために実際に OpenGLES に送信される三角形の数です。マテリアルの要件により三角形を 2 回送信する必要がある場合に加え,ハードエッジな法線や非連続UV は,モデリング アプリケーションと比較した場合に,頂点 / 三角形の数を大幅に増やします。細長い線を形成するには,三角形が 3D および UV 空間で連続している必要があるため,UV の継ぎ目がある場合は,劣化した三角形を作成し,細長い線を形成する必要がありますが,これにより三角形の数は増加します。