Set Attribute from Map
メニューパス : Attribute > Set <Attribute> From Map
Set Attribute from Map ブロックは、テクスチャからサンプリングしたデータに基づいて値を計算し、これらの値を既定の attribute に構成する、包括的なブロックです。
種々多様な結果を達成するために、ブロックは様々なサンプリングモードを使います。サンプリングモードは、以下の通りです。
- Index、IndexRelative、および Sequential サンプルモードは、パーティクル指数を使ってテクスチャのピクセルをサンプリングします。これらのモードは、様々な方法で Point Caches または Attribute Maps をサンプリングできます。
- Sample2DLOD および Sample3DLOD サンプルモードは、2D と 3D 座標および LOD 要素を使ってテクスチャをサンプリングします。これらのモードは、色や深度など、様々な値の投影に利用できます。
- Random および RandomUniformPerParticle サンプルモードを使うと、Point Caches や Attribute Maps など、テクスチャに格納された値のプールから、ランダム値を取得できます。
ブロックが Texture から値をサンプリングした後には、スケールおよびバイアスも適用できます。例えば、テクスチャに 0 が中央グレーの符号のない標準値が格納されている場合、-0.5 のバイアスを適用して、値をゼロと解釈し直すことができます。
ブロックの互換性
このブロックは、以下のコンテキストと互換性があります。
- Initialize
- Update
- すべての出力コンテキスト
ブロックの設定
設定 | Type | 説明 |
---|---|---|
Attribute | Attribute | (Inspector) 書き込む属性を特定します。 |
Composition | Enum | (Inspector) ブロックが属性をどのように構成するかを特定します。オプションは以下の通りです。 • Set: 位置属性を新しい値で上書きします。 • Add: 新しい値を位置属性値に追加します。 • Multiply: 位置属性値を新しい値で乗算します。 • Blend: 位置属性値と新しい値を補間します。ブレンド要素は 0 と 1 の間に指定できます。 |
Sample Mode | Enum | ブロックが Texture をどのようにサンプリングするかを特定します。オプションは以下の通りです。 • IndexRelative: float ポートから読み込んだ値を使って、ピクセル指数を決定します。入力値は 0..1 の範囲内になり、テクスチャのピクセル数で乗算して、指数を決定します。 • Index: 整数ポートから読み込んだ値をピクセル指数として使います。 • Sequential: パーティクル ID 属性をピクセル指数として使います。 • Sample2DLOD: vector2 入力ポートから提供される座標、および別の入力ポートからの LOD を使って、2D テクスチャをサンプリングします。 • Sample3DLOD: vector3 入力ポートから提供される座標、および別の入力ポートからの LOD を使って、3D テクスチャをサンプリングします。 • Random: ランダムな 2D/3D Position を使って、テクスチャをサンプリングします。 • RandomUniformPerParticle: (パーティクルごとに) 個別の 2D/3D 位置を使って、テクスチャをサンプリングします。 |
Channels | Enum | ブロックがどのチャンネルの属性に影響を与えるかを特定します。このプロパティに含まれないチャンネルには影響を与えません。 この設定はチャンネルを持つ Attribute のみに表示されます。 |
ブロックのプロパティ
Input | Type | 説明 |
---|---|---|
Attribute Map | Texture2D/Texture3D | ブロックがサンプリングするテクスチャです。 |
RelativePos | float | テクスチャ内のピクセル数に比例する、サンプリングする指数です。このプロパティの値は、0 から 1 の範囲になり、ブロックは 0 からテクスチャ内のピクセル合計数 (幅 * 高さ) である N までの範囲にリマップします。 このプロパティは、Sample Mode を Index Relative に設定したときのみ表示されます。 |
Index | uint | サンプルする指数です。このプロパティの値は、0 からテクスチャ内のピクセル合計数 (幅 * 高さ) である N までの範囲になります。 このプロパティは、Sample Mode を Index に設定したときのみ表示されます。 |
Sample Position | Vector2/Vector3 | サンプルする 2D または 3D Texture 内の座標です。 このプロパティは、Sample Mode を Sample2DLOD または Sample3DLOD に設定したときのみ表示されます。 |
LOD | float | サンプルする 2D または 3D Texture の LOD です。 このプロパティは、Sample Mode を Sample2DLOD または Sample3DLOD に設定したときのみ表示されます。 |
Seed | uint | ブロックがランダム値を計算する際に使うシードです。 このプロパティは、Sample Mode を RandomUniformPerParticle に設定したときのみ表示されます。 |
Blend | float | 属性の既存値と新たに計算された値のブレンドパーセンテージです。 このプロパティは、Composition または Alpha Composition を Blend に設定したときのみ表示されます。 |