ビューポート 2.0 の dx11Shader プラグインによってサポートされるセマンティックと注釈

ビューポート 2.0 の dx11Shader プラグインで使用するためにユーザ独自のカスタム シェーダを作成している場合、次のセマンティックと注釈がサポートされます。

サポートされるパラメータ注釈

dx11ShaderNode クラスは、パラメータの次の注釈を探し、作成時に関連情報を MUniformParameter クラスに送ります。

名前 タイプ 説明
UIOrder int アトリビュート エディタ(Attribute Editor)でパラメータの順序を変更できます。これは特に、コンパイラから返されるパラメータの順序が常に FX ファイルの宣言の順序に従っているわけではないため便利です。UIOrder が最小のパラメータが AE の最上位に示され、UIOrder が増えると他のパラメータが追加されます。
UVEditorOrder int UV テクスチャ エディタ(UV Texture Editor)でテクスチャの順序を変更できます。UVEditorOrder が最小のテクスチャ パラメータが、最初にテクスチャ(Textures)メニューに表示されます。
UIGroup string 同じ UIGroup アトリビュートを持つすべてのパラメータが、集約可能な別のパネルに並べられ、そのラベルは UIGroup 値になります。パネルは、UIOrder 値が最小のグループ パラメータの位置に挿入されます。
オブジェクト(Object) string ライトのすべてのパラメータを定義できます。アトリビュート エディタ(Attribute Editor)パラメータ レイアウト レベルで、パネルが既定で集約されることを除き、この注釈は UIGroup 注釈としてまったく同じように機能します。個別のオブジェクトごとにドロップダウン メニューが作成され、既存の Maya シーン ライトに簡単に接続することができます。
UIName string UI のパラメータの名前を変更できます。既定では、変数名が表示されます。

SasUiVisible

UIType

UIWidget

bool

string

string

UI での変数の可視性を制御します。2 つの文字列注釈の場合、値が「None」の場合に変数が非表示になります。これは UIType 注釈で現在認識される唯一の値です。

SasUiMin

UIMin

uimin

float/int

(パラメータと同じ)

最小範囲値。

SasUiMax

UIMax

uimax

float/int

(パラメータと同じ)

最大範囲値。

UISoftMin

uisoftmin

float/int

(パラメータと同じ)

範囲の最小スライダ値。UISoftMin より小さい値(ただし、指定されている場合は UIMin より大きい値)をパラメータの数値入力に入力できます。

UISoftMax

uisoftmax

float/int

(パラメータと同じ)

範囲の最大スライダ値。UISoftMax より大きい値(ただし、指定されている場合は UIMax より小さい値)をパラメータの数値入力に入力できます。

UIFieldNames int

アトリビュート値で見つかった設定を使用して、int パラメータのドロップダウン メニューを作成します。

形式は MEL コマンド「attributeQuery -listEnum」と同じです。この形式は、等号記号「=」で分けられたインデックス値を指定できる、コロン「:」で区切られたフィールド名の文字列です。インデックスは 0 から始まり、アイテムのインデックス値は、明示的に指定されない場合、以前のアイテム(ある場合)が 1 ずつ増分されるインデックスになります。

たとえば、"Shaded:Wireframe=8:Bounding Box"では、値が 0、8、および 9 の 3 つのアイテムが定義されます。

ResourceName

SasResourceAddress

string

既定のテクスチャ ファイル名。エフェクトを設定すると、プラグインでテクスチャが自動的にロードおよび接続されます。

TextureType

ResourceType

string

変数が texture[1D|2D|3D|Cube]ではなく、未指定のテクスチャとして記述されている場合、この注釈を使用してテクスチャ タイプを指定できます。有効な値は、「1D」、「2D」、「3D」、「Cube」です。

Space string

位置と方向のセマンティックに既定のスペースを指定できます。有効な値は、「Object」、「World」、「View」、「Camera」です。

ライト固有のセマンティック

MUniformParameter クラスで現在サポートされているすべてのセマンティックに加え、dx11ShaderNode でライト固有の注釈が追加されます。ライトが Maya で駆動されると、描画コンテキストからのライト情報を使用して、サポートされるすべてのパラメータの値が書き込まれます。サポートされないパラメータは、シェーダで検出された値のままになります。つまり、ポイント ライトに接続すると、位置パラメータは駆動されますが、方向パラメータは駆動されません。

セマンティック タイプ Maya ライト パラメータ 説明(Description)

