2009年03月07日

vectexで服のテクスチャを試してみました

これまでBlenderのSVGテクスチャプラグイン「vectex」について色々調べてきましたので、テスト画像だけでなく実際に使ってみたいと思います。

実際に試していただけるように、一応サンプルデータsample_data090307.zipを用意してみましたが、自分の PC環境以外で上手く開けるかどうかよくわかりません。 vectexプラグイン自体は入っていませんので、公式サイトの方から入手して下さい。前々回の記事を参考にしていただければ、vectexをロードした状態でファイルを開くことができると思います。

私はこのプラグインを主にキャラクターの衣服のテクスチャを表現するのに使いたいと思っていました。
Poserなどでは既存の衣服のデータに対して、カスタムテクテクスチャを作成して使用することがよく行われています。そのため、衣服の形状データでUV展開をする場合は、可能なかぎりテクスチャを描きやすいようにしています。私の場合、実物の衣服が生地から型紙を使って裁断されるのをイメージしてみたりします。

この場合、服全体のUVが均等に展開されるので、繰り返しになる部分を重ねて面積を節約するような方法よりもテクスチャ画像を大きめにしないと模様の細部を再現できません。
私がPoser用のフィギュアに付属させた服のテクスチャのサイズは1024x1024程度です。上半身全体が入るような構図のレンダリングであれば、それと同じくらいの画像サイズなら十分かと思います。ただ、手や顔などのクローズアップの構図にたままた服も入ってしまうような場合、このテクスチャのサイズだとちょっときついかもしれません。

服のテクスチャとしてvectexを使用した場合の効果を確かめるため、以前作成したJpeg画像とほぼ同じ内容のSVG画像を作成して比較してみました。服のテクスチャーには、通常のカラー用、トランスマップ用、バンプマップ用の3枚の画像を使用しています。SVG画像の作成にはInkscapeを使ってみました。
pic090307_07.jpg

テスト用のデータとしてはこんな感じのものを使っています。
pic090307_01.jpg

テクスチャ部分をクローズアップして比較するとこんな感じになります。
pic090307_02.jpg pic090307_03.jpg

Jpegの方が1024x1024というのはちょっと解像度が低すぎというのもあるのですが、vectexの方はレースの模様がくっきりとしていてプラグインの効果を十分に発揮しているようです。トランスマップのエッジ部分がとても鮮明でいい感じなのですが、なぜかバンプマップはまったく効いていないように見えます。

ちょっと気になったので「texture」パネルでバンプマップ以外のテクスチャを無効にした状態でレンダリングしてみました。この状態で比較するとよりはっきりするのですが、vectexでは完全にバンプマップが機能していないようです。バンプを完全にオフにした状態とも若干違うようですが、とにかく模様が浮き出るような感じになりません。
pic090307_04.jpg pic090307_05.jpg

これがなぜなのか非常に悩んだのですが、もともとのバンプマップの計算の仕組みの関係で、解像度に依存しないプロシージャルテクスチャでは離散的な明度差の絵を使用した場合には普通にこういうことが起こるようです。
こちらのサイト(OpenGLのプログラミングについて、色々詳しく書かれています)にバンプマップの分かりやすい図がありましたので、それを参考にして比較用の図を作ってみました。左が普通の画像の場合、右が今回のような場合です。
pic090307_06.jpg

はっきりと確認したわけではないのですが、おそらくこういう感じになっているのではないかと思います。

Blenderのプラグインリポジトリにあるテクスチャプラグインをいくつか調べてみると、vectexと同じようにバンプマップがうまく機能していないものがありました。さらに、いくつかのプラグインのパネルには、バンプマップとして使用するときのための設定ボタンが付いていました。どうもvectexではバンプマップを使うことは難しそうな感じです。

とりあえず、バンプマップ用に3072x3072のPNG画像をInkscapeから書き出して、vextexのカラー、トランスマップと組み合わせて使用してみました。
pic090307_08.jpg

あまりバンプの効果がわからないような...。それはともかく、これだと最初からカラー、トランスマップの分も含めて3枚の画像とも3072x3072で作成しておけばそれでいいのでは、という気もしてしまいますね。
それにしても、今回のサンプル画像を作るだけでも、ものすごく時間がかかるように感じました。マルチスレッドが使えないというのは、かなり厳しいです。
posted by mato at 03:37| Comment(0) | Blender | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。