一种基于UE5的适用于GIS应用的相机控制方法技术

技术编号:33623868 阅读:11 留言:0更新日期:2022-06-02 00:51
本发明专利技术公开了一种基于UE5的适用于GIS应用的相机控制方法,该控制方法包括分别控制场景移动、场景旋转与场景缩放的控制方法;通过基于大地坐标系,以地球质量中心为轴心的曲面平移,通过射线检测判断相机与鼠标控制点对应碰撞点的距离来确定平移、旋转与缩放各个操作需求的位置关系,以此来实现任意位置的自由浏览,结合UE5引擎出色的渲染能力、强大数据承载力,极大的提高GIS应用的渲染效果,很大程度上提升了可视化体验感;有利于快速搭建项目,省去了场景控制这个核心模块的开发,极大地提升了开发效率。了开发效率。了开发效率。

【技术实现步骤摘要】
一种基于UE5的适用于GIS应用的相机控制方法


[0001]本专利技术涉及城市信息模型的
,具体涉及一种基于UE5的适用于GIS应用的相机控制方法。

技术介绍

[0002]目前,CIM(城市信息模型)相关产品大部分都是建立在Web(网页浏览)端,基于Cesium的GIS(地理信息系统)框架结合WebGL进行业务开发。但存在性能和可视化体验感不好等问题。
[0003]基于传统方案开发CIM(城市信息模型)相关应用存在的问题,使用UE5引擎开发CIM(城市信息模型)相关应用成为新的解决方案,能有效弥补Web(网页浏览)端存在的问题。但UE5引擎(虚幻引擎5)更多的是针对游戏领域,在引擎内部相机的控制都是基于局部平面坐标系,多以第一人称视角的相机控制逻辑,无法满足基于地球的大尺度GIS(地理信息系统)场景的控制。因此亟需一种基于UE5的适用于GIS(地理信息系统)应用的相机控制方法。

技术实现思路

