利索能及
我要发布
收藏
专利号: 202310979843X
申请人: 山东捷瑞数字科技股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于三维引擎的场景实时地图的构建方法,其特征在于,包括以下步骤:

步骤1:获取场景尺寸;

步骤2:配置底图;

步骤3:创建场景实时地图数据模板;所述模板内容包括:可视区域viewSize、底图尺寸mapSize、底图图片image、游标尺寸cursorSize、扇形游标图片cursor和配置美化样式;其中,可视区域viewSize、底图尺寸mapSize和游标尺寸cursorSize为自定义项,游标尺寸cursorSize小于可视区域viewSize;扇形游标图片cursor朝向设置为向上;

步骤4:创建DOM元素展示地图;共创建3层DOM元素:最外层是地图容器,大小与可视区域viewSize一致;第二层是底图容器,宽高为底图尺寸mapSize,其背景图效果为底图图片image;最里层是游标,宽高为游标尺寸cursorSize,其背景图效果为扇形游标图片cursor;

游标代表相机位置与朝向;

步骤5:构建场景实时地图,计算相机数据信息并实时更新地图位置;

步骤5.1:由场景尺寸高除以底图尺寸高求出场景缩放因子M;

步骤5.2:基于游标位置与相机位置之间的对应关系,计算游标位置及其旋转角度;

计算游标的纵向偏移量:相机位置的x值Camera.position.x减去场景中心点的x值center.position.x再除以缩放因子M得出游标DOM元素以底图左上角二维坐标(0,0)的偏移量;再加上底图高度mapSize.height的一半,减去游标高度cursorSize.height的一半,得到游标纵向偏移量,计算公式为:(Camera.position.x‑center.position.x)/M+mapSize.height/2‑cursorSize.height/2;

计算游标的横向偏移量:相机位置的z值Camera.position.z减去场景中心点的z值center.position.z再除以缩放因子M得出游标DOM元素以底图左上角二维坐标(0,0)的偏移量;再加上底图宽度mapSize.width的一半,减去游标宽度cursorSize.width的一半,得到游标横向偏移量,计算公式为:(Camera.position.z‑center.position.z)/M+mapSize.width/2‑cursorSize.width/

2;

设置游标样式top属性值为纵向偏移量,游标样式left属性为横向偏移量;

设置游标DOM元素的旋转transform属性值为rotate 相机旋转角度y,单位为rad,步骤5.3:基于游标位置与相机位置之间的对应关系,计算并变换底图位置,以保证游标移动时其位置始终实时显示于可视区域viewSize的正中心;

计算底图向下偏移距离值:相机位置的x值Camera.position.x减去场景中心点的x值center.position.x再除以缩放因子M得出底图以可视区域viewSize左上角二维坐标(0,0)进行偏移的偏移量,若相机在场景中心点时,可视区域高度viewSize.height一半减去偏移量得纵向偏移量,向下偏移距离值计算方式为‑50%加纵向偏移量,‑50%是将底图的纵向中心点对准可视区域左上角二维坐标(0,0),加纵向偏移量后游标纵向中心点显示于可视区域viewSize的正中心,即:;

计算底图向右偏移距离值:相机位置的z值Camera.position.z减去场景中心点的z值center.position.z再除以缩放因子M得出底图以可视区域viewSize左上角二维坐标(0,0)进行偏移的偏移量,若相机在场景中心点时,可视区域宽度viewSize.width的一半减去偏移量得出横向x轴方向偏移量,向右偏移距离值计算方式为‑50%加横向偏移量,‑50%是将底图的横向中心点对准可视区域左上角二维坐标(0,0),加横向偏移量后游标横向中心点显示于可视区域viewSize的正中心,即:;

设置底图变换属性transform的值,将向右向下偏移距离值设置到底图,设置方式如下:transform:translate(calc(向下偏移距离值),calc(向右偏移距离值)),步骤5.4:在每帧渲染开始,将实时获取的相机位置、旋转角度经过步骤5.1‑5.3计算的结果设置给底图和游标DOM元素属性,以实现底图和游标在地图中的动态实时更新。

2.如权利要求1所述的一种三维引擎的场景实时地图的构建方法,其特征在于,所述步骤1具体包括:基于场景内所有模型的包围盒信息求出场景的最大点max和最小点min,并借由该两点确定场景包围盒boundingBox及场景中心点center,进而得到场景尺寸configSize:场景尺寸宽configSize.  Width为最大点max与最小点min的z值差,场景尺寸高configSize.Height为最大点max与最小点min的x值差,场景尺寸的宽高比aRatio为场景尺寸宽除以场景尺寸高。

3.如权利要求1所述的一种三维引擎的场景实时地图的构建方法,其特征在于,所述步骤2的配置底图,方式之一为:创建相机,设置相机的视野缩放比aspect及上下左右限制,使相机看向场景中心点ceter,对正对准场景所有模型进行截图,获取底图图片image;

其中,相机的视野缩放比aspect为绘制场景的DOM元素的宽高比除以场景尺寸宽高比;

相机右限制为场景尺寸宽除以2乘以视野缩放比aspect,相机左限制为相机右限制乘以‑1,相机上限制为场景高除以2,相机下限制为相机上限制乘以‑1。

4.如权利要求1所述的一种三维引擎的场景实时地图的构建方法,其特征在于,所述步骤2的配置底图,方式之二为:上传预设比例的底图图片image。

5.如权利要求1所述的一种三维引擎的场景实时地图的构建方法,其特征在于,当步骤5的地图配置与预期的效果有差异时,修改步骤3中的场景实时地图数据,对地图进行重新构建。