【UE】制作OD线

发布时间:2024年01月18日

效果

步骤

1. 新建一个Actor蓝图,这里命名为“BP_ODLine”

2. 创建一个材质,这里命名为“M_ODLine”,该材质用于设置基线颜色、亮度和透明度

打开材质“M_ODLine”,设置混合模式为半透明

设置一下颜色和透明度

3. 打开蓝图“BP_ODLine”,添加一个样条线组件

在构造函数中首先创建材质的动态材质实例并设置材质参数值,其中变量“Brightness”、“SpeedX”的默认值分别设置为2、-1

4. 创建一个空心圆柱体,半径设置为500mm,高度设置为1000mmm,高度分段为50,然后绕Y轴旋转90°

然后将上下底面删除

在坐标归0后导出为fbx,然后再导入到UE中

5. 回到蓝图“BP_ODLine”中,继续编辑构造函数创建基线部分

此时可以看到视口预览部分效果如下

6. 新建一个Niagara系统,这里命名为“NS_ODLine”

打开“NS_ODLine”,先添加4个用户参数,变量类型为vector和float

添加一个Empty发射器

添加一个“Spawn Per Unit”(表示按移动距离生成粒子)模块,

点击修复问题

设置“Spawn Spacing”为1,表示每移动1cm就生成一个粒子

选中“Initialize Particle”模块,设置粒子生命周期为用户参数“LifeCycle”,设置粒子大小为用户参数“Width”

为了修改粒子的颜色,我们添加一个“Scale Color”模块

因为粒子的自发光是由颜色x亮度得到的,因此这里需要设置用户参数Color和Brightness

由于OD线的末尾是逐渐变小直至消失的,而且这里用的渲染器是Sprite渲染器,因此这里需要添加一个“Scale Sprite Size”模块

通过曲线设置粒子生命开始时大小为1,生命结束时大小为0

为了观察此时的效果,这里添加一个“Spawn Rate”模块,设置SpawnRate为10,然后禁用“Spawn Per Unit”模块

将用户参数的Brightness默认值改为100

此时预览效果如下

感觉效果不错的话,禁用“Spawn Rate”模块,启用“Spawn Per Unit”模块

7. 回到蓝图“BP_ODLine”,添加一个Niagara系统组件,设置Niagara系统资产为“NS_ODLine”

在构造函数中设置Niagara参数

接下来在事件图表中让OD线动起来,在事件图表中添加如下节点

时间轴曲线如下

将蓝图“BP_ODLine”拖入场景,然后可以看到Niagara粒子沿着样条线移动了,但是只会出现一次

下面我们需要让OD线无限循环,首先需要在时间轴完成后重置一下粒子位置,然后延迟一定时间后再重新播放时间轴,通过该方式来实现循环生成粒子的效果

如果想修改粒子的移动速度的话,可以通过改变时间轴的播放速率实现。比如之前粒子是1s走完整个样条线,现在我将播放速率改为0.5,那么粒子将花费2s走完整个样条线

最终效果:

参考视频:

https://www.bilibili.com/video/BV1nT411M7xU/?spm_id_from=333.337.search-card.all.click&vd_source=36a3e35639c44bb339f59760641390a8

文章来源:https://blog.csdn.net/ChaoChao66666/article/details/135665764
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。