当前位置:首页 > 编程笔记 > 正文
已解决

【UE】用样条线实现测距功能(下)

来自网友在路上 11068106提问 提问时间:2023-11-24 01:01:08阅读次数: 106

最佳答案 问答题库1068位专家为你答疑解惑

目录

效果

步骤

一、实现多次测距功能

二、通过控件蓝图来进行测距


在上一篇(【UE】用样条线实现测距功能(上))文章基础上继续实现多次测距和清除功能。

效果

步骤

一、实现多次测距功能

打开蓝图“BP_Spline”,创建一个布尔类型变量“IsNeedMeasure”,表示是否需要测量,默认为False

在自定义事件“测量”执行时,先判断“IsNeedMeasure”是否为True,为True才继续执行

创建一个自定义事件命名为“结束绘制”,该事件执行后设置变量“IsNeedMeasure”是否为Fasle,然后清除样条点

点击鼠标左键的时候,设置“IsNeedMeasure”为True,点击Alt+鼠标右键时调用“结束绘制”

 此时运行效果如下,我们可以进行多次测量

二、通过控件蓝图来进行测距

1. 新建一个控件蓝图,这里命名为“WBP_Ranging”

打开“WBP_Ranging”,添加两个按钮控件

“测量”按钮的点击事件如下,这里生成“BP_Sphere”的目的是让球能够跟随鼠标光标在视口上移动,当球出现在鼠标位置时就表示当前正在使用测距功能

每帧都去重新设置球的位置

“清除”按钮的点击事件如下

2. 打开“BP_Spline”,删除如下节点

再删除如下节点

在结束绘制后还需要销毁那个跟随鼠标移动的球体

3. 打开关卡蓝图,删除之前写的生成“BP_Spline”的节点

然后将显示鼠标的节点和创建控件蓝图的节点写在这里

将鼠标点击事件也写在这里

最终效果如下:

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"【UE】用样条线实现测距功能(下)":http://eshow365.cn/6-42136-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!