日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年4月18日土曜日

Zbrushを使っていて気づいたこと。

今回、クローズアップにも耐えられるよう本格的に32bitディスプレースメントマップを使おうと考え、Zbrushをパイプラインに入れてみた。
いままでモデリングに使ってはいたが、そのままOBJではき出して使っていたので、32bitディスプレースメントマップをZbrushで作るのは、遊び以外では初めてだった。
最近、会社で32bitディスプレースメントマップを何度か使うことがあり、MentalRay側のノウハウはある程度できてきて、作業もスムースに進むと思われたが、意外な問題が多く発生し、時間をとられ
結果的にはメインのリグ作業が思うようにはできなかった。

それに、最終的には、それほどクローズアップになることもなくモーションブラーがかかるのであまり有益ではなかった。


今後の作業の効率化のために、今回気がついたことなどをまとめておきたい。
--------------------

<バージョン互換の問題。>
会社では、Winは使わないので、MacかLinuxだが、ZbrushはLinux版しかない。
また、手元のMacはIntel版ではないので、Zbrush3.12は使えないという状況であったが
そこから以下の問題にぶちあたった。
1)Mac版Zbrush3.12からは、Mac版Zbrush2.0で保存したツールファイル(ztl)は読めない(上位互換なし)
2)Mac版Zbrush3.12で保存したztlファイルはWin版Zbrush3.1では読めない。
(Mac版は.02なので、上位マイナーアップされたバージョン)
3)Mac版Zbrush3.12では、「MultiDisplacement3」はサポートされていない。
(同プラグインの旧バージョンは、動作するかもしれない。)
よって32bitディスプレースメントマップ、マルチUVはMac版3.12ではエクスポートできない。
Mac版で作業するときにそれが目的ならv2.0を使う必要がある。


<Mac版3.12でスカルプとしたオブジェクトをWin版3.1に読み込む方法。>
(うまく行かない場合もあったので常用するのは危険。)
1)Mac版3.12より、スカルプとしたオブジェクトをObjでエクスポートする。
   (その際にSubDレベル1と、最高レベルのものとを一つづつエクスポート)
2)Win版でSubDレベル1のものをインポート。
3)それをMac版でスカルプとしたのと同じレベルまでSubD分割する。
4)最高レベル表示のまま、もうひとつのObjファイル(最高レベルのもの)をインポートする。
5)これで、ツールが最高レベルのものに置き換えられるが、SubDの情報もそのまま残っているので、
レベル1までもどしてディスプレースメントマップをエクスポートできる。


<レベル1での形状の食い違い>
また通常は、分割した時点でレベル1の形状がインポートしたOBJのものと異なる。
通常は、インポート時に、「MorphTarget」に初期形状を保存しておき、エクスポート前に、レベル1にしたあと、保存してあったMorphTargetに「Change」して初期のオブジェクト形状に戻すという手順が踏まれる。
しかし、これではディスプレースメントが正常に表示されないように思う(ずれがある)
今回は、レベル1の形状にもどしたものをOBJでエクスポートして、Mayaではそれを使った。
要するにMayaで最初に作ったモデルはZbrushを使った時点で、使用することはなかった。


<マルチUVカラーマップ>
マルチUVによるカラーマップは、3.10(win版)ではまだサポートされておらず3.12(mac版)ではサポートされているという話がどこかの掲示板にあった。
マルチUVがサポートされていなければ、ペイントしてもUVがオーバーラップした画像ができる。
これについてはさらに詳細をしらべたい。


<キャビティーマスクによるデティールテクスチャー>
Tool>Masking>Mask By Cavity
そしてCreateAlphaをおしAlphaテクスチャーを作成、これをエクスポートすれば、
細かなデティールのアンビエント・オクルージョン的なテクスチャーを作る素材として使うことができる。


