Set Position (Signed Distance Field)
メニューパス : Position > Set Position (Signed Distance Field)
Set Position (Signed Distance Field) ブロックは、入力フィールド (SDF) に基づいて位置を計算し、構図に基づいてその結果を position 属性 に格納します。
このブロックは SDF の Surface、Volume、または Thick Surface のいずれかから位置を計算することができます。なお、厚みは形状のサイズに比例するか、または絶対値にすることが可能です。
またこのブロックは、形状における計算された位置を基に、方向ベクトルも計算し、構図に基づいて direction 属性 に格納します。この方向は、計算されたパーティクルの位置における、サーフェスの法線と等しいです。
ノート: Velocity from Direction and Speed ブロックがその後、方向属性を処理します。
Example.gif)
ブロックの互換性
このブロックは、以下のコンテキストと互換性があります。
- Initialize
- Update
- すべての出力コンテキスト
ブロックの設定
| 設定 | Type | 説明 |
|---|---|---|
| Position Mode | Enum | ブロックが形状をどのように使って位置を計算するかを特定します。オプションは以下の通りです。 • Surface: 形状のサーフェスのみで位置を計算します。 • Volume: 形状の全体積内で位置を計算します。 • Thickness Absolute: 指定された絶対的な厚みを持つ、厚いサーフェス上の位置を計算します。 • Thickness Relative 最大軸の所定のパーセンテージとして、厚いサーフェスで位置を計算します。 |
| Spawn Mode | Enum | ブロックがどのように形状の弧に沿ってパーティクルを分布するかを特定します。 • Random: 円弧上のパーティクルごとのランダムなプログレス (0..1) を計算します。 • Custom: Arc Sequencer プロパティポートで、プログレスを特定できます。 |
| Kill Outliers | Bool | (Inspector) サーフェス/体積に付着していないパーティクルを消滅させるかを示します。 |
| Projection Steps | uint | (Inspector) ブロックがパーティクルを SDF のサーフェスに投影するために使う、ステップの数です。これはパフォーマンスに影響する可能性がありますが、外れ値が少なくなります。 |
ブロックのプロパティ
| 入力 | Type | 説明 |
|---|---|---|
| Box | AABox | 位置を計算する形状を決定する、Axis-Aligned Box (軸平行ボックス) です。 |
| Thickness | float | 位置を計算する形状のサーフェスの厚みです。 このプロパティは、Position Mode を Thickness Relative または Thickness Absolute に設定したときのみ表示されます。 |
| Arc Sequencer | float | パーティクルを発生させる円弧内の位置です。 このプロパティは、Spawn Mode を Custom に設定したときのみ表示されます。 |
ノート
このブロックは、SDF の最大軸に基づいて、相対的厚みを計算します。SDF の最大軸は、必ずしも SDF が示すオブジェクトのサイズと同等ではありません。このため、たとえ相対的厚みが 1 より小さい場合でも、ブロックが計算する位置が、形状の体積全体の内部になる場合があります。