Zbrushを使って1からスカルプトして作成したタイリングモデルをサブスタンスペインターを使ってノーマルマップを作成してMAYAやアンリアルエンジンに読み込んでタイリングテクスチャとして使う方法を記事にしました。手描きでリピートするタイリングテクスチャを作りたい人は参考にしてみてください。
まずはZbrushで標準プリセットで入っているプレーンを配置してポリメッシュ3D化します。
次にブラシのカーブ精密化の横にあるラップモードに1を入力します。
スカルプトしてみると右からはみ出した部分が左側にタイリングされているのが分かります。これでタイリングテクスチャが作れるようになります。
しかしいざスカルプトしてみると分かりますが、左右上下のキワ部分が凸凹と歪んでしまっているので、このままノーマルマップを作成しても綺麗なタイリングテクスチャを作る事ができません。
拡大したモデルをスカルプトしてみると、標準で用意した板ポリ(緑部分)部分と同じ位置がリピートされているのが分かります。板を拡大してスカルプトする事でさきほどは形状が変形してしまったキワ部分を変形せずに作成する事が出来るようになりました。このままZbrushでノーマルマップを作成して緑部分だけ切り取ってリピートテクスチャを作る事もできますが、切り取る時がシビアだと思ったので、今回はローポリとハイポリを用意してサブスタンスペインターのベイクを使う事にしました。
スカルプトが終わったら、Zbrush標準プリセットのプレーンを選択して、
エクスポートから、
続けて、スカルプトしたサブディビジョン最高数値の状態でモデルを選択して、
hipolyと名前をつけて同じくエクスポートして保存します。これでZbrushを使うのは終わりです。
サブスタンス ペインターを起動
次に、サブスタンス ペインターを使って先ほど作成したローポリとハイポリモデルからベイクしてノーマルマップを作るので、新規から、
板モデルが表示されました。
次にTEXTURE SET SETTINGSからBake Mesh Mapsをクリックします。
①小さなファイルのアイコンがあるのでクリックして先ほど作成したhipolyモデルを選択。
②Cage Fileの上下の数値をそれぞれ0.5に変更。
右下のBake DefaultMat Mesh Mapsをクリックするとベイク処理が始まります。
ベイクが終わると、Zbrush標準プリセットで入ってた正方形のリピート部分にだけノーマルマップが作成出来ているのが分かります。
テクスチャをMAYAとアンリアルエンジン等で書き出す時の注意
作成したテクスチャは作業画面左上のファイルのExport Texturesを選択して、
以下の項目を設定してあげますが、重要なのはMAYAで使うのか、アンリアルエンジンで使うのかで②のどの形式で書き出すのか設定してあげるのを間違えないようにする必要があります。
①テクスチャ保存場所を指定
②どの形式で書き出すか選択
③テクスチャサイズを指定
VrayとUnreal Engine4で書き出した見本
VrayとUnreal Engine4形式で書き出したノーマルマップを比較してみると左右のテクスチャの見え方に違いがあるのが分かります。
①Vrayで書き出したノーマルマップ
②Unreal Engine4で書き出したノーマルマップ
Mayaでのノーマルマップの見え方
実際にそれぞれのノーマルマップをMAYAに読み込んで上から光を当ててみると、Vray形式で書き出したノーマルマップは上側が明るくて下側が暗いのに対して、Unreal Engine4で書き出した方は上側が暗くて下側が明るくなっています。
円柱だと少し分かりづらかったかもしれませんが、球体にも同じテクスチャを割り当ててみると、左側は1つ1つのテクスチャが盛り上がっているのに対して、右側は凹んでいるように見えます。MAYAで使用するノーマルマップはVray形式で書き出した方がいい事が分かります。
アンリアルエンジンでのノーマルマップの見え方
今度はアンリアルエンジンにそれぞれのノーマルマップを読み込んで見ると、Vray形式で書き出した左の画像は上側が暗くなって下側から光が当たっているように見えていて、右側のUnreal Engine形式で書き出したノーマルマップを適用したモデルは上から光が当たって下側が暗くなっているのが分かります。
以上の事からMAYAで使う時はVray形式で、UnrealEngineで使う時はUnrealEngine形式で書き出してあげたノーマルマップを使うと光の方向にあった立体感を表現する事が可能になります。
作成したノーマルマップをタイリングしてみると綺麗に表示できているのが分かります。これを使えば手描きで色々なリピートするノーマルマップを作成できます。