<ProjectionTextureについて>
Photoshopのスタンプツールのような使い方。
あらかじめコピーされる画像をきちんとしたものに編集しておく必要がある。
http://www.pixologic.com/docs/index.php/Tutorial:ZProject_Texturing

手描きテクスチャーで対応できるUV構成ならPhotoshopのほうがなれている分、早い。


<作業途中のToolの保存>
作業途中の物を保存すればマスク、モーフターゲットもそのまま含めて保存されている。


<MultiDisplacement3の設定>
MaxMapSize:エクスポートされる画像ファイルのサイズ。
DPSubPix:レベル0にキープ。上げると、出力されるDisplacmentマップのグレイのグラデーションがとても弱い。
Border8:テクスチャーの境界線が表れるときに、使うらしい。
Exportオプションで、
上半分は、設定のリスト、ここで設定のステータスがOnになっているものはすべて同時にエクスポートされる。
Displacmentマップが必要ならR32をOnにしておけば良い。
Quick Code For Maya:DE-LBEK-EAEAEA-R32 (他にもあるようだがこれで問題なかった)
Normalマップが欲しいときは、Normal32をOnにして、VerticalFlipをYesにする。

以下のマニュアルに基本的ステップが説明されている。
ZBrush To Maya 32-Bit Displacement Guide


<Displacementマップに関連するMaya内での操作>
上記なマニュアルにもあるようにMentalRayのApproximationEditorでSubdivApproxを使用する。
設定は MinSubd:3、 MaxSubD:5、Length:0.1だが、
32bitの利点を最大にいかした、シャープで、彫りの深いディスプレースメントの結果を得るには、
すにはポリゴンの分割を細かくする必要がある。

そのためLengthを0.05~0.01ぐらいまで様子をみながら下げてやる。
ポリゴンにスムースを1~2レベルかける必要があるケースもある。
このレベルだと16bitでは、階段状のグラデーションが見えてくる。
しかし、これ以下だと32bitの恩恵はあまりないような気がする。

一度上記の設定をして、オブジェクトの選択解除をしてから、後にそのオブジェクトを選択してもApproxEditorに先ほど作ったSubdivApproxが表示されずEditボタンが押せないことがある。
Editを有効にするにはプルダウンから該当するSubdivApproxを選択してやる必要がある。


<三角ポリのエッジ>
またブログ「3DCGlab」の記事2007年1月17日「Subdivision Approxの検証」によると
四角ポリゴンと三角ポリゴンの境界にエッジができてしまうとのこと。

今回の作業でもシャープなエッジが発生していたが、原因がわからず、polysmoothをかけることですべてを、四角ポリゴンにして回避した。



------まとめ--------------
Zbrush自体、通常の3Dソフトとは違い便利な反面、いろいろな独自の問題がある。
今回の主な問題は以下のことを中心に発生した。
1)上位互換性のなさ。
2)バージョンによる、プラグインのサポート状況の違い
2)独自の操作を覚える必要がある。(これは数分で覚えられる物が多いので大きい問題ではない)

今回は問題を解決するのに時間をとられすぎた。
とりあえずの問題は解決または原因がわかったが。
潜在的な問題をさけるために自宅からWindowsラップトップをもちこみ作業を終わらせた。



将来的には
a)スクラッチからのモデリング
b)ハードサーフェイスのモデリング
c)UV編集(もしZbrushのUV編集機能が使いやすいなら使ってみる価値はあるという意味。)
d)テクスチャーの作成
e)バンプマップの作成
などをZbrushで行いたい。

ただし、いきなり、パイプラインに持ち込む前に、それぞれの作業をプロダクションの擬似作業で、試してみてそこに潜む問題の洗い出しと、解決策を考える必要がある。

すでによく知られていることだがそうすれば、Zbrushを使って同じ時間内で、作品のクオリティーをあげるのに大いに役に立つだろう。

Zbrush関連ブログ: ClipBoadOfZbrush
 
 

0 件のコメント:

コメントを投稿