« 交通標識 | トップページ | 燃焼 »

2010/02/23

UV調整

VRMの「地形テクスチャUV調整」をよく理解されている方は、この記事を読む必要ないかもです。Traizで3Dモデルを作る場合も、当然のことながら「UV調整」が必要になりますし、これはチェックボックスにチェックするとかではなく、UV展開時に意図的に行う必要があります。

UV11.jpg

UV12.jpg

▲立方体にテクスチャを割り付けます。上のテクスチャ画像の赤い部分を立方体の各面に割り付けて、緑の部分は他で使うものです。下の図は、それぞれの結果です。

左上の図のように、赤い部分目一杯にテクスチャを割り付けた結果が、左下の立方体です。立方体の辺の部分が何やら汚くなっていますね。これは、目一杯にテクスチャを割り付けたため、隣の緑の部分が漏れ出してきている、というか、滲んできているというか、そういう事態になっているためです。

そこで、右上のように、四方に1ドットずつ余裕を持たせて割り付けます。すると、出来た立方体も綺麗な赤色になります(右下)。VRMの「地形テクスチャUV調整」も、これと同じことを自動でやっておるわけです。

UV21.jpg

UV22.jpg

▲αブレンドの場合:赤いのが必要な部分、黒は透明に抜く部分、緑は他で使うものです。これも目一杯割り付けると、周囲に滲みが出来て綺麗に透明になりません。右のように、黒の透明に抜く部分を十分広く確保し、赤い部分にも緑の部分にも掛からないように UV展開すれば、綺麗に抜くことが出来ます。

逆に言うと、あるテクスチャ画像を書いてみた場合、その周囲に最低1ドットの「余白」を作る必要があるということですね。テクスチャを書く段階から、UV展開のことを考えておかないといけないのです。

話がややこしくなり、言葉で説明するのも難しいので、ここまでにしておきます。あとは、ケースバイケースです。1つの画像に複数のテクスチャを書く場合とか、タイリングの設定に絡む場合とか、αブレンドの詳細とか、この辺は実際やってみるのが一番です。

UV3.jpg

▲標識の場合は、裏板のテクスチャが見えちゃっているという、さらにややこしい事態だったんですが、UV展開を工夫することで、なんとなく綺麗に円形が抜けるようになりました(左奥)。

|

« 交通標識 | トップページ | 燃焼 »

コメント

なるほどテクスチャー外側の映り込みでしたか。確かにVRMの地形テクスチャーでもそんなことがありましたね。

ちなみに「Phantom line」とは、Content Creator's Guide(TRS2006用ならばP.357)に書かれている呼び名です。今回のケースと「Phantom line」では若干表示が異なっていたので「少し違うかな?」とは思っていたんですが、やはり違いましたか。

私の場合、当初は他のアセット(主にKenichiro氏のもの)に倣い、テクスチャーを1枚にまとめる方法をとっていましたが、ある時それぞれのテクスチャーを別ファイルにしているアセットを見て、これで出来るならば、
(1)UVマッピング位置をイチイチ指定しなくて済むこと。
(2)テクスチャーを変更する時はテクスチャー合成の手間を省き、ファイルを置き換えるだけで済むこと。
(3)この部分だけはなるべく大きめのテクスチャーを使ってリアルな感じにしたいという場合もやりやすいこと。
というメリットを感じて、今はそちらの方式でやっています。・・・なので、最近UVマッピングの位置調整をやっておらず、思い至りませんでした。失礼いたしました。

・・・あとVRMの方は単なる見落としか或いはそんな細かい所は気にしていないということじゃないかな?と私は思っています。テクスチャーが堂々と裏返って貼り付いていたりすることもありましたし(笑)。

投稿: zio | 2010/02/24 02:24

いえいえ、この辺は試行錯誤の結果ですので、私も定かではないのですが……。

phantom lineについてはマニュアル見て一応理解しました。タイリングが有効:画像を繰り返し並べて展開する設定だと、端っこの部分で自分自身が映り込んでしまうって感じですね。確かに、タイリングを無効にすればこれを防止できるかも知れませんが、やはりUV調整するのが本質的な解決策だと思うのですが、まあ、結果オーライでどちらでもいいのかな。

なお、Blenderでは、『デフォルトで』タイリングが有効(repeat)になっており、これをTrainzに持っていくと、"Tile=st"となります。Blenderでこれを無効(extendなど)にすると、Trainzでは Tile=の項目が消えてなくなります(何も設定しないのは"Tile=none"と同じか?)。つまり、Blender上で設定変更する、.texture.txtを書き換える、それと、UV調整するの3つの方法があるわけで、テキストファイルを書き換えるのも手間が掛かりますし、何より、変更するのを忘れる(笑)という大きな落とし穴がありますで、私としては明示的にUV調整することをお勧めしておきます。

また、テクスチャを複数使うことは以前から提言されていましたね。ただ、テクスチャが複数ということは、".texture.txt"もその数だけあるということで、それらを1つずつ書き換えるのは、それこそ面倒くさくないですか(^^;

投稿: 啓明 | 2010/02/24 13:46

そうですね。確かにtexture.txtを変更する時に面倒だなぁと思うことはあります(笑)。既にほぼ完成しているプラットホームを未だ公開していないのも、これからtexture.txtにHint=Dynamicを追加する作業が残っているからで、この後コピペして書き直さなくてはならないなぁと思っているところです。

ただ、私の場合2Dテクスチャーの作成が苦手なため、何度もテクスチャーを書き換えて修正する作業が多く、その作業工程が結構大きなウェイトを占めているので、今の方式の方が自分には適しているというか、多分一番効率的なのではないかなぁと思っています。まぁ、この辺は人それぞれやりやすい方法を採用しているということでしょうね。もしかするとBlenderとgmaxによる作業性の違いみたいなものもあるかもしれませんが。

投稿: zio | 2010/02/25 00:28

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/103983/47647580

この記事へのトラックバック一覧です: UV調整:

« 交通標識 | トップページ | 燃焼 »