1、要让对应目标移动到对应经纬度海拔上的前提是,先添加一个UCesiumGlobeAnchorComponent组件,组件内封装的有MoveToLongitudeLatitudeHeight函数,用于将组件的owner(拥有者)设置到对应经纬度高上去
2、Problem:由于经纬度的精度丢失会造成移动到的距离偏差会很大,所以尽量参数用glm::dvec3来进行传参,glm::dvec3是double vector的全称,意思为双精度向量,这样就可以解决数据精度的问题
3、glm是OPENGL的矩阵运算,所以要加头文件
#include <glm/vec3.hpp>
MeshAnchor->SetRelativeRotation({ pitch, yaw - 90, roll});
UPROPERTY(EditAnywhere,BlueprintReadWrite)
USceneComponent* MeshAnchor;
这样即可设置俯仰横滚角
每多一级,往下除以2,如果要将其他更高级精度的PNG放进来,那么xml即需做前述操作
若切出来的图片是jpg,则需要修改xml上上图框选内容改为jpg
这个基类就是DynamicPawn的基类,里面实现了各种GlobalAnchalComponent以及自己的方法,就不用自己重新实现一个基类花费时间了
这个参数可以让整个Cesium地形在运行时进行全部加载,而不是视锥加载
在该类里面,有各种经纬度转换,有最重要的经纬度转UE世界坐标,也有世界坐标转经纬度,等等
最终可以拿到CesiumGeoreference去获取对应函数方法
当然也能在蓝图中使用