[0004]针对现有技术中的缺陷,本专利技术提供一种基于UE5的适用于GIS应用的相机控制方法,有利于快速搭建项目,省去了传统中场景控制模块的开发,提升工作效率,且通过UE5的渲染,和数据承载能力提升了可视化效果,提升其可视化体验感。
[0005]为达到上述目的,本专利技术提供了一种基于UE5的适用于GIS应用的相机控制方法,该控制方法包括分别控制场景移动、场景旋转与场景缩放的控制方法,具体如下:S10、场景移动S11: 获取平移控制点在当前的屏幕坐标位置,并将屏幕位置转化为对应的空间坐标位置,获取该坐标垂直当前视角的法向量V1;S12:以当前空间位置为起始点,并以步骤S11中的法向量V1为发射方向发射一条射线,射线与目标曲面碰撞并获取碰撞点的坐标P1,由此计算出起始点到碰撞点的距离D1,该距离D1能够决定场景移动的步长;S13:获得步长后,当控制点移动时获取到控制点在移动方向上移动的单位向量V1,以该向量V1确定相机需要旋转的方向,通过步长确定旋转的速度,最终实现GIS场景移动。
[0006]S20、场景旋转S21:获取旋转控制点在当前的屏幕坐标位置,并将屏幕位置转化为对应的空间坐标位置,同时获取该坐标垂直当前视角的法向量V2;S22:以当前空间位置为起始点,并以步骤S21中的法向量V2为发射方向发射一条射线,射线与目标曲面碰撞并获取碰撞点的坐标P2,同时计算出起始点到碰撞点的距离D2;S23:将相机的旋转轴心设置到碰撞点位置处,以轴心到步骤S22中的距离D2为轴
长,结合控制点的偏移值O,通过矩阵变换,实现GIS场景的任意点为轴心的旋转。
[0007]S30、场景缩放S31:获取缩放控制点在当前的屏幕坐标位置,并将屏幕位置转化为对应的空间坐标位置,同时获取该坐标垂直当前视角的法向量V3;S32:以当前空间位置为起始点,并以步骤S31中的法向量V3为发射方向发射一条射线,射线与目标曲面碰撞并获取碰撞点的坐标P3,同时计算出起始点到碰撞点的距离D3,D3能够作为缩放速度的系数;S33:通过碰撞点的坐标P3和相机当前坐标P4求出指向控制点的单位向量V4;S34:确认控制点后视点发生偏移时,相机以视点偏移值作为单次缩放的步长系数S,用步骤S33中的单位向量V4确定相机偏移的方向,结合步长S和距离D3,最后实现GIS场景中以任意点为缩放中心的缩放操作。
[0008]UE5引擎在基于局部平面坐标系的应用中,相机的位移控制逻辑相对简单,通常是通过获取鼠标的拖动位移值来控制相机的偏移,从而使相机的位置发生对应的变化,达到场景平移的目的。
[0009]本专利技术在实现局部坐标系相机平移的基础上,实现了基于大地坐标系的相机平移逻辑。
[0010]此改进主要需要解决如何在地球球面移动的问题,球体是曲面,这里的移动是无法通过平面移动逻辑来实现的,所以球面的移动本质是实现基于球心为旋转中心的旋转。
[0011]本专利技术不仅包含了局部平面坐标系的平移,也有效的实现了在基于地球坐标系的场景中任意位置的移动。
[0012]在UE5引擎中的旋转通常是以第一人称的角色视角的旋转,通过挂靠在角色视线起点的相机来控制视角的旋转,实现比较简单。区别于第一人称的固定轴心点,GIS(地理信息系统)场景的轴心点是不固定的,而是跟随鼠标控制点而确定的。
[0013]其中需要解决如何将旋转控制点作为旋转轴心,并通过矩阵变换为相机的旋转。本专利技术实现在GIS场景中的任意角度,任意位置的自由浏览。
[0014]UE5引擎中的常规基于局部坐标系的应用,在做镜头缩放操作时,通常是通过传递鼠标滚轮的值,将该值设为相机沿当前向前法向量方向的位置偏移参数,实现场景的缩放。
[0015]其中需要解决如何以控制点为缩放中心实现GIS(地理信息系统)场景缩放。
[0016]GIS(地理信息系统)场景中的缩放是基于大地坐标系,以鼠标控制点为中心的场景缩放,通过射线检测判断相机与鼠标控制点对应碰撞点的距离来确定缩放的速度,实现通过缩放快速的到达或离开任意指定的位置并进行自由的浏览。
[0017]本专利技术的有益效果:使用这种基于UE5的适用于GIS(地理信息系统)应用的相机控制方法,可以实现在基于UE5开发GIS应用中能够有一套通用的相机控制方法,属于GIS项目中的刚性需求,有利于快速搭建项目。满足对GIS场景的任意坐标位置的自由浏览,快速定位到世界坐标系中的任意项目所在地,并进行自由浏览。使用该控制方法,再结合UE5引擎出色的渲染能力、强大数据承载力,极大的提高GIS应用的渲染效果,很大程度上提升了可视化体验感。对于开发者而言也省去了场景控制这个核心模块的开发,很大程度上提升了开发效率。为GIS应用开发领域提供了有效的解决方案。
附图说明
[0018]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0019]图1为本专利技术中UE5引擎中GIS场景的相机平移控制方法流程图;图2本专利技术中平移控制方法的具体实施例图;图3为本专利技术中UE5引擎中GIS场景的相机旋转控制方法流程图;图4本专利技术中平旋转控制方法的具体实施例图;图5为本专利技术中UE5引擎中GIS场景的相机缩放控制方法流程图;图6本专利技术中缩放控制方法的具体实施例图。
具体实施方式
[0020]下面将结合附图对本专利技术技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,因此只作为示例,而不能以此来限制本专利技术的保护范围。
[0021]需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本专利技术所属领域技术人员所理解的通常意义。
[0022]需要说明的是:在UE5引擎在基于局部平面坐标系的应用中,相机的控制逻辑相对简单,通常是通过获取鼠标的拖动位移值来控制相机的偏移,从而使相机的位置发生对应的变化,达本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UE5的适用于GIS应用的相机控制方法,其特征在于,包括分别控制场景移动、场景旋转与场景缩放的控制方法,具体如下:S10、场景移动S11: 获取平移控制点在当前的屏幕坐标位置,并将屏幕位置转化为对应的空间坐标位置,获取该坐标垂直当前视角的法向量V1;S12:以当前空间位置为起始点,并以步骤S11中的法向量V1为发射方向发射一条射线,射线与目标曲面碰撞并获取碰撞点的坐标P1由此计算出起始点到碰撞点的距离D1,该距离D1能够决定场景移动的步长;S13:获得步长后,当控制点移动时获取到控制点在移动方向上移动的单位向量V1,以该向量V1确定相机需要旋转的方向,通过步长确定旋转的速度,最终实现GIS场景移动;S20、场景旋转S21:获取旋转控制点在当前的屏幕坐标位置,并将屏幕位置转化为对应的空间坐标位置,同时获取该坐标垂直当前视角的法向量V2;S22:以当前空间位置为起始点,并以步骤S21中的法向量V2为发射方向发射一条射线,射线与目标曲面碰撞并获取碰撞点的坐标P2同时计算出起始点到碰撞点的距离D2;S23:将相机的旋转轴心设置到碰撞点位置处,以轴心到...

【专利技术属性】
技术研发人员:郎云洁赵浩宇邹天涌雷思成余东海
申请(专利权)人:成都柔水科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1