UE4SplineLine激光射线

UE4SplineLine激光射线

在做游戏的时候会看到过一种激光,从怪物手中发射然后从地面上一扫而过的效果。分析了一下这种射线,个人觉得这个功能需要满足以下需求:射线能够按照指定的路线扫射,并且射线的长度会随扫射的距离越远而边长,因此想到使用UE4的Splineline来做。
采用两条样条线来实现该功能。
首先角色身上附加一个样条线。(样条线A)
在这里插入图片描述
同时建立一个带有样条线的Actor,(样条线B)
在这里插入图片描述
在这里插入图片描述
该功能的主要思路为通过设置样条线A的长度,并且附上mesh代表射线,A的起点为角色位置,终点从B中的点读取,进而实现射线跟着样条线B的方向走。
具体代码如下。
在这里插入图片描述
角色开始的时候寻找场景中的样条线B的类获取引用。
在这里插入图片描述
然后按下Q键触发事件计时器循环执行SplineLine事件,具体事件逻辑如下:
在这里插入图片描述

在这里插入图片描述
首先distance(初值为0)用于获取特定长度的样条线B的世界位置,distance取值范围为0到样条线B的长度,每次调用distance都会累加一个值获取下一个位置,将样条线A的位置和distance距离的B的位置设置为样条线A的线条起点终点,然后设置样条线A的mesh,splinemesh变量为SplineMeshComponent类型,
在这里插入图片描述
点击AddSplineMeshComponent结点在细节面板可以设置模型和材质
在这里插入图片描述
在这里插入图片描述
最终运行的效果为:
请添加图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44840850/article/details/126278853