·
啦啦啦,我又来啦~这次为大家带来UE4中OD线的开发流程讲解:
OD流动效果
支持功能:
- 支持基线(绿色那条线)的半径控制、颜色、亮度控制
- 支持流动物(玫红色粒子)的大小和颜色控制(本身自带发光)
- 支持OD流动速率的控制
- 支持自定义OD流动路径(可接入json数据生成)
可配置的自定义参数
自定义效果参考
主要面对的核心问题
- OD回到起点的粒子拖尾问题
- OD基线的圆柱半径控制
- OD高频率流动状态的质量控制
开发流程&思路
首先,思路上是基于UE的Spline和Niagara。具体实现步骤如下:
分别添加Niagrar和Spline组件
制作基线材质,颜色和亮度暴露出来,并生成材质实例
在构造脚本中控制基线实例的颜色和亮度
制作一个圆柱体模型,其坐标轴定在模型中心位置
添加SplineMesh组件节点并赋予圆柱体模型,然后设置动态材质实例
通过这套节点:即可实现OD基线的全部功能模块,设置圆柱半径,颜色。做到这里你会发现我们才完成了整个样条线的前半部分基线的显示,按照同样的节点我们设置Spline的Point1&2来实现后半段的基线效果。
到此为止基线部分已经完成
从Niagrar插件目录中找到DefaultSpriteMaterial并创建材质实例
新建空的Niagara粒子,并添加空的Emitter
在空的Eimitter中分别添加state、rate、color、size等参数
设置材质为DefaultSpriteMaterial材质实例
其中LifeState具体设置如下:
并设置SpawnRate的值大于0(根据需要设置)
对其中的属性设置用户公共参数
最终Niagara的系统公共参数设置如下:
动态控制粒子的颜色和大小
最后在Actor的构造函数中控制粒子的颜色和大小。
以上是OD粒子效果部分功能开发的全部流程,下面将开展OD线开发过程中面对的核心难点以及如何优化的解析:
具体实现就不展开了,大体思路是使用粒子的透明结合Delay实现拖尾的消失,并附加一定长度的收尾距离来触发再一次的循环,最后再通过速率来配置粒子的SpawnRate就大功告成了。
Over!