一种三维场景环形方位导航提示方法技术

技术编号:34995189 阅读:34 留言:0更新日期:2022-09-21 14:43
本发明专利技术公开了一种三维场景环形方位导航提示方法,以圆环表达目标位置的导航信息,以动态调节的弧形高亮区域作为提示信息主体。同时,导航UI随用户移动的状态实时改变自身样式,只需要一个UI即可表达全部导航信息,实现占用更少的屏幕空间,保护了画面的完整性。以用户替身在场景中的位置和目标位置的距离大小确定可变弧形在圆环上的张角大小,以替身的法相向量和从当前位置到目标位置的向量夹角确定可变弧形在圆环上的旋转角度,以弧形存在对称轴的性质准确表示导航方向,降低已有方案在导航方向理解上的多义性。在导航方向理解上的多义性。在导航方向理解上的多义性。

【技术实现步骤摘要】
一种三维场景环形方位导航提示方法


[0001]本专利技术涉及三维场景定位导航
,特别涉及一种三维场景环形方位导航提示方法。

技术介绍

[0002]目前三维场景导航技术常见的应用场景包括三维游戏、数字展馆、虚拟作战演练等。其解决的关键问题是向使用者提示正确的前进方向,部分方案还可以提示与目标方位的距离大小。实现导航功能需要首先确定导航的目标,通过寻路算法计算最优的路线,根据路径节点的信息进行设计不同导航方案的细节。其中寻路模块的可选算法有很多,包括基础的基于深度优先搜索和广度优先搜索的寻路算法,启发式寻路算法,以及结合蚁群算法或模拟退火算法的优化版本等。这些算法均能获得在自定标准中最优的路径规划结果,如总路程最短,避开场景所有障碍等。
[0003]Unity引擎的ShaderLab:Unity 中的所有 Shaders 文件都使用名为“ShaderLab”的声明性语言编写。Unity 中创建的 Shader 文件是 surface shader,是对 vertex and fragment shaders 的包装,最后的编译到底层的时候也是以 vertex and fragment shaders 的形式输入的。
[0004]现有技术中实现三维场景导航的方法主要包括以下三类:1、在三维场景地面绘制推荐浏览路线的路径图,如图1所示,用户跟随地面路线进行漫游,到达预定的目标位置,路线轨迹由每次导航的起始位置决定,路线生成后漫游过程中不可更改。
[0005]三维场景地面绘制推荐浏览路线的路径图的缺点在于:a、在场景地面绘制路线的方式添加了大量除场景内容外的信息,对场景内容造成了遮挡,且提示方式较生硬,影响用户漫游的沉浸感。
[0006]b、路线图不能全方位覆盖场景,用户位于场景角落或面向墙壁时,无法随时观察身后地面的路线信息,需要先调整自身朝向,使地面路线出现在视野中才能继续导航,降低漫游效率,影响用户体验。
[0007]2、在屏幕局部位置提供场景地图缩略版,并以可旋转的扇形表示虚拟替身的视野范围,从而使用户能够据此判断替身在场景中的方位和朝向。如图2所示,用户通过旋转视角对照小地图的信息和扇形角度变化,找到正确的移动路径。
[0008]在屏幕局部位置提供场景地图缩略版的缺点在于:a、小地图占用屏幕较多空间,破坏画面完整性,对此主要的解决方式是设置小地图隐藏功能,但寻路和观赏时需要切换小地图状态比较麻烦。
[0009]b、与技术一跟随地面路线轨迹的方式相比,技术二将导航信息通过小地图和视野图的方式间接表示,需要用户自己对照场景俯视图找到正确的前进路线,导航效率较低。
[0010]3、在画面中放置3D书签,3D书签可包含多种样式,如直线箭头形状、带有角度的箭头形状,类似三角形状的其它标识等。提示在当前位置可选择的移动方向。如图3所示。
[0011]在画面中放置3D书签的缺点在于:a、在场景中的位置固定,难以兼容用户从不同角度观看书签时书签指示方向的准确性。场景结构复杂时更容易引起理解上的多义性。
[0012]b、一个3D书签只能指向一个方向,用于在一个位置标明下一步的移动方向。当路线复杂时,就需要在场景中密集地摆放导航书签,增加程序开发成本,遮挡场景内容,影像美观性,用户使用时感受到的灵活性也较低。

技术实现思路

