2008年02月29日

ベイク時のUV境界サイズについて modo 301

ここのところ集中してmodoのベイクとディスプレイスメントマップ関連の詳細を調べている。おかげで少しいろんな事が垣間見えてきた。誰からも突っ込みが入らないので、調子に乗ってもうちょっと調べてみたよ。あくまで自分の環境1台でしか試していない事と、何らかの大きな勘違いがあるかも知れないって事だけはあらかじめ断っておくよ。

でもその前に、マニュアルを今更ながら読んでいたら次の記述が見つかったのでちょっと触れておくね。これはユーザーガイド319ページ、スムースポジションについての記述からの抜粋だ。

スムースポジションを無効にできるということは、マイクロポリゴンのポイントの最初の位置を、平坦な元のポリゴンの上に置けるということです。先ほどの例のサブディビジョンしていない球体で、スムースポジションを無効にすると、平面ポリゴンで細分化された球体が出来上がります。この機能を追加した理由は、ベイクデータからディスプレースメントマップを作るときにスムースポジションの機能が邪魔になるからです。つまり、ディスプレースメントマップのポイントの移動距離は、元になった低ポリゴンオブジェクトの元々のポリゴンの位置から割り出されたものなので、スムースポジションを無効にしなければならないのです。

ディスプレイスメントマップを使う時にはどうやらスムースポジションの設定も考えなくちゃならないみたいだ。この事については改めて検証してみようと思う。

さて、今回のテーマはベイク時のUV境界サイズだ。前回の溝問題を解決する切り札として設定されるこのパラメータなんだけど、どうも様子がおかしい。203と301では挙動に差がある。そして203の方がいいような感じなんだよね。

fig02まずその203のベイク境界だ。左の画像をクリックするとUV境界サイズを徐々に大きくした場合にベイクのはみ出し具合がどう変わるかをGIFアニメで見ることが出来る。左上隅だけ他の角と若干形状が違う事を除けば、UVマップの境界から等しく外側にはみ出し部分が広がっていく様子が確認できると思う。

fig01そしてこっちが301の場合。どう見ても左上方向にしかはみ出し部分が拡大して行ってないよね。

fig03不思議な事にアルファレイヤも含んだ画像で同じ事をしてみると、アルファレイヤの部分だけはちゃんとUV境界に対して等距離にはみ出し部分が広がっている。左のGIFアニメのはみ出し部分をよーく見るとグレーの部分と真っ黒い部分があるのが分かるはずだ。グレーになっているのは、はみ出し部分として塗られた部分で上のGIFアニメと同じだ。違うのはその外側で、上のGIFアニメではUVマップの外側が真っ黒なのに対してこのGIFアニメでは外側が薄いグレーだ。実はこの部分こそアルファレイヤで塗りが無効になっている部分で、理想としてはベイク時にはみ出して塗られた画像の外側をぴたりと塗っていて欲しいのだけど、黒い部分ははみ出して塗っている部分とアルファで無効になっている領域の間に隙間が出来て、地の黒い部分が見えちゃっているわけだ。そして、このアルファのマスク画像は203で作ったベイクの塗りと同じ形の穴になっている。要するにアルファレイヤのマスクは理想どおりの形になり、ベイクの塗りは左上に偏っちゃってるって感じだ。

さらにマニュアルを読むと次の記述がある。

この値は3Dペインティングエンジンでも利用されます。Projection Painting(プロジェクションペイント)で、UVの境界線を跨いでペイントを行うとき、UV境界サイズが0だと、同じような黒い境界線が現れてしまうからです。

UVのはみ出しサイズがペイントブラシの塗りのはみ出し量にも影響を与えると書いてあるように見える。しかし実際に試してみたところ、203でも301でもペイントした時のはみ出し量は一定で、初期設定パネルではみ出し量の設定を変えてもペイントではみ出す量に変化は無かった。とにかく不連続UVの境界は外側の部分もディスプレイスメントマップなどに影響を与えるので、UVマップを作成する時には1×1の範囲ギリギリまで作っちゃまずいね。必ず余白を取っておかないとトラブルの原因になるよ。UVマップを自動生成した時なんかは余白が作られないので注意が必要だ(どっかに設定ないのかな?UVの自動生成の際の余白の指定があると便利だよね)。

それではまた次回。

スクリプトまとめページ( Down Load はこちらから)  

カテゴリー別ページ 



take_z_ultima at 11:51│Comments(0)TrackBack(0)modo | CG

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 

Archives