Collection Parameters
Collection Parameter 式は、マテリアル パラメータ コレクション アセットの参照に使用します。 これらは、マテリアル、ブループリントなどのさまざまなアセットで簡単に再利用できるパラメータ グループです。
これらを使用すると、パラメータ コレクション内のグローバル値を一度変更することで、コレクションを参照する複数のマテリアルにその値を伝播させることができます。 詳細については、「マテリアル パラメータ コレクション」を参照してください。
1 つのマテリアルは、最大 2 つの異なる MaterialParameterCollections を参照することができます。 1 つは通常、ゲーム全体の値として使用され、 もう 1 つは、レベル固有のパラメータとして使用できます。 1 つのコレクションは、最大で 1024 個のスカラー パラメータと 1024 個のベクター パラメータを保持できます。
DynamicParameter
DynamicParameter 式は、パーティクル エミッタが任意の方法で使用されるマテリアルに最大 4 つの値を渡すためのコンジットを提供します。 これらの値は、エミッタに配置された ParameterDynamic モジュールを介して Niagara で設定されます。
| プロパティ | 説明 |
|---|---|
Param Names | パラメータ名の配列です。 この値は、マテリアル エディタの式の出力に表示されるテキストを決定し、Niagara の ParameterDynamic モジュールのパラメータを参照するために使用される名前になります。 |
Default Value | パラメータが出力する初期値 (Vector4) を指定します。 |
| 出力 | |
Param1 | Param names プロパティの最初のパラメータの値を出力します。 この出力の名前は、Param Names プロパティの値に基づいて変更できます。 |
Param2 | Param names プロパティの 2 番目のパラメータの値を出力します。 この出力の名前は、Param Names プロパティの値に基づいて変更できます。 |
Param3 | Param names プロパティの 3 番目のパラメータの値を出力します。 この出力の名前は、Param Names プロパティの値に基づいて変更できます。 |
Param4 | Param names プロパティの 4 番目のパラメータの値を出力します。 この出力の名前は、Param Names プロパティの値に基づいて変更できます。 |
FontSampleParameter
FontSampleParameter 式は、マテリアル インスタンス定数でフォントに基づくパラメータを公開する手段を提供することにより、さまざまなインスタンスで異なるフォントを簡単に使用できます。 フォントのアルファ チャンネルには、フォントのアウトラインの値が格納されます。 有効なフォント ページのみを指定できます。
| 項目 | 説明 |
|---|---|
| プロパティ | |
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Font | 式内で保持する (コンテンツ ブラウザの) デフォルトのフォント アセットを保持します。 |
Font Texture Page | テクスチャの一部として使用する現在のフォントのテクスチャ ページです。 |
ScalarParameter
ScalarParameter 式は、マテリアル インスタンス内またはブループリントやコードによってオンザフライでアクセスして変更できる単精度浮動小数点値 (定数) を出力します。
| プロパティ | 説明 |
|---|---|
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Default Value | 定数が受け取る初期値を指定します。 |
スカラー パラメータの値を更新し、マテリアルを再コンパイルすることなく結果をすぐに確認できます。
0 から 10 に更新されるスカラー パラメータ。
静的スイッチパラメータ
StaticSwitchParameter 式は 2 つの入力を取り、パラメータの値が true の場合は最初の入力を、それ以外の場合は 2 番目の入力を出力します。
このパラメータは、ランタイム時に変更できないため、「static (スタティック)」という名前が付けられます。これは、マテリアル インスタンス エディタでのみ設定できます。 スタティック スイッチは、ランタイム時ではなくコンパイル時に適用されます。 つまり、マテリアルのブランチが削除された場合、それは実行されないため、ランタイム時にスタティック スイッチによる負荷は発生しません。 一方、新しいバージョンのマテリアルは、マテリアルのスタティック パラメータを使用する組み合わせごとにコンパイルする必要があります。そのため、これを多用するとシェーダーの順列が大幅に増加する可能性があります。 そのため、マテリアルのスタティック パラメータの数と、実際に使用されるスタティック パラメータの順列数を最小限に抑えるようにしてください。
| プロパティ | 説明 |
|---|---|
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Default Value | true の場合、最初の入力が出力されます。 それ以外の場合、2 番目の入力が出力されます。 |
Extended Caption Display | true の場合、式のタイトル バーに式の値が表示されます。 |
| 入力 | |
A | 任意の数のチャンネルの値を受け取ります。 |
B | 任意の数のチャンネルの値を受け取ります。 |
使用例:スタティック スイッチを使用すると、ランタイム コストなしでマテリアルのブランチ全体を削除できます。 マテリアル インスタンスは異なる値を持つことができ、パフォーマンスを損なうことなくテンプレート化されたシェーダーを設定できます。
True から False に更新されるスタティック スイッチ。
スタティック ブール パラメータ
StaticBoolParameter は、ブール値のパラメータのみを作成し、スイッチは実装しないこと以外は、StaticSwitchParameter と同様に機能します。 StaticBoolParameter を使用すると、マテリアル関数のブール値入力にデフォルト値を渡すことができます。
| プロパティ | 説明 |
|---|---|
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Default Value | パラメータのデフォルトのブール値。True (オン) または False。 |
スタティック スイッチはコンパイル時 (ランタイム時ではない) に適用されます。つまり、マテリアル インスタンス エディタでパラメータをオーバーライドできますが、ゲームプレイ時に変更することはできません。 マテリアルのブランチが削除されても実行されないため、ランタイム時にスタティック スイッチによる負荷はほぼ発生しません。 一方、新しいバージョンのマテリアルは、マテリアルのスタティック パラメータを使用する組み合わせごとにコンパイルする必要があります。そのため、これを多用するとシェーダーの順列が大幅に増加する可能性があります。 そのため、マテリアルのスタティック パラメータの数と、実際に使用されるスタティック パラメータの順列数を最小限に抑えるようにしてください。
このノードは MaterialFunctions で使用します。
静的コンポーネントマスクパラメータ
StaticComponentMaskParameter 式は、マテリアル インスタンス内のマスク値をオーバーライドできる点を除き、通常のコンポーネント マスクと同様に動作します。
このパラメータは、ランタイム時に変更できないため、「static (スタティック)」という名前が付けられます。これは、マテリアル インスタンス エディタでのみ設定できます。 スタティック スイッチは、ランタイム時ではなくコンパイル時に適用されます。 つまり、マテリアルのブランチが削除されても実行されないため、ランタイム時にスタティック スイッチによる負荷はほぼ発生しません。 一方、新しいバージョンのマテリアルは、マテリアルのスタティック パラメータを使用する組み合わせごとにコンパイルする必要があります。そのため、これを多用するとシェーダーの順列が大幅に増加する可能性があります。 そのため、マテリアルのスタティック パラメータの数と、実際に使用されるスタティック パラメータの順列数を最小限に抑えるようにしてください。
| プロパティ | 説明 |
|---|---|
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Default R | オンであれば、入力値の赤、つまり 1 番目のチャンネルが出力に渡されます。 |
Default G | オンであれば、入力値の緑、つまり 2 番目のチャンネルが出力に渡されます。 |
Default B | オンであれば、入力値の青、つまり、3 番目のチャンネルが出力に渡されます。 |
Default A | オンであれば、入力値のアルファ、つまり、4 番目のチャンネルが出力に渡されます。 |
使用例:スタティック コンポーネント マスクを使用すると、インスタンスが使用するマスク テクスチャのチャンネルを指定できます。 マスクがスタティック (ランタイム時に変更が不必要) な場合、チャンネルをマスクするためにベクター パラメータでテクスチャ ルックアップを乗算するのではなく、常にこのアプローチを使用する必要があります。後者のアプローチではテクスチャ帯域幅とシェーダー命令が無駄になるためです。
オンになっているチャネルは出力に渡され、オフになっているチャネルは破棄されます。
VectorParameter
VectorParameter 式はマテリアルのインスタンスおよびコードを介して変更できるパラメータであること以外は、Constant4Vector と同じです。 VectorParameter の優れた点の 1 つは、カラー ピッカーを使用して値を設定できることです。
| 項目 | 説明 |
|---|---|
| プロパティ | |
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Default Value
| マテリアル インスタンス定数によってオーバーライドされない限り、デフォルトで出力するベクターです。
|
VertexColor は、補間が限られているため、Transform ノードと相互に排他的な関係となっています。 Transform ノードと VertexColor を両方使用すると、VertexColor はすべて白になります。
プログラマー:スプライト パーティクルの場合、色は頂点ごとにシェーダーに伝えられますが、メッシュ パーティクルの色はシェーダー定数として設定されます。
TextureObjectParameter
TextureObjectParameter 式は、テクスチャ パラメータを定義し、テクスチャ オブジェクトを出力します。 この式は、テクスチャ入力のあるマテリアル関数にテクスチャ パラメータを渡すために頻繁に使用されます。 Material Function ノードの Texture 入力は、TextureSample 2D ノードの Float3 データとは互換性がないため、Texture Object (T2d) が必要です。 このノードは実際にテクスチャをサンプリングしないため、TextureSample ノードと組み合わせて使用する必要があります。
| プロパティ | 説明 |
|---|---|
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Texture | 式によってサンプリングされたテクスチャを指定します。 |
Sampler Type | ノードからサンプリングおよび出力されるデータ タイプです。 |
MipValueMode | サンプルのミップレベルまたはデフォルト ハードウェアで計算された派生物をカスタマイズする方法を選択します。 外観とパフォーマンスに影響します。 |
このノードは MaterialFunctions で使用します。
TextureSampleParameter2D
TextureSampleParameter2D 式はマテリアルのインスタンスやブループリントまたはコードで変更できるパラメータであること以外は、TextureSample と同じです。
| プロパティ | 説明 |
|---|---|
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Texture | 式によってサンプリングされたテクスチャを指定します。 |
Sampler Type | ノードからサンプリングおよび出力されるデータ タイプです。 |
MipValueMode | サンプルのミップレベルまたはデフォルト ハードウェアで計算された派生物をカスタマイズする方法を選択します。 外観とパフォーマンスに影響します。 |
| 入力 | |
UVs | テクスチャに使用する UV テクスチャ座標を受け取ります。 UV に値が入力されていない場合、マテリアルが適用されているメッシュのテクスチャ座標が使用されます。 |
| 出力 | |
RGB | 色の 3 チャンネル RGB ベクター値を出力します。 |
R | 色の赤チャンネルを出力します。 |
G | 色の緑のチャンネルを出力します。 |
B | 色の青チャンネルを出力します。 |
A | 色のアルファ チャンネルを出力します。 テクスチャにアルファ チャンネルが含まれていない場合でも、厳密には不正ではないため、その「アルファ」チャンネルを何かに接続することは可能です。その場合、結果は常にゼロ (黒) になります。 |
TextureSampleParameterSubUV
TextureSampleParameterSubUV 式はマテリアルのインスタンスおよびコードを介して変更できるパラメータであること以外は、ParticleSubUV と同じです。
| 項目 | 説明 |
|---|---|
| プロパティ | |
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Blend | あるフレームから次のフレームに瞬時に「ポップ」するのではなく、SubUV スプライト レイアウトの各フレームをブレンドします。 |
Texture | 式によってサンプリングされたテクスチャを指定します。 |
Sampler Type | ノードからサンプリングおよび出力されるデータ タイプです。 |
MipValueMode | サンプルのミップレベルまたはデフォルト ハードウェアで計算された派生物をカスタマイズする方法を選択します。 外観とパフォーマンスに影響します。 |
| 入力 | |
UVs | UV 入力は無視され、何も行われません。 |
| 出力 | |
RGB | 色の 3 チャンネル RGB ベクター値を出力します。 |
R | 色の赤チャンネルを出力します。 |
G | 色の緑のチャンネルを出力します。 |
B | 色の青チャンネルを出力します。 |
A | 色のアルファ チャンネルを出力します。 テクスチャにアルファ チャンネルが含まれていない場合でも、厳密には不正ではないため、その「アルファ」チャンネルを何かに接続することは可能です。その場合、結果は常にゼロ (黒) になります。 |
TextureSampleParameterCube
TextureSampleParameterCube 式は、キューブマップのみを受け取る点と、マテリアルのインスタンスおよびコードを介して変更できるパラメータである点を除いて、TextureSample と同じです。
| プロパティ | 説明 |
|---|---|
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Texture | 式によってサンプリングされたテクスチャを指定します。 |
Sampler Type | ノードからサンプリングおよび出力されるデータ タイプです。 |
MipValueMode | サンプルのミップレベルまたはデフォルト ハードウェアで計算された派生物をカスタマイズする方法を選択します。 外観とパフォーマンスに影響します。 |
| 入力 | |
UVs | テクスチャに使用する UV テクスチャ座標を受け取ります。 UV に値が入力されていない場合、マテリアルが適用されているメッシュのテクスチャ座標が使用されます。 この入力は 2 チャンネルのベクター値を受け入れます。 |
| 出力 | |
RGB | 色の 3 チャンネル RGB ベクター値を出力します。 |
R | 色の赤チャンネルを出力します。 |
G | 色の緑のチャンネルを出力します。 |
B | 色の青チャンネルを出力します。 |
A | 色のアルファ チャンネルを出力します。 テクスチャにアルファ チャンネルが含まれていない場合でも、厳密には無効ではないことから、その「アルファ」チャンネルを何かに接続することは可能です。その場合、結果は常にゼロ (黒) となります。 |
TextureSampleParameterMovie
TextureSampleParameterMovie 式は、ムービー テクスチャ (Bink ムービー) のみを受け取る点と、マテリアルのインスタンスおよびコードを介して変更できるパラメータである点を除き、TextureSample と同じです。
| プロパティ | 説明 |
|---|---|
Parameter Name | マテリアルのインスタンスおよびコードを通じて、パラメータの識別に使用する名前を指定します。 |
Group | MaterialInstanceConstant 内でパラメータ名をグループまたはカテゴリに整理することができます。 同じグループ プロパティ名を持つマテリアル内のすべてのパラメータは、インスタンス エディタのそのカテゴリにリストされます。 |
Texture | 式によってサンプリングされたテクスチャを指定します。 |
Sampler Type | ノードからサンプリングおよび出力されるデータ タイプです。 |
MipValueMode | サンプルのミップレベルまたはデフォルト ハードウェアで計算された派生物をカスタマイズする方法を選択します。 外観とパフォーマンスに影響します。 |
| 入力 | |
UVs | テクスチャに使用する UV テクスチャ座標を受け取ります。 UV に値が入力されていない場合、マテリアルが適用されているメッシュのテクスチャ座標が使用されます。 |
| 出力 | |
RGB | 色の 3 チャンネル RGB ベクター値を出力します。 |
R | 色の赤チャンネルを出力します。 |
G | 色の緑のチャンネルを出力します。 |
B | 色の青チャンネルを出力します。 |
A | 色のアルファ チャンネルを出力します。 テクスチャにアルファ チャンネルが含まれていない場合でも、厳密には不正ではないため、その「アルファ」チャンネルを何かに接続することは可能です。その場合、結果は常にゼロ (黒) になります。 |