チュートリアル:XSIでZbrushのモデルを再現するチュートリアル:XSIでZbrushのモデルを再現するZBrushでスカルプトしたモデルをXSI上でDisplacementを使って再現するチュートリアルです。ZBrushで作成したモデルを他のアプリケーションで再現しようとすると、意外と面倒な事が有ります。Displacementを使って再現しようとすると、どのくらいの強さでDisplacementをかければ良いか分からずに見た目で決めがちです。このページでは出来るだけZBrushでのモデルを再現するための方法を提示しています。馬鹿馬鹿しいぐらい単純な方法なのでXSI以外のアプリでも使えると思います。左の画像はXSIでの完成イメージです。ZBrushでスカルプトします。ZBrushでSdivを下げて元となるローポリをエクスポートします。(ココではファイル名をraku080618_low.objとしました。)Tool->Export画像のポリゴン数は約2000です。その後DisplacementMapを作成します。Tool->Displacement->CreateDispMap解像度(DPRes)は2048にしました。Alphaから作成されたDisplacementMapを選択してDisplacementExporterではき出します。Optionsの設定)ZBrushで何となく形が分かる位までSdivを上げてエクスポートします。(ココではファイル名をraku080618_mid.objとしました。)Tool->Export画像はSdiv3でポリゴン数は約30000です。(ついでに眼球もエクスポートしておきました)ココまででZBrushの作業は終わりです。XSIで2つのモデル(と眼球)をインポートします。すると左の図のような状態。ポリゴン法線が反転しているのでポリゴンメッシュ->ポリゴンの反転で元に戻してやります。するとこんな感じになります。2つのモデルが重なってなんだか分かんない状態ですね。raku080618_midを選択してVisivilityのビューの表示のチェックを外します。するとローポリだけ表示されるようになります。raku080618_midのマテリアルを変更しておきます。コンスタントに黒をセットココまで下準備です。raku080618_lowのマテリアルを変更してdisplacementをセットしていきます。自分はいつもとりあえずこんな感じで組みます。Displacement用のイメージの間にChange_rangeとScalar_Math_Basic挟んどきます。Change_Rangeは新規範囲の開始、終了をそれぞれ-0.5と0.5に変更Scalar_Math_Basicはオペレーションを乗算に変更します。raku080618_lowのGeometryApproximationを変更してdisplacementの準備をします。GeometryApproximationのポリゴンメッシュタブでOGLレベル、レンダレベル共に2に変更します。ディスプレイスメントタブでファインを選択。長さを1にして、ビュー依存のチェックを入れておきます。コレでディスプレイスメントの準備が整いました。レンダーリージョンでレンダリングしてみます。こんな感じになりました。黒い所はコンスタントマテリアルを設定したraku080618_midが見えています。黒いところはへこみ過ぎで他の部分は出っ張りすぎているってこと。先ほど設定したScalar_Math_Basicの入力2の値を変更しながら調整していきます。Scalar_Math_Basicの入力2の値を0.5にしてみました。今度はScalar_Math_Basicの入力2の値を2してみました。こんな風にしてちょうど良い値を探していきます。このモデルは1.2位がまあ良い感じの値のようです。図でメッシュ状になっているところは重なっているところです。これ以上は一致しないようです。(一致しない原因は色々考えられますが、ZBrushとXSIのサブディビジョンの差が大きな原因じゃないかと考えています。コレは又別の機会に調べてみます。)raku080618_midはもういらないので消してしまいました。左のような感じでレンダリング出来ました。?かなり再現性が高いように見えます。XSIに持ってきたので簡単にスケルトンを入れて見ました。胴体->首->頭の3本ライティングを調整するためにリージョンレンダリングの設定でディスプレイスメントをオフにしました。簡単にライトを2つおきました。完成!かと思ったのですが、よく見てみると左右反転してますいつも左右対称のモノばかり作っているので気がつきませんでした。一度エンベロープをミュートしてモデルにXスケール-1をかけてスケールをフリーズしました。完成!皆さんも試してみて下さい。