タンジェントマップを作成する

タンジェントマップとは?

タンジェントマップは設定やテクスチャの描き方がバンプマップと非常に似ていますが、その用途は少し違います。
バンプマップがモデルの法線を変化させ、細かな陰影をつけるのに対して、
タンジェントマップは表面の微細な凹凸を変化させ、光の入り方を調整しています。
ここでもMayaを例にして紹介します。

タンジェントマップにはモデルの接ベクトル空間情報が必要になります。
現状ですと、DCCツール内で異方性反射のシェーダーをアサインすることで、 モデルに接ベクトル情報を付加できます。

異方性反射設定とタンジェントマップの扱いが混乱しそうですが、
異方性反射はあくまでもタンジェントマップを使った表現手法の1つの例であり、
モデルの凹凸を変えずに光の入り方を歪ませるために、「接平面」を歪ませることをしており、 この接平面を歪ませるためにタンジェントマップを利用しています。

Mayaでの操作

Mayaでマテリアル設定をしたいモデルを読込みます

ここではバンプマップで使用したチェスのローモデルを使います。

マテリアルに「異方性シェーダ」をアサインします

異方性シェーダにバンプマップをコネクトします。

バンプのテクスチャと異方性シェーダをコネクトします。

モデルの接線を表示、調整します

CPを使用しない場合は必要のない情報です。

ディスプレイ > ポリゴン > 接線 でモデルの接線を表示します

頂点から赤と青の線が出ています。

頂点から出ている 赤と青の線は綺麗に直行しています。これら2つの線が作り出す平面を「接平面」と呼びます。

1つの頂点から同じ色の接線が2本以上出ている場合、その部分に入るスペキュラーが綺麗につながりません。
Shapeのアトリビュートで接線のスムージング角度を広げ、頂点に複数赤青の接線があるところが1セットになるように調整します。

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

CreativeStudioでの操作

CreativeStudioでモデルを読込みます

→tangent_mapping.cresを参考にしてみてください。

モデルを見ると、縦方向、もしくは横方向に流れるようにスペキュラーが入っていると思います。
このスペキュラーの入る向きを変えたい場合は、DCCツールでUVの向きを変えてください。
UVの向きを変えるとバンプマップの向きがずれるので、その時はバンプマップのテクスチャを作り直すか、テクスチャを90度回転してください。

MayaでUVを90度まわしました。

バンプマッピングの使用方法を「タンジェントマップ」に変更します

バンプマップで作られていたモデルの陰影は消え、逆にバンプマップに添うような形で光が流れているように見えます。

比較のためにバンプマップで使ったモデルを同じシーンに読込みます。
バンプマップデータは、接平面情報がないので、
マッピングの仕方をバンプマップからタンジェントマップに変更すると普通のローモデルに戻ってしまいます。

バンプマップとタンジェントマップの違いを確認します

→tangent_anim.cresを読み込んでください。
テクスチャをいろいろ差し替えて見てね!

アニメーションを再生し、マテリアルパネルを開きます。
テクスチャを変えたり、使用方法をバンプマップとタンジェントマップで変えてみたりして 2 つのマッピングの違いを確認します。