目录
效果
步骤
一、实现多次测距功能
二、通过控件蓝图来进行测距
在上一篇(【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”的节点
然后将显示鼠标的节点和创建控件蓝图的节点写在这里
将鼠标点击事件也写在这里
最终效果如下: