CG Talkで紹介されていたZB3のNormal Map出力不具合の対応策です。ZBrushCentralでも紹介されました。とりあえず、実際にやってみました。ちなみにこの方法は、Zbrush2のマテリアルデータが必要です。私は体験版をインストールしっぱなしにしていたのでデータを手に入れられました。
手順1. ピクソでダウンロードしたhumanheadを使用。まず、modoでUVを作成。ZBのAUVやGUVもいいのですが、今回はmodoの展開ツールを使います。UVが設定できたらOBJでエクスポートします。
手順2. ZBrushにインポートして、Tool > Morph Target > StoreMTを押してモーフターゲットをストア。適当にDivideしてスカルプトします。
手順3. スカルプトが終わったらSdiv1に戻して、Tool > Morph Target > Switchを押す。さらにTool > DisplacementでAdaptiveを押してCreate DispMapを押す。これで、Alphaパレットにディスプレイスメントマップができています。
手順4. 後でマップを適用する為に、Sdiv1のモデルをOBJでエクスポートします。
手順5. Alphaパレットを開いて先程作成したDisplacement Mapを選択。そして、Alphaパレット下にあるCropAndFillボタンを押す。「Undoできないけど大丈夫?」みたいな事を聞いてくるので、OKを押す。そうすうると画面一杯にDisplacement Mapが現れます。
手順6. 現れたDisplacement Mapには、標準のマテリアルがついているので、これを変更します。ここでZbrush2のマテリアルが必要になります。
手順7. Zbrush2のZData > MaterialsからNormalRGBMat.zmtを読み込む。そして再度Alphaパレット下にあるCropAndFillボタンを押すと画面がNormalMapに変わります。
手順8. しかしこのままでは、エクスポートできないので、Textureパレット下にあるGrabDocボタンを押します。そうするとテクスチャとしてパレットに読み込まれます。後は、テクスチャをNormal Mapとしてエクスポートするだけです。
手順9. modoに手順4でエクスポートしたモデルを読み込む。なぜかポリゴンが裏返っているので、ツール > ポリゴン > 反転で正しい向きにします。
手順10. 正しい状態になったので、TABキーを押してサブディビジョンに変換。
手順11. Normal Mapを適用してみると、Zbrush2の時もそうでしたが、UVがV値で天地逆になってしまっている。テクスチャ > UV操作 > 鏡面でV値を0.5にしてOKを押します。
手順12. これで正しい位置になったので、マテリアルの設定を法線に変えてレンダリングしてみます。
まあ、割と簡単にNormal Mapができますね。しかしレンダリングしてみると分かりますが、少々レンダリング結果がおかしな具合になります。というのも、modoでのNormal Mapの強度をかなり上げないとレンダリングにうまく反映できませんでした。
早期にZBrush3自体のバグフィックスか、Zmapperの登場が期待されます。