バンプマッピングでハイモデルの法線をローモデルに適用する

ハイモデルの法線をローモデルに適応させるチュートリアルの紹介です。

ここではDCCツールからの一連の流れを紹介するためにMayaを使っています。
ソースとなる法線情報にはChessのデータを使用します。

Mayaでの操作

Chessのシーンを開く

まずは法線情報を得るためハイモデルを読み込みます。

ローモデルを作成
・ハイモデルの特徴点をなるべく壊さない、且つ出来るだけ少ない頂点でモデルを作ります。
・ハイモデルよりローモデルが大きく(小さく)なっている必要はないです。
・モデルの法線をソフトエッジにします(バンプマップの繋がりが綺麗になります)。

ハイモデルの法線情報を転写します

ライティング/シェーディング→マップの転写 を選びます
別ウィンドウが開きます。

設定画面です。

・ターゲットにローモデル、ソースにチェスモデルを追加します。
・出力マップに法線を追加します(アイコンをクリックします)。
・出力マップのコネクトに「新規シェーダ」を選ぶ。
→ベイク処理後、自動的にバンプマップがアサインされます。
・法線マップのマップ空間を「接線空間」にします。
・Maya共通出力の転写方法で「オブジェクト空間」を選びます。
→ローカル座標で計算するので重ねて配置する必要がありません。
・詳細オプションで「ジオメトリ法線」を選択します。

 ※板のようなものにオブジェクトの法線を焼き付けるときには
転写方法に「ワールド座標」詳細オプションは「サーフェス法線」が適しています。
設定はいろいろ試してみてください。

右がマップの転写後のモデルです。

バンプマップを施したローモデル

Exporterを開いてモデルを出力します

バンプマップにBlinnを適用

マップの転写を行った時点ではランバートにバンプの設定がされていただけですが、
ハイライトの違いを比べるために、スペキュラーの入るBlinnにバンプマップをコネクトしています。

CreativeStudioでの操作

出力した中間ファイルを読み込みます

出力した中間ファイルをCreativeStudioで開きます。bump_mapping.cresを参考にしてみてください。

モデルのマテリアルパネルを開きます

バンプマップのあるなしの違い

・バンプマップがアサインされているのを確認してください。
・バンプマップを「使用しない」にして表示の違いを確認してみてください。

Maya上で見たバンプマップのテクスチャと見た目が違いますが、それは出力されるテクスチャーがHILO8であることが原因です。
HILO8のテクスチャはRG成分しかないため、ブルー成分がなくなっています。

Mayaから出力されたバンプテクスチャ