コースを作ろう 第2回 路面のメッシュを張る 改の補足

tukiserver.hatenablog.com

上の記事で書いていたカーブに合わせてメッシュを配列、カーブに合わせて変形を行ったときにUVが重なってしまう状態にあったことの対策を書く。

UVが重なっている状態とは

UVが重なっている状態とは以下の写真のような状態である。

複製された面(右図)がUVマップの左側に寄ってしまっている(左図)

この状態だとテクスチャの左側1/4だけが読まれることになり、継ぎ目が不自然になってしまうほかぬれた路面の描写なども正常に行われないので修正する必要がある。

 

修正方法

配列モディファイア内に含まれているUVオフセット機能を使う

配列モディファイアの下から2個目のタブ

UVオフセットの決め方

UV座標の図

UVエディタにある正方形の左上を0とし、正方形の横方向がU軸、縦方向がV軸となっている。右上の頂点が(U,V)=(1,0)、左下が(U,V)=(0,1)である。

今回の写真における配列モディファイアを用いたメッシュの作成では、基本となるオブジェクトをX軸方向に伸ばして作っているため、UVはU軸方向に複製されていく。

ここで、隣に複製されたメッシュのUVは元のメッシュのUVに隣接して配置されてほしいので、オフセットの値は上図のb/aで求められる(今回はb=1/4なのでb/a=0.25)。

UVオフセットを設定した配列モディファイアを適用した状態

左図ではUV同士が隣接して配置されているため、テクスチャを読み込む際にUVのずれに起因する不具合は発生しないと思う。