Field Shapes
図形を「絵」ではなく**「場の源」**として使うノードです。各図形のSDF(符号付き距離)の勾配、つまり表面から外向きの単位ベクトルを場として出力し、exp(-|d| × 3) で表面から離れるほど減衰させます。Strengthが正なら押し出し、負なら吸い込みになります。図形はそれぞれリサージュ軌道を描き、軌道の速度と初期位相はSeedから決まります。
- Shape — Circle(初期値)/ Heart / Star / Ring のドロップダウン。HeartとStarはInigo QuilezのSDF、Ringは太さ0.25の輪
- Count — 図形の数。1〜16にクランプ、初期値3(シェーダー側のループ上限も16)
- Size — 0.02〜1にクランプ、初期値0.25。UV基準の大きさ。画面のアスペクト比で補正されるので正円を保ちます
- Strength — -2〜2にクランプ、初期値0.5(
Strength入力 /strengthInput/currentStrength) - Phase — 図形の運動位相(
Phase入力 /phaseInput/currentPhase)。クランプなし - Seed — 整数。新規作成時は実行時の値から自動で決まる乱数
Phaseは内部で自動的に進みません。 Field Noise と違って時間を積分していないので、Phaseを動かさないかぎり図形は止まったままです。動かすには LFO などをPhaseに繋いでください。
出力解像度はグローバル解像度の1/4、フォーマットはRGHalfです。
動画
入力ポート
| Port ID | 型 |
|---|---|
Phase | float |
Strength | float |
出力ポート
| Port ID | 型 |
|---|---|
Flow | FlowFieldOutput |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
phaseInput | float |
strengthInput | float |
currentCount | int |
currentSize | float |
currentStrength | float |
currentPhase | float |
currentSeed | int |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "FieldShapes" }) 