LightColor、Color、

LightDiffuseColor、Diffuse、LightAmbientColor、Ambient、

LightSpecularColor、Specular

float3 カラー 値はライトの強度でプリマルチプライされません。
LightIntensity float 強度  
LightEnable bool 既定では、照らす(Illuminate) グローバル ライト設定を含むライトの可視性に従います。true の場合、Maya ライトがアクティブになり、表示されます。
LightType int どのライト タイプに接続されている場合でも正しく反応できる汎用ライト コードを作成できます。有効な値は次のとおりです。

2: スポット(Spot)

3: ポイント(Point)

4 - ディレクショナル(Directional) 5 - アンビエント(Ambient)

6: ボリューム(Volume)

7: エリア(Area)

Position float3   ポイント ライト、スポット ライト、エリア ライト、およびボリューム ライトの位置。リファレンス空間を注釈で指定できます。
Direction float3   ディレクショナル ライトとスポット ライトの方向。リファレンス空間を注釈で指定できます。
Hotspot float 円錐角度/周縁部の角度 スポット ライトの場合、ラジアンで表された半角。Hotspot は ConeAngle および(ConeAngle+PenumbraAngle)の最小値として計算されます。

LightFalloff

Falloff

float 円錐角度/周縁部の角度 スポット ライトの場合、ラジアンで表された半角。Falloff は ConeAngle および(ConeAngle+PenumbraAngle)の最大値として計算されます。
DecayRate float 減衰率(Decay Rate)

スポット ライト、ポイント ライト、エリア ライト、ボリューム ライトの場合、指数として表されます。

Maya は次の値を提供します。

0.0: 減衰なし(No Decay)

1.0: 一次(Linear)

2.0: 二次(Quadratic)

3.0: 三次(Cubic)

ShadowFlag bool 各種 true の場合、ライトは、サーフェスで受像することができるシャドウをキャストします。この値は、グローバルなシャドウ(Shadows)が有効になっていて、ライトの深度マップ シャドウの使用(Use Depth Map Shadows)がオンで、かつサーフェスのシャドウの受像(Receive Shadows)がオンの場合にのみ true になります。
ShadowColor float3 シャドウ カラー(Shadow Color)  
ShadowMap Texture2D   Maya で計算された深度マップ シャドウ テクスチャが含まれます。
ShadowMapBias float dmapBias  

ShadowMapMatrix

ShadowMapXForm

float4x4   ライトの変換行列を表示します。

サポートされるテクニック注釈

名前 タイプ 説明
index_buffer_type string

インデックス バッファ ジェネレータと mutator プラグインでカスタムのプリミティブ タイプを指定できます。dx11Shader プロジェクトには、「PNAEN9」(三角形と隣接エッジ)、「PNAEN18」(三角形、隣接エッジ、ドミナント エッジ、ドミナント頂点)の値が使用されているときに、隣接エッジ法線を使用するポイント法線三角形(PN AEN)インデックス バッファを生成できる mutator が含まれます。

texture_mipmaplevels

int

このテクニックを使用しているときにテクスチャを生成およびロードする mip マップ レベルを指定します。

0 の値は、可能なすべてのレベルをロードすることを表します。

isTransparent int Maya で適切なパスとカリングを使用できるエフェクトの不透明度を指定します。サポートされる値は以下のとおりです。

0: テクニックは常に不透明です。

1: テクニックは常に透明です。

2: テクニックの不透明度は「Opacity」セマンティックを持つ float パラメータに関連付けられ、不透明度の値が 1.0 未満の場合は透明になります。

テクスチャ固有の注釈

名前 タイプ 説明
mipmaplevels int

デザインされたテクスチャを生成およびロードする mip マップ レベルを指定します。

この値は、テクニックの値セットよりも優先されます。

サポートされるパス注釈

エフェクトでは、シャドウの深度マップを描画する場合など、テクニックのパスの一部を特殊なコンテキストでアクティブにすることを要求できます。これは、パスをアクティブにできるコンテキストを指定する、「drawContext」という名前の文字列注釈を追加して行われます。

「colorPass」、「shadowPass」、「depthPass」、「normalDepthPass」のコンテキストがサポートされます。

グローバル セマンティック

名前 タイプ 説明
MayaSwatchRender bool

現在のレンダリング プロセスがスウォッチの描画であるタイミングを指定します。

ユーザは、スウォッチを描画するときに特定のパスを処理できます。