投影を使用して法線バンプ マップを作成する

[テクスチャをレンダリング](Render To Texture)を使用して兵士の頭部にも法線バンプ マップを作成します。今回は、マップをレンダリングする前にケージの調整も行います。

レッスンの準備:

表示されているオブジェクトは、兵士の頭部の編集可能メッシュ モデルだけです。これは、約 750 個のポリゴンで構成されている低解像度のターゲット オブジェクトです。これに、法線バンプ マップを適用します。サーフェスはスムーズで、格子模様のテクスチャ マップが既に割り当てられています。この格子模様のマップは、サーフェスのテクスチャ マッピングをセット アップするためのビジュアル ガイドとして使用されます。[UVW アンラップ](Unwrap UVW)モディファイヤが既に適用されています。

マッピングを観察する:

  1. モデルを選択し、 [修正](Modify)パネル [UV を編集](Edit UVs)ロールアウトに移動し、[UV エディタを開く](Open UV Editor)ボタンをクリックします。

    3ds Max では[UVW を編集](Edit UVWs)ダイアログ ボックスが開き、[UVW アンラップ](Unwrap UVW)モディファイヤがターゲット オブジェクトにどのように適用されているか、およびモデルのサーフェスにテクスチャ座標がどのようにマップされているかが示されます。このレイアウトは、テクスチャ マッピングを修正するために必要となる場合がある、ペイント作業を容易にするために設計されています。

  2. [サブオブジェクト選択](Subobject Selections)ツールバー(下部にある最初のツールバー)で、 ([ポリゴン](Polygon))をクリックして[ポリゴン](Polygon)([面](Face))サブオブジェクト レベルをアクティブにし、 ([要素 UV による選択切り替え](Select By Element UV Toggle))をクリックしてオンにします。

    [UVW を編集](Edit UVWs)メイン ウィンドウで、ジオメトリ要素を選択して、これらがパース ビューポートのモデルとどのように対応しているかを確認します。 終了したら、ダイアログ ボックスを閉じます。

    ソース モデルから高解像度情報を抽出するため、ここでこれを低解像度モデルと合成する必要があります。

高解像度モデルを合成する:

  1. アプリケーション メニューから[読み込み](Import) [合成](Merge)を選択し、ファイル ダイアログ ボックスで、シーン ファイルがあるフォルダに移動します。高解像度モデルを含むシーン warrior_headhires.max を選択し、[開く](Open)をクリックします。

    3ds Max によって[合成](Merge)ダイアログ ボックスが開きます。

  2. ダイアログ ボックスで、War_Head_HiRes をクリックしてハイライト表示し、[OK]をクリックします。

    これで、2 つのモデルが表示されるようになりました。どちらも同じサイズで位置もぴったり合っています。

  3. 高解像度モデルだけを表示するには、高解像度モデルを 選択して、ビューポートの格子模様以外の部分を選択して右クリックし、クアッド メニューから[分離ツール](Isolate Selection)を選択します。

    このモデルは、約 96,000 個のポリゴンで構成されており、ずっと多量の詳細を含んでいます。

  4. ステータス バーで ([分離ツールの切り替え](Isolation Selection Toggle))をクリックして合成ビューに戻ります。
  5. モデルの格子模様の領域をクリックして低解像度モデルを選択します。

    低解像度モデルが選択されていることを確認するため、[名前とカラー](Name And Color)ロールアウトに War_Head_LoRes と表示されていることをチェックします。

    それでは、高解像度モデルを基にした、法線バンプ マップの作成に進みましょう。

