另一 Circle SOP 作為花瓣原型 → Copy SOP 複製到第一個 Circle 的點上。
Rotate to Vector 讓花瓣朝向徑向(位置向量)。
Merge 花瓣 + 花心 → Geometry COMP。
加入 Constant CHOP 控制「Bloom」(綻放程度)→ 連接至花瓣 Circle 的 Translate X(配合 Anchor 達成由內向外綻放)。
轉成表面(Connectivity → Surface)方便上 PBR 材質。
加入 Noise SOP + Normal(可選折紙感)。
加入 PBR Material(Base Color 用 Ramp 漸層)。
Collapse 成 Base 名為 template_flower。
2. 準備控制資料(CHOP)
Constant CHOP 集中所有全域控制(flower_count、scale 等)。
Noise CHOP × 2(X、Y 位置)→ Samples 設為 flower_count。
Noise CHOP(顏色 Seed)→ 單 sample。
Pattern CHOP(Bloom 綻放序列)→ Length = flower_count。
Merge 所有資料 → Null CHOP 名為 null_flowers(集中管理)。
3. 使用 Replicator 複製
放入 Replicator COMP。
Master Operator → template_flower。
Active → 勾選 flower_count 通道。
在 template_flower 的 Parameters → Custom 加入:
Position (float 2:X/Y)
Bloom (float 1)
Seed (float 1)
開啟 Replicator Callbacks → On Replicate 中寫 Python:
for i, c in enumerate(items):
c.par.Position1.expr = f"op('null_flowers')['posx'][{i}]"
c.par.Position2.expr = f"op('null_flowers')['posy'][{i}]"
c.par.Bloom.expr = f"op('null_flowers')['bloom'][{i}]"
c.par.Seed.expr = f"op('null_flowers')['seed'][0]"
按 Recreate All Operators(或綁 Keyboard In 快捷重置)。
4. 渲染與後期
Render TOP → Geometry 填 *flower*/*(抓所有複製花朵)。
加入 Camera、Light、Environment Light(HDRI from Poly Haven)。