投影の視覚化

DirectX シェーディングでは、ビューポートで法線バンプ マッピングの効果を表示することができます。

レッスンの準備:

注: このレッスンの 2 番目の手順では、Nitrous ドライバ(既定では Nitrous Direct3D 11)または従来の Direct3D ディスプレイ ドライバを使用したビューポートにおける 3D 効果を示します。使用しているドライバを確認するには、[カスタマイズ](Customize) [基本設定](Preferences) [ビューポート](Viewports)を使用します。必要に応じて、ドライバを変更することができます。 ドライバを変更すると、3ds Maxを再起動する必要があります。

法線バンプ マップのプレビュー:

  1. 平面オブジェクトを 選択します。オブジェクトを右クリックし、クアッド メニューから[分離ツール](Isolate Selection)を選択します。

    次に、平面の選択ケージを非表示にしましょう。これは、前の手順で追加した[投影](Projection)モディファイヤによって生成されたものです。

  2. [修正](Modify)パネルで[モディファイヤ リスト](Modifier List)を開き、[ポリゴンを選択](Poly Select)モディファイヤを適用します。これにより、平面のモディファイヤ スタックの先頭にこのモディファイヤが追加され、選択ケージが非表示になります。
  3. スレート マテリアル エディタを開きます。
  4. ([マテリアルをオブジェクトから選択](Pick Material From Object))をクリックし、平面オブジェクトをクリックしてアクティブ ビューにマテリアルを表示します。
  5. Proj-Plane_mtl [Proj-Plane] / シェル マテリアル ノード(右側)をダブルクリックしてシェル マテリアルのパラメータを表示します。

    ロールアウトに表示されるとおり、シェル マテリアルには 2 つのタイプのマテリアルが含まれます。1 つは元々割り当てられていた平面マテリアルで、レンダリングされた場合にのみ表示されます。もう 1 つはソース オブジェクトから取得されたベイク処理済みマテリアルで、ビューポートにのみ表示されます。

  6. スレート マテリアル エディタで、 ([全範囲ズーム](Zoom Extents))をクリックしてマテリアル ツリー全体を表示します。
    ヒント: 必要に応じて、スレート マテリアル エディタ ウィンドウのサイズを変更したり、他のナビゲーションを使用したりして、見やすくなるよう調整してください。

    右側の最上位ノードは、先ほど見たシェル マテリアルです。その左隣は 2 つのサブマテリアルです。上がオリジナルのレンダリング可能マテリアル、下がベイク処理されたハードウェア マテリアルです。ベイク処理マテリアルには、ビットマップ ノードと法線バンプ マップ ノードがあります。 最後に、法線バンプノードは、前のレッスンでレンダリングした NormalsMap ビットマップを使用しています。

  7. 法線バンプ マップのビットマップ ノードをダブルクリックします。これは、一番左のノードです。
  8. [ビットマップ パラメータ](Bitmap parameters)ロールアウト [クロップ/配置](Cropping/Placement)領域で、[イメージを表示](View Image)をクリックします。

    3ds Max では先ほど作成した法線バンプ マップが平面オブジェクトに適用されて表示されます。

    マップ内のカラーには重要な意味があります。法線バンプ マップが、通常のバンプ マップに比べて、格段に多量の詳細を保持できるのは、法線バンプ マップがサーフェス詳細情報に RGB スペクトルの全域を使用するためです。通常のバンプ マップは単一のグレースケールのみを使用しています。青チャネルは、垂直方向の深さ情報を保持し、赤チャネル、緑チャネルは、各点でのサーフェス法線の方向に方向ベクトルを提供することで、この情報を補強します。より高いリアリティが得られるのはこのためです。

  9. レンダリング フレーム ウィンドウを閉じます。

ハードウェア シェーディングを使用してマップを表示する:

  1. スレート マテリアル エディタで、baked_Proj-Plane_mtl / 標準マテリアル ノードをダブルクリックしてパラメータを表示します。
  2. スレート マテリアル エディタのツールバーで[ビューポート内でマップを表示](Show Map In Viewport)フライアウトを開き、[リアリスティック マテリアルをビューポートに表示](Show Realistic Material In Viewport)を選択します。
    注: 従来の Direct3D ドライバをご使用の場合は、このオプションのツールチップに[ハードウェア マテリアルをビューポートに表示](Show Hardware Material In Viewport)と表示されます。
  3. パラメータ エディタ パネルで[マップ](Maps)ロールアウトを開き、[バンプ](Bump)の量を 90 に増やします。
  4. スレート マテリアル エディタを最小化します。
  5. パース ビューポートで、平面がよく見えるように ズーム拡大します。

    平面オブジェクトの平坦なサーフェスの詳細度が高くなり、3 次元のように見えるようになりました。

    次は、標準のオムニ ライトをシーンに追加し、法線バンプ マップを標準のオムニ ライトと組み合わせたときに、オブジェクトにどれだけ立体感を出せるか確認しましょう。

3D 効果の視覚化

  1. [作成](Create)パネルで ([ライト](Lights))をオンにします。ドロップダウン リストから[標準](Standard)を選択し、次に[オムニ](Omni)をクリックしてオンにします。
  2. ビューポートで、平面オブジェクトの上の任意の場所をクリックして、ライトを配置します。
  3. ライトを選択して、石の上を横切るように ドラッグします。

    必要であればライトを上下に動かして、平面の上に配置します。

    このオブジェクトは平面ですが、ライトと影が石の上で動き、まるでジオメトリが隆起したサーフェスであるかのように見えます。

    ヒント: 3D 照明効果が表示されない場合は、[シェーディング ビューポート ラベル メニュー](Shading Viewport Label Menu) [ライトとシャドウ](Lighting And Shadows) [シーン ライトで照明](Illuminate With Scene Lights)を選択します。 (Nitrous ビューポートを使用の場合、このオプションは、シェーディング スタイルが[リアリスティック]の場合にのみ使用できます。)

