ShaderFX テクスチャとガンマ補正

既定では、ShaderFX テクスチャ ノードにガンマ補正は含まれません。これは、3ds Max インタフェースの任意の場所のテクスチャ制御とは異なります。

理由は、ゲームおよびリアルタイム テクスチャリングでは、多くのテクスチャをガンマ補正するべきではないからです。特に、法線マップ、ディスプレイスメント マップ、密度マップ、アンビエントオクルージョン(AO)マップは、ガンマ補正されたときに正しく機能しません。

RGB カラーを提供するテクスチャでは、ガンマ補正が必要かどうかはターゲットによって決まります。一部のゲーム エンジンはリニア カラー スペースを使用しますが、使用しないものもあります。ターゲット エンジンが線形の場合は、EXR や CIN などの線形以外は、RGB テクスチャをガンマ補正する必要があります。レンダリングする RGB テクスチャも、やはり線形と高いダイナミック フォーマットを除いて、ガンマ補正する必要があります。

RGB テクスチャをガンマ補正するには、次のいずれかを実行します。

重要: これらのいずれかの方法を使用しますが、両方は使用できません。ガンマを 2 回調整すると、誤った結果が得られます。

ガンマ補正にマテリアル ノードを使用する

既定のマテリアル ノードには、シェーダ ツリーのガンマ補正をグローバルに設定するガンマ ソケットがあります。

シェーダ ツリー出力のガンマ補正を設定するには:

  1. 詳細モードをオンにするために、右クリックして表示されるメニューから[ツール](Tools)[詳細モードを切り替え](Toggle Advanced Mode)を選択します。
  2. もう一度右クリックし、[グラフ ノード](Graph Nodes)[値](Values)[ブール値](Bool Value)を選択します。
  3. BoolValue ノードのブール ソケットをマテリアル ノードのガンマ ソケットにワイヤリングします。

    BoolValue の値がオン(true)の間、シェーダ ツリーがガンマ補正されます。

  4. 重要: 1 つまたは複数の TextureMap ノードで[ConvertToLinearSpace]をオンにするか、3ds Max ファイル ダイアログ ボックスを使用してガンマ補正を有効にした場合、[マテリアル](Material)ノードでガンマを有効にする必要があります。

    また、[マテリアル](Material)ノードでガンマを有効にするのではなく、ガンマ コントロールを表示を使用してガンマ補正を再適用することもできます。