[解决方法]Niagara特效整体缩放问题

在场景中尝试缩放特效时发现,粒子竟然不会和特效一起整体缩放,这就导致缩放特效会直接破坏特效效果。我找到一个英文帖子,很好地解决了问题,特此搬运到中文社区。

原帖链接:Scale a niagara particle system

正常效果:

缩放后效果:

可以看到粒子大小没有与特效统一缩放,效果完全改变。

方法1

  1. 勾选Emitter Properties里的Local Space选项(此方法仅适用于本地空间的特效,世界空间特效不可用)

    Screenshot 2024-10-21 104530

  2. 创建一个Niagara Modular Script,按照链接连接节点Niagara System scale modular script posted by anonymous | blueprintUE | PasteBin For Unreal Engine (可以直接复制,我不知道具体操作),也可以根据图片自己连。

    逻辑很简单:获取特效物体的XYZ缩放值,将XY的值与粒子大小(Spirit Size)相乘,将X的值与彩带宽度(Ribbon Width)相乘,粒子就会随着特效统一缩放了。

  3. 将写好的Niagara Modular Script拖到所有Emitter中,建议放在Initialize Particle之下。

    Screenshot 2024-10-21 102152

  4. 保存特效,拖入场景测试效果,期望效果是粒子可以随特效一起缩放。

方法2

Niagara其实自带一个Module可以应用特效缩放,叫做 “Apply Owner Scale to Attributes”,从 “Particle Update”中添加。

我在测试这个方法的时候遇到了一个小问题:我用来测试的特效使用了Death Event,导致这个模块的缩放出现问题。

具体说明和解决办法:“Apply Owner Scale to Attributes”模块缩放错误问题