両方のレンダラーでレンダリングを試す:

  1. ライト オブジェクトを削除します。
  2. スレート マテリアル エディタを復元し(M を押す)、必要に応じて、すべてが見えるようエディタ ウィンドウを移動します。
  3. Proj-Plane_mtl [Proj-Plane] / シェル マテリアル ノード(右側)をダブルクリックしてシェル マテリアルのパラメータを表示します。
  4. [シェル マテリアル パラメータ](Shell Material Parameters)ロールアウトで、[ベイク処理済みマテリアル](Baked Material)をレンダリング出力で可視になるよう設定します。
  5. スレート マテリアル エディタを最小化します。
  6. パース ビューポートで、平面がほぼ水平になるよう オービットし、F9 を押して平面をレンダリングします。

    平面のエッジが一直線のままで、2 次元的に見えることを確認します。

    通常、ゲーム開発でのモデリングでは、ここまでで拡散反射光マップと法線バンプ マップを使用して作成した 3D レリーフでも受け入れられます。 映画制作など、その他の用途では、もう一段階、手を加える必要があるでしょう。

    効果を完全にするためには、先ほど作成した高さマップを使用して、mental ray レンダラーでこれをレンダリングします。

  7. ([レンダリング設定](Render Setup))をクリックして、[レンダリング設定](Render Setup)ダイアログ ボックスを開きます。[共通設定](Common)タブで、[レンダリングを割り当て](Assign Renderer)ロールアウトまでスクロール ダウンします。次に、[プロダクション](Production)レンダラーの ([レンダラーを選択](Choose Renderer))をクリックします。
  8. [レンダラーを選択](Choose Renderer)ダイアログ ボックスで[NVIDIA mental ray](NVIDIA mental ray)を選択して[OK]をクリックします。
  9. 平面を再度 レンダリングします。
  10. レンダリング フレーム ウィンドウで、 ([レンダリング フレーム ウィンドウをクローン](Clone Rendered Frame Window))をクリックし、2 つのフレームを最小化します。

高さマップをレンダリングする

    次は、レンダリングに高さマップを追加します。

  1. 平面オブジェクトを 選択します。
  2. M を押して、スレート マテリアル エディタを復元します。
  3. baked_Proj-Plane_mtl / 標準マテリアル ノードをダブルクリックしてパラメータを表示します。
  4. [mental ray コネクション](mental ray Connection)ロールアウト [拡張シェーダ](Extended Shaders)領域で、[ディスプレイスメント](Displacement)の ロック ボタンをクリックしてディスプレイスメントのロックを解除し、コントロールを有効にします。
  5. スレート マテリアル エディタの左にある[マテリアル/マップ ブラウザ](Material/Map Browser)パネルから、[マップ](Map) [mental ray] [Height Map Displacement]を探し、このマップ タイプをアクティブ ビューにドラッグします。
  6. アクティブ ビューで、baked_Proj-Plane_mtl / 標準マテリアル ノードと新しい Height Map Displacement ノードの両方がよく見えるよう ズームします。
  7. baked_Proj-Plane_mtl / 標準マテリアル ノードのプラス記号アイコン([+])をクリックして[mental ray コネクション](mr Connection)領域を開き、Height Map Displacement ノードからベイク処理済みマテリアルの[mental ray コネクション: ディスプレイスメント](mr Connection: Displacement)コンポーネントにワイヤリングします。
  8. [マテリアル/マップ ブラウザ](Material/Map Browser)パネルで、[マップ](Map) [標準](Standard) [ビットマップ](Bitmap)を探し、このマップ タイプをアクティブ ビューにドラッグします。

    3ds Max によってファイル ダイアログ ボックスが開きます。

    ファイル ダイアログ ボックスで、proj-planeheightmap.tga を選択ます。

    このファイルは、拡散反射光マップおよび法線バンプ マップと同様に、\sceneassets\images か、以前に[テクスチャ レンダリング](Render To Texture) [一般設定](General Settings)ロールアウトで指定したフォルダにあります。

  9. 新しいビットマップ ノードから Height Map Displacement ノードの[Height Map]コンポーネントにワイヤリングします。
  10. Height Map Displacement ノードをダブルクリックしてパラメータを表示し、[Height Map Displacement]ロールアウトで[Minimum Height]を 0.0 に設定します。
    ヒント: スピナーの矢印を右クリックすると簡単に設定できます。
  11. パース ビューポートを レンダリングします。
  12. 先ほどクローンしたレンダリング フレームのビューを復元し、レンダリングを比較します。

    ジオメトリは、mental ray エンジンによって生成され、レンダリングに追加されたディスプレイスメント マップに基づいて押し上げられています。

    概要

    このチュートリアルでは、複雑なサーフェスの詳細を、ソース オブジェクトからシンプルな 2 次元平面に投影する方法を説明しました。投影に法線バンプ マップ、拡散反射光マップ、および高さマップを含め、これらを 1 つのテクスチャとしてシンプルな平面にレンダリングすることで、ソースから詳細を引き継ぎます。