トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

take_care_Shade_to_Unity

Shade to Unity > 気をつけなければいけないこと


気をつけなければいけないこと

まずは、ゲーム向けの3Dデータを作る際に気をつける点を列挙。これはUnityに限らずリアルタイムコンテンツで3Dを扱う際に言えることかもしれません。

  • ポリゴンメッシュで扱う
  • 面の表裏を明確に区別
  • 三角形分割を意識
  • マテリアルはUVを利用して張り付ける
  • 1形状に何枚もマッピングしない

以下も参考になります。

http://wiki.unity3d.com/index.php/General_Performance_Tips

ポリゴンメッシュで扱う

ゲームでは基本的にはポリゴンメッシュで形状を扱うことになります。Shadeでは自由曲面を作成でき(他ツールではNURBSですね)、それをFBXで出力できますがShadeのFBX Exporterの場合はポリゴンメッシュに変換して出力されます。

形状の見た目はUnityで取り込んだ場合に同じであるのを確認できたほうがよいため、ShadeからFBX出力する際には一度ポリゴンメッシュに変換してしまうのをお勧めします。

なお、自由曲面でモデリングしても、オブジェクトモード時、ブラウザで自由曲面を選択後にツールパラメータの「ポリゴンメッシュに変換」ボタンを押すとポリゴンメッシュに変換することができます。

面の表裏を明確に区別

Shadeはレンダリングをメインに使うことが多いため、デフォルトでは面の表裏が判別しにくいです。

図形ウィンドウの透視図の右上をクリックしてコンテキストメニューを表示、「表示オプション」-「片面」を選択すると、表面はシェーディングされて裏面はワイヤーフレームになります。

また、透視図上の表示は「テクスチャ+ワイヤーフレーム」にすると分かりやすいです。

自由曲面の場合も表裏は存在しますので、できるだけ表裏を意識したモデリングを心がけるようにしましょう。これは、他のツールとやり取りする場合でも重要な事柄になります。

なお、ポリゴンメッシュの場合は反時計回りに頂点を指定した面が表向きになります。

三角形分割を意識

図形ウィンドウ上ではスムーズシェーディングされているため気づきにくいですが、三角形分割するもしくは他のツールに形状をエクスポートすると思わぬ皺が目に付く場合があります。

その場合は、一度透視図のコンテキストメニューより「表示オプション」-「フラットシェーディング」を選択します。すると、三角形に分割した場合に不正になりそうな箇所が分かりやすくなります。

この場合は、四角形を三角形分割して対角線の稜線を選択して「三角形の組み替え」を行ったり、こうならないように頂点を移動させて微調整を行いましょう。

この皺は、特に法線を渡せないツールの場合に自動で法線計算が行われ、その際にShadeとは異なる法線計算方法のためにおきやすい問題になります。

Unityでは、Shadeの法線をそのまま渡す方法とUnity内で再計算させる方法があります。

これらの三角形分割時の注意点については、モデリングの解説で別途説明するようにします。

たいていの3DCGツールではスムージングの角度指定が存在します。
Shadeの場合はポリゴンメッシュを選択した形状編集ウィンドウでの「限界角度」で指定。
この値を大きくしてごまかすのも手ですが、形状(ジオメトリ)としてきれいに越したことはありません。

マテリアルはUVを利用して張り付ける

ポリゴンメッシュを選択して表面材質を割り当て、統合パレットの表面材質でイメージをマッピングします。

この際に、パターンとしては「イメージ」を指定。投影は「ラップ」を選択します。こうすると、画像を使ったUVマッピングをマテリアルとして指定していることになります。

他のパターン「ストライプ」「チェック」「大理石」などはプロシージャルテクスチャと呼ばれ、計算で模様が張りつけられるものになります。これは、ある意味方言になり3DCGツールごとに仕様が異なり、ツール間を行き来する場合に互換性は取れないものと考えてください。

また、投影の「ラップ」以外も3DCGツールごとに仕様が異なるため、方言になります。

なお、Unityが理解できるUVは1形状につき1層分のみです。Lightmapを使用する場合は2層目を使いますが、これはShadeから渡しても意味なしです。

1形状に何枚もマッピングしない

できるだけ1つのポリゴンメッシュに対して

  • 1つの表面材質(マテリアル)
  • 1つの拡散反射イメージをマッピング
  • 1つの法線マップイメージをマッピング

とするほうがよいかと思います。というのも、Unityに持っていく場合はたくさんの形状の中の1つをモデリングしているわけですので、1つのキャラクタでゴージャスにリソースを消費する、というのはもったいないため。

また、イメージはUnityでfbxをインポートすると2の累乗の幅と高さ(16/32/64/128/256/512 ...)に変換されますので、Shade上でもテクスチャ画像自身は2の累乗サイズで作成しておいたほうがよいです。


Shade to Unity > 気をつけなければいけないこと

最終更新時間:2013年11月07日 02時07分17秒

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.