目录
步骤
一、关卡准备
二、UE读取存有航线点迹的CSV文件
三、程序化CesiumCartographicPolygon的点
步骤
一、关卡准备
1. 在Cesium For Unreal官网找到“San Francisco international Airport”的经纬度如下:
在“CesiumGeoreference”中设置相应的经纬度
右键点击“DynamicPawn”,然后选择“将对象对齐到视图”
二、UE读取存有航线点迹的CSV文件
先去下载CSV
CSV部分内容如下,可以看到存的是航线点的经纬高度
在内容浏览器中新建一个结构,这列命名为“LLHStruct”
打开“LLHStruct”,新建三个浮点类型变量,三个变量名与CSV的表头一致
将CSV拷贝到UE工程中,与结构“LLHStruct”在同一目录下
此时可以看到UE编辑器中出现如下提示,点击导入
在弹出的数据表选项中,行类型选择“LLHStruct”然后点击“应用”按钮
此时我们就可以在内容浏览器中看到数据表格
打开该数据表格,检查后确定和CSV中数据保持一致
三、程序化CesiumCartographicPolygon的点
添加一个“Cesium Cartographic Polygon”
可以看到场景中添加了一个多边形
这里再大纲中重命名为“PlaneTrack”
在细节面板中,取消勾选“闭合循环”
我们可以在细节面板中选择样条点
当我们选中第一个样条点时,可以在细节面板中进行一些设置
在关卡蓝图中设置关卡开始运行时清除样条线上所有的点
从表格的第二行(第一行是表头)循环到最后一行,获取每一行的信息
将获取到的经纬高转换为Cesium地理参考坐标系的经纬高
将转换后的每个点作为样条线上点的坐标
此时运行游戏,可以看到“PlaneTrack”中的最后一个样条点的索引正好是624
但是在场景中是看不到这些样条点的,因此下面我们可以在样条点处生成一些网格体来表示样条点的位置。
先新建一个Actor蓝图,这里命名为“BP_Sphere”
在该actor内添加一个Sphere组件,调整一下大小和颜色
打开关卡蓝图,在生成样条点的同时生成“BP_Sphere”
此时运行游戏效果如下
参考视频链接:
Cesium for Unreal Build a Flight Tracker(纯蓝图版)P1-程序化CesiumCartographicPolygon的点_哔哩哔哩_bilibili