Composer粒子发射器能动态改emitRate,但需先手动修改属性值再设关键帧,否则关键帧无效;多发射器关键帧独立,复制时须先选中目标轨道;emitRate插值需调曲线防突增/断发;相机与粒子关键帧可手动对齐或用表达式联动。

Composer 里粒子发射器不能动态改 emitRate?
不是不能,是没触发“动作变更”——Composer 的粒子发射器关键帧只记录开关、位置、速率等属性的**变化瞬间**,不记录静止值。你直接在时间轴上点“设置发射速率关键帧”,但之前没调过 emitRate,它就记了个空壳。
实操必须分两步:
- 先把时间轴拖到目标帧(比如第30帧),选中粒子发射器节点
- 在属性面板手动改一次
emitRate值(哪怕从10改成11再改回10),再点“设置关键帧”按钮 - 同理,改
position或size也得先拖动/输入新值,再点关键帧
漏掉“手动改值”这步,关键帧在曲线编辑器里显示为灰色菱形,播放时完全无效。
多个粒子发射器共用一个关键帧轨道?
不会。Composer 中每个发射器是独立图层节点,关键帧默认绑定在对应发射器轨道上。但容易踩坑的是:当你复制粘贴关键帧时,Ctrl+V 默认粘贴到当前选中的轨道,而不是源轨道。
常见错误场景:
- 你复制了 Emitter_01 的
emitRate关键帧,但粘贴前没选中 Emitter_02 轨道 → 关键帧覆盖到 Emitter_01 自己身上 - 想把 Emitter_01 的速率变化逻辑复用到 Emitter_02,必须先在装配树中单击选中 Emitter_02,再
Ctrl+V - 若要批量同步多个发射器的速率曲线,建议用表达式链接(如
Emitter_02.emitRate = Emitter_01.emitRate * 0.8),比复制关键帧更可靠
关键帧插值导致粒子突增或断发?
是的。默认线性插值会让 emitRate 在两个关键帧之间匀速过渡,比如从 0→200,第1帧还是0,第2帧突然跳到200,粒子就“炸”一下;反过来从200→0,第1帧还在喷,第2帧立刻停,看起来像断发。
解决方法只有调曲线:
- 打开曲线编辑器,右键关键帧 → 选择
Easy Ease In(缓入)或Easy Ease Out(缓出) - 对速率类属性,推荐手动拖动贝塞尔控制点,让曲线起始斜率≈0(避免突增),结束斜率≈0(避免骤停)
- 不要依赖“自动缓动”,Composer 的
Easy Ease对emitRate这类离散型参数响应偏生硬,需微调
粒子动画对速率变化敏感,插值曲线没调准,比关键帧数量不足影响更大。
照相机关键帧和粒子发射器关键帧能联动吗?
不能自动联动,但可以手动对齐。比如你想让镜头推近时粒子喷发增强,就得把照相机关键帧和发射器的 emitRate 关键帧放在**同一时间点**,且确保两者插值节奏匹配。
否则会出现视觉脱节:
- 镜头在第25帧开始推进(缓入),但
emitRate关键帧在第25帧是线性跳变 → 粒子“炸”得比镜头快,观感割裂 - 正确做法:两个关键帧都设在第25帧,都用
Easy Ease In,并检查曲线坡度是否接近 - 进阶技巧:用照相机的
zoom值驱动emitRate表达式,例如emitRate = 50 + camera.zoom * 2,彻底解除时间耦合
粒子动画的真实感,往往卡在关键帧之间那条没人调的曲线里。


















