DirectX シェーダ マテリアル

DirectX シェーダ マテリアルを使用すると、DirectX (Direct3D)シェーダを使ってビューポートでオブジェクトをシェーディングできます。

DirectX シェーディングを使うと、ビューポート内のマテリアルは、マテリアルが他のアプリケーションやゲーム エンジンなどのハードウェアでどのように表示されるかを、より正確に表現することができます。Nitrous ドライバ(既定のドライバは Nitrous Direct3D 11)または古いバージョンの Direct3D ドライバを使用しているときにこのマテリアルを使用できます。

ヒント: DirectX シェーダ マテリアルをレンダリングするために、Quicksilver ハードウェア レンダラーを使用することができます。
注: 通常、このマテリアルは互換性のあるドライバがアクティブになっている場合にのみ、マテリアル/マップ ブラウザに表示されます。マテリアルが表示されていない場合は、[マテリアル/マップ ブラウザ オプション](Material/Map Browser Options) [互換性のないマテリアルを表示](Show Incompatible)を選択すると(グレーで)表示されます。

DirectX シェーダ マテリアルでは、以下のシェーダ タイプを使用できます。

注: Autodesk 3ds Max 2015 では、DirectX シェーダ マテリアルには、CGFX シェーダ ファイルをロードしません。
注: 3ds Max で他のレンダリング システムとは異なる接線ベースの生成方法を採用していた 2014 より前のバージョンで見られた 法線バンプ マップの問題が、Autodesk 3ds Max 2014 では修正されました。この方法を変更することはできませんでした。バージョン 2014 の時点で、3ds Max には 3ds Max、Maya、DirectX という の 3 つのモードがあり、個々の技法に互換性があります。「[法線バンプ モード](Normal Bump Mode)領域」を参照してください。

ライトのサポート

通常、FX シェーダは、特定の数のライト(多くの場合、単一のライト)を使用するようコード化されています。開いた FX ファイルがこのようにコード化されている場合は、シェーダ固有のロールアウトに、使用するライトを選択するコントロールが表示されます。たとえば、次のように表示されます。

一方 XMSL シェーダは、特定のライトを使用するようコード化されていないため、シーンにあるすべてのアクティブなライトを使用します。

ビットマップのサポート

DirectX シェーダのマップ可能なコンポーネントにマップを割り当てる場合、以下のマップ タイプのいずれかを選択できます。

インタフェース

[DirectX シェーダ](DirectX Shader)ロールアウト

シェーダ ボタン

このボタンをクリックして、シェーダを開くファイル ダイアログ ボックスを表示します。既定では、FX フォーマット(Direct3D Effects)がアクティブであり、シェーダは standardfx11.fx です。

XMSL ファイルを開くには、ファイル ダイアログ ボックスの[ファイル タイプ](Files Of Type)ドロップダウン リストからファイル タイプを選択します。

再ロード

このボタンをクリックして、アクティブなシェーダ ファイルを再ロードします。シェーダ ファイルを更新するには、ファイルを編集してから[再ロード](Reload)をクリックします。3ds Max を再起動しなくても、シェーダに加えた変更の効果を確認できます。

ShaderFX を使用(Use ShaderFX)
アクティブな DirectX マテリアルとして現在の ShaderFX シェーダ ツリーを使用する場合にオンにします。

[ShaderFX を使用](Use ShaderFX)がオンのとき、ShaderFX ノード ツリーは、現在の FX または XMSL シェーダを上書きします。

注: [ShaderFX を使用](Use ShaderFX)がオンになっていると、マテリアル エディタの[パラメータ](Parameters)ロールアウトに ShaderFX シェーダ ツリー用のコントロールが表示されます。オフになっていると、ロールアウトには別のアクティブな DirectX シェーダ用のコントロールが表示されます。
ShaderFX を開く(Open ShaderFX)
ShaderFX エディタ ウィンドウを開く場合にクリックします。

ShaderFX エディタについての簡単な説明は、「ShaderFX 入門用のサンプル ワークフロー」を参照してください。また、「ShaderFX ノードについて」、「ShaderFX ノードで作業する」、「ShaderFX グループで作業する」も参照してください。

シェーダ固有のロールアウト

[DirectX シェーダ](DirectX Shader)ロールアウトと[技法](Technique)ロールアウトの間に表示されるロールアウトは、選択したシェーダに対するインタフェースです。これらのロールアウトは、各シェーダに固有のものです。

たとえば、XMSL ファイルを選択すると、シェーダ ツリー内の MetaSL シェーダごとにロールアウトが表示されます。現在のシーンのシェーダの設定をローカルで変更しても、XMSL ファイルは変更されません。

XMSL ファイルを使用した DirectX マテリアルのローカルで編集可能な MetaSL シェーダ ロールアウトの例

3ds Max で使用できないシェーダをロードした場合、パラメータの代わりに、エラー メッセージを示すロールアウトが表示されることがあります。例:

[技法](Technique)ロールアウト

XMSL ファイルには、複数のシェーダを含めることができます。この中から 1 つを開く場合、[技法](Technique)ロールアウトには、マテリアルに使用するシェーダを選択できるドロップダウン リストがあります。

[ソフトウェア レンダリング スタイル](Software Render Style)ロールアウト

DirectX シェーダ マテリアルが適用されているオブジェクトのソフトウェア シェーディングおよびレンダリングを制御するマテリアルを指定します。Nitrous および古いバージョンの Direct3D ビューポートは DX シェーディングを使用します。OpenGL ビューポートは使用しません。Quicksilver ハードウェア レンダラー以外のレンダリングはソフトウェア シェーディングを使用します。

通常は、シーンのどのオブジェクトに DirectX シェーダ マテリアルが適用されているかを明確に識別するマテリアルを選択します。

注: DirectX シェーダ マテリアルには、ソフトウェア シェーディングの固有設定がありません。任意のタイプの 3ds Max マテリアルを使用できます。DX 固有の設定を使用する、前バージョンのシーンには、対応するレンダリング プロパティを含む標準マテリアルが割り当てられます。

システムで DirectX が使用できないにもかかわらず、マテリアル/マップ ブラウザの[互換性なし](Incompatible)オプションを使って DirectX シェーダ マテリアルを割り当てた場合、マテリアル エディタに表示されるのはこのロールアウトだけです。