投影の視覚化
 
 
 

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

レッスンの準備:

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

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

    次に、平面の選択ケージを非表示にしましょう。これは、前の手順で追加した[プロジェクション]モディファイヤによって生成されたものです。

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

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

  6. スレート マテリアル エディタで、 ([全範囲ズーム])をクリックしてマテリアル ツリー全体を表示します。

    ヒント:必要に応じて、スレート マテリアル エディタ ウィンドウのサイズを変更したり、他のナビゲーションを使用したりして、見やすくなるよう調整してください。

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

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

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

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

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

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

  1. スレート マテリアル エディタで、baked_Proj-Plane_mtl / 標準マテリアル ノードをダブルクリックしてパラメータを表示します。
  2. スレート マテリアル エディタのツールバーで[標準マップをビューポートに表示/ハードウェア マップをビューポートに表示]フライアウトを開き、[ハードウェア マップをビューポートに表示]を選択します。

  3. パラメータ エディタ パネルで[マップ]ロールアウトを開き、[バンプ]の量を 90 に増やします。

  4. スレート マテリアル エディタを最小化します。
  5. パースペクティブ ビューポートで、平面がよく見えるように ズーム拡大します。

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

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

3D 効果の視覚化

  1. [作成]パネルで ([ライト])をオンにします。ドロップダウン リストから[標準]を選択し、次に[オムニ]をクリックしてオンにします。

  2. ビューポートで、平面オブジェクトの上の任意の場所をクリックして、ライトを配置します。
  3. ライトを選択して、石の上を横切るように ドラッグします。

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

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

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

  1. ライト オブジェクトを削除します。
  2. スレート マテリアル エディタを復元し(M を押す)、再度 べてが見えるようウィンドウを移動します。
  3. Proj-Plane_mtl [Proj-Plane] / シェル マテリアル ノード(右側)をダブルクリックしてシェル マテリアルのパラメータを表示します。
  4. [シェル マテリアル パラメータ]ロールアウトで、[ベイク マテリアル]をレンダリング出力で可視になるよう設定します。

  5. スレート マテリアル エディタを最小化します。
  6. パースペクティブ ビューポートで、平面がほぼ水平になるよう オービットし、F9 を押して平面をレンダリングします。

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

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

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

  7. ([レンダリング設定])をクリックして、[レンダリング設定]ダイアログ ボックスを開きます。[共通設定]タブで、[レンダリングを割り当て]ロールアウトまでスクロール ダウンします。次に、[プロダクション]レンダラーの ([レンダラーを選択])をクリックします。

  8. [レンダラーを選択]ダイアログ ボックスで[mental ray レンダラー]を選択して[OK]をクリックします。
  9. 平面を再度 レンダリングします。
  10. レンダリング フレーム ウィンドウで、 ([レンダリング フレーム ウィンドウをクローン])をクリックし、2 つのフレームを最小化します。

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

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

  1. 平面オブジェクトを 選択します。
  2. M を押して、スレート マテリアル エディタを復元します。
  3. baked_Proj-Plane_mtl / 標準マテリアル ノードをダブルクリックしてパラメータを表示します。
  4. [mental ray コネクション]ロールアウト [拡張シェーダ]領域で、[ディスプレイスメント]の ロック ボタンをクリックしてディスプレイスメントのロックを解除し、コントロールを有効にします。

  5. スレート マテリアル エディタの左にある[マテリアル/マップ ブラウザ]パネルから、[マップ] [mental ray] [Height Map Displacement]を探し、このマップ タイプをアクティブ ビューにドラッグします。
  6. アクティブ ビューで、baked_Proj-Plane_mtl / 標準マテリアル ノードと新しい Height Map Displacement ノードの両方がよく見えるよう ズームします。

  7. baked_Proj-Plane_mtl / 標準マテリアル ノードのプラス記号アイコン([+])をクリックして[mental ray コネクション]領域を開き、Height Map Displacement ノードからベイク マテリアルの[mental ray コネクション: ディスプレイスメント]コンポーネントにワイヤリングします。

  8. [マテリアル/マップ ブラウザ]パネルで、[マップ] [標準] [ビットマップ]を探し、このマップ タイプをアクティブ ビューにドラッグします。

    ファイル ダイアログ ボックスが開きます。

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

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

  9. 新しいビットマップ ノードから Height Map Displacement ノードの[Height Map]コンポーネントにワイヤリングします。

  10. Height Map Displacement ノードをダブルクリックしてパラメータを表示し、[Height Map Displacement]ロールアウトで[Minimum Height]を 0.0 に設定します。
    ヒント:スピナーの矢印を右クリックすると簡単に設定できます。

  11. パースペクティブ ビューポートを レンダリングします。
  12. 先ほどクローンしたレンダリング フレームのビューを復元し、レンダリングを比較します。

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

    まとめ

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