「Render_Map異常_TEST_暫定改善方法」

Render_Mapでシェーディング画像を得た時にUVアイランドが離れていた場合に生じる異常の改善方法についての考察と暫定的改善方法。問題が生じている部分を見やすく作業もしやすいように問題部分を切り出し、カメラも前のものとは変えてあります。サブデビは2に設定。暫定であるのはテストにより改善傾向がみとめられるものの、自分にはまったく理論的裏付けが無かったりするからです…(^^ゞ。

snowmanさんにテッセレーションの問題だとご指摘をいただき、あれこれやってみました。道場に質問する前にもポリゴンの組み方の問題かもと思い、やってはみていたのですが、その時はまったく改善されなかった状態でした。原因が明確になったので、改めて取り組んでみたのが下の状況です。snowmanさん、多謝m(__)m。

以下テスト内容と考察。

(1)下の図で赤いラインの上下がそれぞれ別のUVアイランドになるようにしてあります。そもそも、問題部分のポリゴンの平面性がグチャグチャでいいかげんな組み方をしていたことと、そのほうが生じにくいだろうとUVアイランドが離れている部分を以下のような比較的ポリゴンの曲率が緩やかな位置に変更。さらに隣接部を全て四角ポリにしたり、三角であれこれ切ってみると改善傾向が見られることはあるが、なかなか完全にはいかない状態。下の図では全て四角にしてある。これだけでもかなり改善されるがここに隣接している個別のポリゴンがねじれているとやはり完全回避はできない模様。このラインを一旦削除し、再度中央で切り直すと、理屈としてはラインをはさんだ上下のポリゴンの縦方向の辺は一直線になるが、単にラインが直線上に配置されただけでポリゴンとしてはねじれが治っているわけではないので出てしまう模様。(つまり全て四角ポリなら治るというわけでもない)。(こうした調整はUVアイランドが離れているところのポリゴンをあれこれいじりなおすため、そのつどUVを調整し直さなくてはならなくなるので注意)

(2)ここで下の図の赤い部分のポリゴンを貼り直し、極力平面(プラナポリゴン)に治しました。(あらかじめプレファレンスで設定しておき、Modify > Poly. Mesh > Add/Edit Polygon Toolで非プラナポリゴンが極力出来ないように手順を考えながら、接続ラインから外に作るイメージで貼り直し。極力と書いたのは、ずっと一周貼り直していくとその周の最後のポリゴンを貼る際に、一番最初に作り直した四角ポリの一点が移動し、せっかく修正したものが非平面になるためです。つまり全て四角ポリで一周の輪を作っていて、この方法で修正する場合、輪の中の一つは非プラナの四角ポリになってしまいます。この部分のみ三角ポリにすれば一周の輪に位置するすべてプラナポリゴンにできる理屈になりますが、サブデビ時のアーティフェクトの問題が生じることもあるかと思います。)

図は割愛しますが実際にこの状態に治したものでRender_Mapでシェーディング画像を得てみると、やはり完全には改善れず、細いラインと若干の太い影状のものができます。太い影状の部分が非プラナの部分になることになりますが、アーティフェクトの問題を極力さけつつ改善傾向に持っていくには、極力曲率の大きな部分に三角ポリの位置を持ってくるというぐらいしかないかも。)

(3)上までの調整と考察では細いライン状の影が完全には改善されるわけではないので、さらに考察を続けます。そこで、サブデビが2の場合、さらに外側の平面性まで補完するときに問題になっているのかと思いつき、下の図の赤いポリゴンも極力プラナになるよう貼り直してみました。

(4)上の状態にしておいてから、得たシェーディングを貼ってテクスチャデカールで表示してみたもの。UVアイランドの離れている部分の問題は解消されている模様。

(5)ただ、今度は下の赤い部分のラインの周辺に異常が見られます。円筒状に展開しているため、ここもアイランドの周辺部になってしまっているため、横方向のポリゴンの平面性が問題になっている模様ですね。

(6)と、ここまでやってみると、今回のテストで得たものが、もし正しいのなら、例えばサブデビを2に設定した場合、全てのUVアイランドの外側の領域から数えて、2つまでのポリゴンを全てプラナポリゴンにできれば全く問題が生じないようにできるという理屈になるのですが…。どこまで正解なのやら…???