このサイトではBlenderやMaxwell Renderの使い方を初めての方でも分かり易いように解説したチュートリアルと藤堂+の作品やCGに関連した参考書、Webサイト、CG(VFX)を使った動画を紹介しています。

CGrad Project Logo

Maxwell Renderチュートリアル

16.表面の凸凹を表現する

表面に凸凹を付けたい場合、Bump Map、Normal Map、Displacement Mapといった3種類のやり方があります。私の場合、これら3種類の使い分けは表面に微かな凹凸感を出したいときにBump Map、はっきりとした凹凸感を出したいけど、Displacement Mapのような処理時間をかけたくない場合にNormal Map、はっきりとした凹凸と共に元のオブジェクトの形も変形したいときにDisplacement Mapを使っています。皆さんはどうでしょうか?さて、まずmonkeyに適用されているマテリアルを全部削除します。monkey1にBump Mapを設定します。新しいマテリアルを作成して、Material EditorのBumpのところにテクスチャを読み込みます。テクスチャはインストールフォルダにある"noise.jpg"を使います(インストールフォルダのtexturesフォルダにあります)。読み込んだら、Bumpの値を10にします。数値が大きいほど凹凸が強く見えるようになります。がBump Mapでは限界があります。なお、ここで作成するマテリアルのReflectance 0は青色RGB(0,0,240)です。


Bump Mapの設定(強度=10) Bump Mapの読み込み

monkey2には先程と同じようにBump Mapを適用して下さい。そして、Bump値を200にします。monkey3にはNormal Mapを適用します。Normal Map用のテクスチャもMaxwell renderのインストールフォルダの同じ場所にある"nor_foam.jpg"を使います。読み込み方法はBump Mapと同じですが、Bumpの横にある「N」と書かれた丸いアイコンをクリックしてNormal Mapを有効にする必要があります。Normal Mapの強度もBump値で設定します。ここでは100に設定します。


Bump Mapの設定(強度=200) Coatingの設定2 Normal Mapの読み込み

次にmonkey4にはDisplacement Mapの設定をします。新しいマテリアルを作成し、Material EditorのMaterial Propertiesのところで右クリックして表示されたメニューから「Add Displacement」を選択します。すると、Displacementのプロパティが追加されるので、Mapにこれまで使ってきた”checker.png”を読み込み、Heightを3cmにします。


Displacement Mapの設定

monkey5にはmonkey4で作成したマテリアルを複製し、Heightを20cmにします。そして、Adaptiveをオンにします。このAdaptiveを説明する前にPrecisionをします。PrecisionはDisplacementの精度を決定するもので、数値が大きいほど精度が良くなります。ただ、数値が大きいとその分レンダリング時間が長くなるので最初は小さな数値から少しずつ増加させて最適な値を見つけます。一方、Adaptiveですが、これはPrecisionで設定した値ではなく、Displacementに使っている元のテクスチャの精度でDisplacementさせます。つまり、これをオンにして元のテクスチャで表現できるDisplacementの精度を確認し、次にそれと同じくらいになるPrecisionを設定することで無駄に精度を上げすぎずにレンダリングの最適化が図れます。なお、Displacement Mapでは8bit、16bit、32bitのグレースケール・テクスチャが使えます。Maxwell RenderのDisplacementは強力なため、8bitの画像ではグラデーション部分が段になってしまいます。Texture PickerにInterpolation機能があるので、それをオンにすればある程度ならスムーズに出来ますが、出来るだけ16bitや32bitの画像を使った方がいいです。では、レンダリングしてみましょう。


レンダリング結果

サンプルシーンのダウンロード