在场景中尝试缩放特效时发现,粒子竟然不会和特效一起整体缩放,这就导致缩放特效会直接破坏特效效果。我找到一个英文帖子,很好地解决了问题,特此搬运到中文社区。
方法1
-
勾选Emitter Properties里的Local Space选项(此方法仅适用于本地空间的特效,世界空间特效不可用)
-
创建一个Niagara Modular Script,按照链接连接节点Niagara System scale modular script posted by anonymous | blueprintUE | PasteBin For Unreal Engine (可以直接复制,我不知道具体操作),也可以根据图片自己连。
逻辑很简单:获取特效物体的XYZ缩放值,将XY的值与粒子大小(Spirit Size)相乘,将X的值与彩带宽度(Ribbon Width)相乘,粒子就会随着特效统一缩放了。
-
将写好的Niagara Modular Script拖到所有Emitter中,建议放在Initialize Particle之下。
-
保存特效,拖入场景测试效果,期望效果是粒子可以随特效一起缩放。
方法2
Niagara其实自带一个Module可以应用特效缩放,叫做 “Apply Owner Scale to Attributes”,从 “Particle Update”中添加。
我在测试这个方法的时候遇到了一个小问题:我用来测试的特效使用了Death Event,导致这个模块的缩放出现问题。