UE4数字孪生 OD线开发浅析

石几衣束

· 数字孪生,蓝图

啦啦啦,我又来啦~这次为大家带来UE4中OD线的开发流程讲解:

broken image

OD流动效果

支持功能:

  1. 支持基线(绿色那条线)的半径控制、颜色、亮度控制
  2. 支持流动物(玫红色粒子)的大小和颜色控制(本身自带发光)
  3. 支持OD流动速率的控制
  4. 支持自定义OD流动路径(可接入json数据生成)
broken image

可配置的自定义参数

自定义效果参考

主要面对的核心问题

  • OD回到起点的粒子拖尾问题
  • OD基线的圆柱半径控制
  • OD高频率流动状态的质量控制

开发流程&思路

首先,思路上是基于UE的Spline和Niagara。具体实现步骤如下:

broken image

分别添加Niagrar和Spline组件

制作基线材质,颜色和亮度暴露出来,并生成材质实例

broken image

在构造脚本中控制基线实例的颜色和亮度

broken image

制作一个圆柱体模型,其坐标轴定在模型中心位置

broken image

添加SplineMesh组件节点并赋予圆柱体模型,然后设置动态材质实例

通过这套节点:即可实现OD基线的全部功能模块,设置圆柱半径,颜色。做到这里你会发现我们才完成了整个样条线的前半部分基线的显示,按照同样的节点我们设置Spline的Point1&2来实现后半段的基线效果。

到此为止基线部分已经完成

broken image

从Niagrar插件目录中找到DefaultSpriteMaterial并创建材质实例

broken image

新建空的Niagara粒子,并添加空的Emitter

在空的Eimitter中分别添加state、rate、color、size等参数

设置材质为DefaultSpriteMaterial材质实例

其中LifeState具体设置如下:

broken image

并设置SpawnRate的值大于0(根据需要设置)

broken image

对其中的属性设置用户公共参数

最终Niagara的系统公共参数设置如下:

broken image

动态控制粒子的颜色和大小

最后在Actor的构造函数中控制粒子的颜色和大小。

以上是OD粒子效果部分功能开发的全部流程,下面将开展OD线开发过程中面对的核心难点以及如何优化的解析:

具体实现就不展开了,大体思路是使用粒子的透明结合Delay实现拖尾的消失,并附加一定长度的收尾距离来触发再一次的循环,最后再通过速率来配置粒子的SpawnRate就大功告成了。

Over!