[0013]本专利技术为解决上述问题,提出了一种三维场景环形方位导航提示方法。
[0014]为解决上述的技术问题,本专利技术采用以下技术方案:Step1:设定导航提示环的外侧圆半径R
out
和内侧圆半径R
in
,并将R
in
和R
out
范围内的像素设为白色,范围外像素返回透明颜色,从而在屏幕中生成一个白色圆环;Step2:通过Algorithm 3 自适应UI获取导航目标并进行路径计算;Step3:基于Step2中的导航目标及路径信息获取前用户替身的位置P
cur
和阶段导航位置点P
target
,根据P
cur
到P
target
的距离大小,经过系数换算,得到一个在0到90范围内的数值,以_Waver参数定义,表示圆环中高亮区域的弧度大小,通过着色器对圆环中高亮弧形区域进行着色并得到_Color颜色数据;Step4:基于Step3中的用户替身的位置P
cur
和阶段导航位置点P
target
,计算用户替身朝向的法相向量N
per
,和以P
cur
为起点P
target
为终点的向量N
dir
,利用两个向量夹角的sin值和cos值得到计算uv坐标的旋转角度_Rotate,通过矩阵乘法将 Step3中得到的弧形有色区域旋转到正确位置,旋转后弧形对称轴指向的方向即为正确的前进方向;Step5:将绘制的导航图标从画面中心移动到角落;Step6:当用户替身在场景中的位置发生改变时,_Color设为第一种特定颜色,当用户替身在场景中的朝向发生改变时,_Color设为第二种特定颜色,当用户已行进到路径的最后节点时,导航即将结束,此时_Color设为第三种特定颜色;Step7:在用户到达最终的目标位置之前,系统根据Step2中的逻辑规则实时更新导航UI的所有参数,绘制新的圆环图形,向用户提示导航信息。
[0015]进一步,所述Step2中的路径计算方法步骤如下:a、得到路径节点集合P
set
,并循环判断经过的节点数量并判断是否即将走到最后一个节点:b、如果到达最后节点,计算向量v;c、如果未到达最后节点:计算向量v, 当前节点距离低于阈值时,经过节点数+1;d、根据向量v信息调整UI状态。
[0016]进一步,所述向量v为下一个路径拐点的平面坐标减去用户替身所在xz轴平面坐标。
[0017]进一步,所述Step3中着色器进行渲染时,通过对_Waver的tan值进行换算处理,设定uv坐标处于_Waver范围内的像素返回当前的_Color颜色,uv坐标位于_Waver范围外的像素依然保持白色,并通过设定坐标规则使得高亮区域的颜色由中心向两侧延伸,由两侧向中心收缩,得到张角大小灵活变化的弧形。
[0018]进一步,所述Step4中的_Rotate的取值范围是0到360度。
[0019]进一步,所述Step6中的最后节点为导航目标的场景所在位置。
[0020]有益效果与现有技术相比,本专利技术至少具有以下有益效果之一:1.将用于传递导航信息的标识以UI形式固定于屏幕画面的角落,用户漫游过程中时刻都能看到,兼容所有场景情况。解决目前三维场景中方向提示信息形式单一、刻板、存在视线死角的问题2.采用唯一的空心的圆环作为导航信息的全部载体,有效解决传统导航提示载体冗余,占用屏幕较多空间的问题。
[0021]3.解决导航信息提示方式多义性问题,本专利技术采用对称轴原理指向目标方向,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种三维场景环形方位导航提示方法,其特征在于,包括如下步骤:Step1:设定导航提示环的外侧圆半径R
out
和内侧圆半径R
in
,并将R
in
和R
out
范围内的像素设为白色,范围外像素返回透明颜色,从而在屏幕中生成一个白色圆环;Step2:通过Algorithm 3 自适应UI获取导航目标并进行路径计算;Step3:基于Step2中的导航目标及路径信息获取用户替身的位置P
cur
和阶段导航位置点P
target
,根据P
cur
到P
target
的距离大小,经过系数换算,得到一个在0到90范围内的数值,以_Waver参数定义,表示圆环中高亮区域的弧度大小,通过着色器对圆环中高亮弧形区域进行着色并得到_Color颜色数据;Step4:基于Step3中的用户替身的位置P
cur
和阶段导航位置点P
target
,计算用户替身朝向的法相向量N
per
,和以P
cur
为起点P
target
为终点的向量N
dir
,利用两个向量夹角的sin值和cos值得到计算uv坐标的旋转角度_Rotate,通过矩阵乘法将 Step3中得到的弧形有色区域旋转到正确位置,旋转后弧形对称轴指向的方向即为正确的前进方向;Step5:将绘制的导航图标从画面中心移动到角落;Step6:当用户替身在场景中的...

【专利技术属性】
技术研发人员:胡勇王梦园沈旭昆
申请(专利权)人:北京航空航天大学云南创新研究院
类型:发明
国别省市:

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

1