背景アーティストのぶろぐ

UE4やら、Substanceやら、Zbrushやらいろんなソフトを触ったことについて色々書く。

NormalMapをベイクする時の知識 その3

今回は円柱形のベイクで起きる波型の問題についてです。

 

参考にしたサイトはこちら

【Polycount】Understanding averaged normals and ray projection/Who put waviness in my normal map?

 

 

波型の問題って何?

円柱形のモデルからノーマルマップをベイクした時に一定の角度から見ると綺麗な円が見えるが、

真横から見ると上下の部分に波型の形が見えてしまう問題です。

f:id:sinocof:20170223174323p:plain

 

ノーマルマップを見るとこのようになっています。

波型が出ていますね。

f:id:sinocof:20170223174339p:plain

 

これがなぜ起きてしまうのかというと、

ハイモデルとローモデルの形状に差がある場合にこの問題が起きます。

 

試しに、ローモデルの側面の分割数が異なるもので比較してみます。

f:id:sinocof:20170223174353p:plain

 

結果をみると、ローモデルがハイモデルに対して曲率の滑らかさが足りない場合に波型は大きく出てくるようですね。

 

ノーマルマップをフォトショップで修正した場合

例えば、波型をフォトショップで消した場合どのような結果になるのかというと、

綺麗に見えていた円の形がポリゴンの形として見えるようになります。

f:id:sinocof:20170223174420p:plain

f:id:sinocof:20170223174427p:plain

 

側面からの見た目を重要視するならばこの方法も悪く無いですが、

ノーマルマップをベイクをし直す度にフォトショップで法線を直す必要があります。

 

割を多くしたベイク用のローモデルを使ってベイクをしてみた場合

では、ベイクする時のローモデルの分割数を多くして波型があまり出ないようにし、

ゲームで使用するローモデルに貼るというのはどうでしょうか。

 

側面から見るとまったく問題ないように見えます。

f:id:sinocof:20170223174459p:plain

 

しかし、ある角度から見るとローモデルに波型とはまた異なる歪みが確認できます。

f:id:sinocof:20170223174513p:plain

 

結果として、ノーマルマップとローモデルの形状が一致していないことにより、

歪みが出てしまっています。

 

しかし、この方法も側面からの見た目を重要視したい場合、悪くないかもしれないです。

 

結論として

円柱型の場合波型の問題は必ず発生し、回避することはできないのですが、

最初に作成した円柱のモデルもノーマルテクスチャだけでは波型が見えますが、

カラーやディテールのデザインが入ることで波型が目立たなくなったりもします。

 

参考にさせていただいたサイトのここの記述がほぼ結論になると思うのですが、

ある程度の波型は諦める(絶対になくすことができないので)というのと、

90度のような波型が目立つような形状は必ず必要な場合でないのであれば、

出来る限り角度をつけるという方法を取ることでも目立たなくすることができます。

 

波型を緩和させる、または見える角度によって何を重要視するか等によって

どの方法で作成するかを判断することが大事だと言えそうです。

 

 

 

絶対的な解決法がないのですっきりしないかもしれないですが、

こうやって自分解決できたよ~みたいな方法があれば教えて下さい。

 

Polycountには様々な検証やこれどうやってベイクするの?みたいな実例が載っているので、

参考までに見てみると問題の解決になるかもしれませんね。