回答了问题2025-10-17
切换前把当前 emitRate 缓慢插值到 0,切模式后再缓慢插回目标值(避免瞬间粒子激增)。count 不要过大、lifetime 尽量不要设 -1(无限),并给 lifetimeRange 做离散。下面示例演示完整过程与防炸帧配置。
回答了问题2025-10-17
将 AccelerationOptions 的 speed/angle 都设为 CURVE,第一段用向下的角度(重力感),第二段逐步改变 angle 做回旋。注意 velocity 只给一个小初速,主运动由 acceleration 决定。
回答了问题2025-10-17
当 color.updater.type 为 CURVE(或 RANDOM)时,“时间窗内”由 updater.config 优先驱动;超出时间窗后,才回落到 range + distributionType。下面用一个开关来启用/禁用曲线,以直观看到优先级切换:
回答了问题2025-10-17
将 strength / feather、position 等做成 @State,每次变更后重新传入 .disturbanceFields([{ ... }]) 即可生效;feather 越大过渡越柔和,strength 为负就是吸引场(为正是排斥)。下面的代码用两个滑条实时控制这两个参数。
回答了问题2025-10-17
给定多个发射器时,使用 .emitter([{ index, emitRate, position, size }]),其中 index 对应初始化时发射器的数组下标。周期性更新两个 EmitterProperty,即可实现交替点亮而不重建 Particle。下面代码中:初始有 两个发射器(左右各一个),用 setInterval 每 2 秒...
回答了问题2025-10-17
用 @State mode 决定构造的 ParticleOptions,点击切换重渲染即可;为减小突兀,可让旧模式的 emitRate 短暂衰减为 0,再切模式、再缓慢提高新模式的 emitRate。
回答了问题2025-10-17
当 color.updater.type 为 CURVE 或 RANDOM 时,其配置在“时间窗内”优先级高于 range;时间窗外才回退到 range + distributionType 的逻辑。
回答了问题2025-10-17
strength<0 表示吸引,strength>0 表示排斥;feather 控制边界过渡。用手势更新 position,并把新的字段数组传给 .disturbanceFields([...])。
回答了问题2025-10-17
用 PanGesture 获取手指位置,维护 @State emitterProps 并绑定 .emitter(emitterProps),即可动态更新发射器 position。
提出了问题2025-09-18
提出了问题2025-09-18
提出了问题2025-09-18
提出了问题2025-09-18
提出了问题2025-09-18
提出了问题2025-09-18
提出了问题2025-09-18
提出了问题2025-09-18
提出了问题2025-09-18
提出了问题2025-09-17