【UE5】Cesium for Unreal —— 测量面积
创始人
2024-12-27 02:36:24
0

效果

步骤

1. 启用插件“Geometry Script”插件

2. 新建一个actor蓝图,这里就命名为“BP_Sphere”,用于创建面积测量的点

打开“BP_Sphere”,添加一个球形组件和一个“CesiumGlobeAnchor”组件(添加“CesiumGlobeAnchor”组件主要是怕Cesium GeoReference原点位置变了后,“BP_Sphere”的位置会改变)

球体能根据DynamicPawn的远近动态调整自身大小

蓝图库函数“ChangeActorSizeByDistance”逻辑如下

函数输入如下

3. 再新建一个蓝图,用于绘制测量的面积,该蓝图的父类为“DynamicMeshActor”

这里命名为“BP_DrawMeasureArea”

打开“BP_DrawMeasureArea”,添加一个样条组件和一个“CesiumGlobeAnchor”组件,“CesiumGlobeAnchor”组件的作用和之前相同。

4. 再添加一个半透明的材质,用于覆盖测量面积

5. 在主控件蓝图中添加一个按钮,用于开启测量面积的功能

当该按钮点击后修改鼠标准心样式,然后通过点击鼠标左键来设置测量面积的边界点

点击鼠标右键停止测量

点击鼠标左键后发出射线检测

在射线碰撞位置生成“BP_Sphere”

此时我们运行已经可以看到鼠标点击来生成测量点

继续回到控件蓝图中,完成测量后续逻辑。创建如下变量,其中“BP_DrawMeasureArea”表示绘制面积的网格实体,该变量放在“WBP_Menu”这里,方便后续其它控件蓝图引用。

在生成测量点后,我们将生成的测量点球体对象、测量点位置、测量点位置Z轴的值都存入上面创建的三个数组中。

6. 新建一个控件蓝图,这里命名为“WBP_Btn_DrawMeasureArea”,用于触发测量面积和删除测量点功能

打开“WBP_Btn_DrawMeasureArea”,在设计器中添加如下两个按钮控件

事件图表中添加两个按钮的点击逻辑

在事件构造时获取主界面的引用

当点击测量按钮时先判断当前场景中有没有测量点,只有当场景中有测量点时才能计算测量面积(测量点为1或2个时计算出的面积为0m²)。测量面积时生成“BP_DrawMeasureArea”,然后为“WBP_Menu”中的变量“BP_DrawMeasureArea”赋值。

设置测量面积的样条点、材质和网格体

用“Append Triangulated Polygon”节点来构建测量区域的网格体,该网格体的高度为所有测量点最高的那个点的高度值,这样可以让测量区域在尽可能贴近地面的前提下最大程度的显示出来。

然后在测量区域的中心点显示控件蓝图“WBP_MeasureAreaLabel”(其实这里最好是生成一个带有控件蓝图组件的Actor,这样控件蓝图的位置会自动实时更新)

最后设置控件蓝图“WBP_MeasureAreaLabel”中的文本信息

删除测量点的函数逻辑如下

7. 控件蓝图“WBP_MeasureAreaLabel”包含的控件如下,文本框外包裹缩放框是为了防止文本内容太长而越过文本边界。

删除的逻辑和上面基本相同

唯一的区别是这里的删除还需删除测量区域的网格体

最终运行效果如文章开头所示。

参考视频:

https://www.bilibili.com/video/BV1Yz421b7CJ/?p=68&spm_id_from=pageDriver

相关内容

热门资讯

【cJSON | 使用教程】介... 😁博客主页😁:🚀https://blo...
3瞬间秒懂!(闽游龙岩麻将)外... 3瞬间秒懂!(闽游龙岩麻将)外挂辅助器脚本!(透视)详细教程(2020已更新)(哔哩哔哩)是一款可以...
第6个了解!wepoke脚本软... 自定义新版wepoke脚本系统规律,只需要输入自己想要的开挂功能,一键便可以生成出wepoke脚本专...
二刹那秒懂!(经典糊口)外挂辅... 二刹那秒懂!(经典糊口)外挂辅助神器!(透视)详细教程(2023已更新)(哔哩哔哩);一、经典糊口是...
9分钟了解!德州poker外挂... 9分钟了解!德州poker外挂辅助器插件,wepoke线上技巧(有挂方略)-哔哩哔哩;1、让任何用户...
二刹那秒懂!(指尖跑得快)外挂... 二刹那秒懂!(指尖跑得快)外挂透明挂辅助器插件!(透视)详细教程(2020已更新)(哔哩哔哩);;A...
第八了解!wepoke挂软件透... 自定义新版微扑克模拟器系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克模拟器专用辅助器...
七分钟了解!(白金岛手游放炮罚... 七分钟了解!(白金岛手游放炮罚)外挂透视辅助插件!(透视)详细教程(2024已更新)(哔哩哔哩)是一...
第3个了解!wpk插件外挂透明... 第3个了解!wpk插件外挂透明挂辅助器开挂,wepoke透明挂识别(有挂技术)-哔哩哔哩;德扑锦标赛...
7刹那秒懂!(情怀长城麻将)外... 7刹那秒懂!(情怀长城麻将)外挂透视辅助脚本!(透视)详细教程(2022已更新)(哔哩哔哩);1、很...