ShaderFX エディタでノードを作成する場合は、アトリビュート エディタ(Attribute Editor)にアトリビュートとしてエクスポーズすることができます。この方法では、ShaderFX エディタを開かずにその値を微調整することができます。
ShaderFX エディタが開いている状態で、ノードを選択し、ShaderfxShader アトリビュート エディタ(Attribute Editor)から Expose as Material Input をクリックします。
ShaderFX エディタを閉じると、アトリビュートはアトリビュート エディタ(Attribute Editor) (ShaderfxShader タブ)の Attributes セクションで使用できます。このアトリビュートを調整すると、シーン内でリアル タイムに更新を確認することができます。
既定では、Expose As Material Input が有効になっているすべてのノードはアトリビュート エディタ(Attribute Editor)でエクスポーズされ、Attributes 下にグループ化されます。体系的にするために各ノードにグループ名を指定することができ、各ノードはアトリビュート エディタ(Attribute Editor)で独自のグループの下に一覧表示されます。
この例では、グループ名 MyGroupColor が Color に追加され、MyGroupVal が Float に追加されています。各ノードの Expose as Material Input アトリビュートは有効になっています。
ShaderFX エディタを閉じると、Color はカテゴリ MyGroupColor にエクスポーズされ、Val はカテゴリ MyGroupVal にエクスポーズされます。
Advanced Mode では、いくつかのノードに Expose as Setting というオプションもあります。
このオプションを有効にすると、パラメータは、アトリビュート エディタ(Attribute Editor)の Settings セクションで使用できます。
Settings はAttributes とは異なり、設定の新しい値に基づいてシェーダの再生成をトリガしますが、アトリビュートでは既存のシェーダ内の値の更新のみを行います。
多くの場合で設定は、特定の条件に基づいてグラフ内で取るパスを決定するために、Path Direction または Skip と共に使用されます。たとえば、テッセレーションまたは不透明度の使用を有効化または無効化する場合です。
この例では、Bool Value ノードが作成されて、その目的を適切に反映するように名前が UseTexture に変更されます。Expose as Setting アトリビュートが有効になり、ShaderFX エディタを閉じるときに、アトリビュート エディタ(Attribute Editor)の Settings セクションで値を true または false に設定できるようになります。UseTexture を true に設定すると、TextureMap で拡散カラーを提供します。false に設定すると、Color で拡散カラーを提供します。