Creating User Interfaces for Effects Parameters(エフェクト パラメータ用のユーザ インタフェースの作成)

 
 
 

エフェクトファイル(.cgfx または .fx)に定義されたパラメータにより、Render Tree にロードされるときに、ユーザ インタフェースが動的に生成されます。SAS にバインドされないすべてのグローバル変数は、特に指定されていない限り、シェーダのプロパティ エディタに自動的に表示されます。

ユーザ インタフェースは、アノテーションを使用してエフェクト ファイルに定義されます。アノテーションは変数のリストでは、値は宣言の直後の山括弧で示されます。エフェクト ファイル フォーマットでは、どのような方法でもアノテーションの意味は解釈されません。つまり、アノテーションには、Softimage で使用するパラメータに追加情報を追加することができます。

特に、[UIWidget]または[SasUiControl]変数を定義するアノテーションは、適切なユーザ インタフェースコントロールを生成するために使用されます。アーティストは、このユーザ インタフェース コントロールを使用してパラメータ値を調整できます。"Color" や "Slider" のコントロール タイプを指定できます。ユーザ インタフェースが必要ない場合は、「None」を指定します。

エフェクト シェーダによって要求されるテクスチャ イメージ ノードは、テクスチャ サンプラに [ResourceType] を定義している場合、自動的に作成され、シェーダ ノードに接続されます。

ヒント:あるいは、プラグイン スクリプトを使用してプロパティ エディタのインタフェースをコントロールすることができます。例については、インストール場所の Addons¥RTUserTools¥Application¥Plugins フォルダにある rts_fixup.js を参照してください。

スカラ値の "Slider" コントロール

float SpecularPower
<
	string UIWidget = "Slider";
	string UIName = "Specular Power";
	float UiMin = 1;
	float UiMax = 200;
> = 20.0f;

カラー値の "Color" コントロール

float3

R、G、B の各カラー チャンネルのスライダを定義します。

float4

R、G、B、A の各カラー チャンネルのスライダを定義します。

float3 SpecularColor
<
	string UIWidget = "Color";
	string UIName = "Specular";
> = {1.0f, 1.0f, 1.0f};

ディスク上のイメージのテクスチャ クリップ コントロール

ResourceType = "2D"、"3D" および "Cube"

texture2D AlbedoMap
<
	string ResourceName = "default_surface_map.png";
	string ResourceType = "2D";
>;
sampler2D AlbedoSampler = sampler_state
{
	Texture = <AlbedoMap>;
	MinFilter = LinearMipMapLinear;
	MagFilter = Linear;
	WrapS = Repeat;
	WrapT = Repeat;
};