网站建设 硬件投入,国外的服务器建设的网站,酒类网站该怎么做,如何做网站推广在找产品营销推广吗遗留问题 在上一篇博客中#xff08;【UE5 Cesium】18-Cesium for Unreal 建立飞行跟踪器#xff08;3#xff09;#xff09;#xff0c;我们实现了飞机变速飞行的功能#xff0c;但是还存在两个问题#xff0c;分别是#xff1a; #xff08;1#xff09;由于UE的…遗留问题 在上一篇博客中【UE5 Cesium】18-Cesium for Unreal 建立飞行跟踪器3我们实现了飞机变速飞行的功能但是还存在两个问题分别是 1由于UE的坐标系的方向与地理坐标系的方向不相符飞机飞行一段时间后会出现飞机斜着飞的情况 2由于CesiumSunSky一直没有改变因此飞机飞的比较远时会出现黑夜
解决思路 1CesiumGeoreference 的 Origin 必须变化否则UE坐标的方向与地理坐标不一致 (可Lat或Long变化超过1度时重设 2BP_Aircraft 必须加上Cesium Globe Anchor组件否则CesiumGeoreference变化的话无法保证它的位置正确 3CesiumSunSky要根据经纬度设置下时区否则有黑夜区间时区经度/1 4用TweenMaker插件来处理DeltaTime时间内的移动不买插件的话自己写个类似的函数也是可以的 5要处理DeltaTime时间内的物体的转向问题即让机头一直朝着飞行前进的方向
步骤
1. 在虚幻引擎中启用“TweenMaker”插件需购买 在场景中添加一个“TweenManagerActor”这样我们就可以使用“TweenMaker”插件中的节点了 2. 复制一份“BP_Aircraft”新蓝图就叫“BP_Aircraft_2” 打开“BP_Aircraft_2”删除事件图表中的所有节点删除所有变量添加一个“CesiumGlobeAnchor”组件 新建一个变量命名为“PreviousTrans”类型为“变换”勾选可编辑实例该变量用于表示飞机在上一个点的位置和朝向 3. 将“BP_Aircraft_2”拖入视口 4. 打开关卡蓝图在游戏刚开始运行时设置飞机的初始Transform 在关卡蓝图中添加如下变量其中“DeltaTime”表示采样点的采样时间间隔这里设置为1s“Index”表示当前是第几个采样点的索引“Longitude”表示当前飞机的经度“Latitude”表示纬度“Height”表示当前飞机的高度。 继续在关卡蓝图中的事件图表添加如下节点当我们按下N键时先设置当前读取的表格行数索引为10是表头行判断当前是否未完成读取表格的所有行如果未读取完就继续获取表格中每一行的经纬高 设置飞机的朝向 添加如下节点插件“TweenMaker”中的节点其中引脚“Tween Target”表示被移动的对象“To”表示移动到的位置“Duration”表示移动所需时间输出引脚“On Tween End”是完成移动后才执行 移动完成后首先把“Index”1 然后判断是否需要设置CesiumGeoreference的Origin和CesiumSunSky的时区判断当前飞机的经纬度和CesiumGeoreference的经纬度是否相差超过1只要有一个超过1就重新设置CesiumGeoreference的Origin和CesiumSunSky的时区 如果条件为假就更新一下飞机上一个点的位置 更新后继续获取表格中飞机下一个航线点的位置 这里将deltaTime设置为1s一共625个点则总时长为625s也就是近10分钟飞机就可以从旧金山飞到欧洲 参考视频
https://www.bilibili.com/video/BV1Fm4y1p7cV/?spm_id_frompageDrivervd_source36a3e35639c44bb339f59760641390a8