[テクスチャ レンダリング](Render To Texture)(RTT)をセットアップする:

    法線バンプ マップを生成するには、[テクスチャ レンダリング](Render To Texture)ツールを使用します。

  1. メイン メニューから[レンダリング](Rendering) [テクスチャ レンダリング](Render To Texture)を選択します。
  2. [テクスチャをレンダリング](Render To Texture)ダイアログ ボックス [一般設定](General Settings)ロールアウト [出力](Output)領域で、これから作成する拡散反射光マップおよび法線バンプ マップのテクスチャの保存先とする出力パスを定義します。

    既定値では、出力は現在のプロジェクトの \sceneassets\images フォルダに保存されますが、別の保存場所を指定することをお勧めします。

  3. [ベイク処理するオブジェクト](Objects To Bake)ロールアウト [投影マッピング](Projection Mapping)領域で、[有効](Enabled)をオンにします。また、このモデルにサブ選択が存在しないため、[サブオブジェクト レベル](Sub-Object Levels)をオフにします。
  4. [ピック](Pick)ボタンをクリックして[ターゲットを追加](Add Targets)ダイアログ ボックスを表示します。このダイアログ ボックスで、War_Head_HiRes をクリックしてハイライト表示し、[追加](Add)をクリックします。

    [投影マッピング](Projection Mapping)領域のドロップダウン リストが、[投影モディファイヤなし](No Projection Modifier)から[投影](Projection)に変わります。これは、新しい[投影](Projection)モディファイヤが War_Head_HiRes のスタックに配置されたことを示しています。

    さらに、ラフなワイヤフレームのケージが、ビューポートの高解像度の頭部オブジェクトの周囲に表示されます。ケージには、不規則なジオメトリが大量に表示されます。しかし、最初に適用したときは、このようになるのが通常です。この問題は簡単に修正できます。

  5. [修正](Modify)パネル [ケージ](Cage)ロールアウトで、[リセット](Reset)をクリックします。

    ケージが、ターゲットの低解像度モデルの周囲にぴったりと合うようにリセットされます。

    ケージの形は正しくなりましたが、ケージがソースの高解像度モデルを完全に囲んでいることが重要です。ソース ジオメトリがケージの外にはみ出た箇所では、レイが交差せず、法線バンプ マップの欠陥の原因となります。

  6. [ケージ](Cage)ロールアウト [プッシュ](Push)領域で、[量](Amount)を 1.1 に設定します。

    値を適用すると、0.0 にリセットされ、ケージのバルーンが外側に少し膨らみます。これにより、War_Head_HiRes オブジェクト全体とバンプや突起した部分すべてがケージに納まります。

  7. [テクスチャをレンダリング](Render To Texture)ダイアログ ボックス [ベイク処理するオブジェクト](Objects To Bake)ロールアウト [マッピング座標](Mapping Coordinates)領域で、[既存チャネルを使用](Use Existing Channel)を選択します。

    このオプションでは、3ds Max によって処理中に新しいテクスチャ マッピング座標を作成する代わりに、このレッスンの最初に参照した、割り当て済みのテクスチャ マッピング座標を使用することを指定します。

  8. [出力](Output)ロールアウトまでスクロール ダウンして[追加](Add)をクリックし、[テクスチャ要素を追加](Add Texture Elements)ダイアログ ボックスで[NormalsMap]をクリックしてハイライト表示した後、[要素を追加](Add Elements)をクリックします。

    新しい[NormalsMap]エントリが、[テクスチャをレンダリング](Render To Texture)ダイアログ ボックスの[出力](Output)ロールアウトに表示されます。

  9. [選択した要素の共通設定](Selected Element Common Settings)領域 [ターゲット マップ スロット](Target Map Slot)ドロップダウン リストで[バンプ](Bump)を選択し、[512 x 512]幅/高さボタンをクリックします。これにより、出力サイズが 512 x 512 ピクセルに設定されます。
  10. [選択した要素の固有設定](Selected Element Unique Settings)領域で、[法線バンプに出力](Output Into Normal Bump)をオンにします。これは、結果がビューポートとレンダリングの両方に正しく表示されるようにするためです。

    ここまでで、法線バンプ マップを生成するための基本的な要素と設定をすべて定義できました。

法線バンプ マップをレンダリングして調整する:

  1. [テクスチャをレンダリング](Render To Texture)ダイアログ ボックスの下部にある[レンダリング](Render)をクリックして、拡散反射光マップと法線バンプ マップをレンダリングします。
    注: マップが既に存在しているという警告が表示された場合は、[ファイルを上書き](Overwrite Files)をクリックします。

    レンダリングされたフレームには、アンラップされた高解像度モデルの拡散反射光マップが示されます。あちこちに赤い部分があります。これらは、バンプ マップの投影レイが元のジオメトリを正しくキャプチャしなかった箇所を示しています。これは、[投影](Projection)モディファイヤによって作成されたケージが、これらの箇所で、高解像度モデルを完全に囲んでいなかったために発生したものです。

    この法線バンプ マップを低解像度のターゲットに適用すると、問題が起こります。これらの赤い部分にニュートラルな法線の値を適用し、周囲の領域とブレンドすることで、この問題を解決しましょう。

  2. War_Head_LoRes オブジェクトが選択されていることを確認し、[テクスチャをレンダリング](Render To Texture)ダイアログ ボックス [ベイク処理するオブジェクト](Objects To Bake) [投影マッピング](Projection Mapping)領域で、[オプション](Options)をクリックして[投影オプション](Projection Options)ダイアログ ボックスを表示します。
  3. [ヒットを解析](Resolve Hit)領域で、[レイ ミス チェック](Ray Miss Check)をオフにし、 ダイアログ ボックスを閉じます。

    [レイ ミス チェック](Ray Miss Check)をオフにすると、レンダリングされた法線バンプ マップにある赤い部分が、法線値 0 のニュートラルな青いバックグラウンドに置き換えられます。法線値 0 では、これらの部分を作成される法線マップとうまくブレンドすることができます。

  4. [テクスチャをレンダリング](Render To Texture)ダイアログ ボックスの下部にある[レンダリング](Render)をクリックして、法線バンプ マップをもう一度レンダリングします。

    以前にレンダリングしたファイルを上書きするかどうか尋ねるメッセージが表示されたら、[ファイルを上書き](Overwrite Files)をクリックします。

    レンダリングされた拡散反射光マップでは、前のレイ ミスは黒いニュートラルな要素のバックグラウンドとして表示されます。

    拡散反射光マップのレンダリングと同時に、3ds Max は法線バンプ マップを TGA イメージとしてレンダリングします。ここで、このイメージを参照し、ブレンドの結果を確認しましょう。

  5. メイン メニューから[レンダリング](Rendering) [イメージ ファイルを表示](View Image File)を選択します。表示されたファイル ダイアログ ボックスで、イメージ ファイルのある場所に移動します。既定値では \sceneassets\images です。
  6. ファイル war_head_loresnormalsmap.tga を選択し、[開く](Open)をクリックします。

    青チャネルは、垂直方向の深さ情報を保持し、赤チャネル、緑チャネルは、各点でのサーフェスの法線方向に方向ベクトルを提供することで、この情報を補強します。このため、通常のグレースケールのバンプ マップより多くの情報を保持できます。

  7. 法線マップ イメージを閉じます。

作業を保存する:

次のレッスン

頭部にマップを適用する