基于区域密度的虚拟现实重定向行走方法

文档序号:35977296发布日期:2023-11-09 20:18阅读:39来源:国知局
基于区域密度的虚拟现实重定向行走方法

本发明属于计算机虚拟现实领域,具体涉及一种基于区域密度的虚拟现实重定向行走方法。


背景技术:

1、虚拟现实(virtual reality,vr)技术的多用户应用需要在一个共享的跟踪空间中支持多用户同时进行虚拟漫游活动。其所面临的核心挑战就在于虚拟场景与现实场景不匹配所造成的失真感,以及多用户场景的动态特性。势场力的引入能让重定向方法更好的适应动态变化的多用户场景,具有巨大的发展空间。

2、目前,各类基于势场力的重定向方法在多用户场景中已表现出优秀的综合性能。然而,只聚焦于当前用户的方法会导致出现场地利用率不高,用户区域性聚集并因此使重置次数增加的问题。重定向方法需要对用户群进行整体的调度,让用户在跟踪空间中分布的更加均衡。


技术实现思路

1、本发明的目的是克服上述背景技术种所描述的不足,提供一种基于区域密度的虚拟现实重定向行走方法,该方法能够在提高跟踪空间的利用率,并减少潜在的碰撞风险,提升了用户虚拟漫游活动的连贯性。

2、本发明采用的技术方案是,一种基于区域密度的虚拟现实重定向行走方法,该方法包括以下步骤:

3、步骤1;根据跟踪空间的边界数进行区域划分,将其划分为若干个面积相近且符合要求的区域,并为每一区域计算中心点,作为该区域的吸引力目标;并计算跟踪空间内所有用户理想分布下的空间标准用户密度;

4、步骤2;计算用户当前所处区域的实际区域用户密度,并与步骤1中的实际区域用户进行比较,确定是否需要对当前用户进行区域重定向;

5、步骤3;对于步骤2中需要进行区域重定向的用户,根据实际区域用户密度和由步骤1得到的区域中心到用户位置的距离分别计算每个区域的密度得分与距离得分;再由密度得分与区域得分计算每个非当前用户所处区域的区域得分,选择区域得分最高的区域作为目标区域,用步骤1中得到的吸引力目标计算目标区域引力;

6、步骤4;在步骤3确定的目标区域中进行泊松盘采样,选择距离当前用户最近且具有更低的用户密度采样点作为最优导向空间,并通过该点与当前用户的距离计算最优导向空间的引力;

7、步骤5;根据用户当前位置以及跟踪空间信息与其他用户位置信息计算跟踪空间对用户产生的势场力;若步骤2中用户不需要进行区域重定向,则直接将势场力方向作用于用户单位时间步进方向;若步骤2中用户需要进行区域重定向,则计算最优区域引力、最优空间引力以及势场力的平衡合力,并将合力方向作用于用户单位时间步进方向;

8、步骤6;用户根据步骤5的力作用进行单位时间步进运动时,若在移动过程中与跟踪空间或其他用户发生碰撞,则停止用户漫游活动,并通过步骤2与步骤3计算的目标区域作为潜在转向目标,最后得到实际转向方向后,通过重置方法引导用户转向安全方向再使其继续漫游活动。

9、进一步地,所述步骤1中的区域划分具体方式:计跟踪空间的边界数为临时区域数ntemp,然后通过ntemp计算每个区域的平均面积sa;接下来,使用跟踪空间的中心和边界的两个端点确定每个临时区域的范围;针对当前区域的实际面积sm进行判断,步骤1中区域要求为每个区域的实际面积sm≥sa;若sm<sa,则将当前区域与相邻区域中面积较小的一方合并;最终,跟踪空间会被划分成若干满足面积条件的区域;步骤1中的空间标准用户密度ds为跟踪空间内所有用户数与跟踪空间总面积的比值。

10、进一步地,所述步骤2中的实际区域用户密度da为当前用户所处区域内的用户数与区域面积sm的比值;若当用户所在区域的实际区域用户密度da大于空间标准用户密度ds时,则需要对该区域内的所有用户进行区域重定向;

11、

12、

13、其中sa为区域面积。wj的值取1时,表示userj处于该区域内,wj取值为0时则相反。

14、进一步地,步骤3具体如下:

15、首先计算区域的距离得分,距离得分sd的计算遵循就近原则,优先考虑与用户距离较近的区域;通过用户在跟踪空间内的坐标位置puser(xu,yu)和该区域的中心点坐标pcen(xc,yc),为每个区域计算一个距离得分:

16、

17、其中k为距离缩放参数,向量d=(xu-xc,yu-yc)为用户和区域中心的距离;随着用户与区域中心的距离增加,区域的距离得分将呈反比例递减的趋势;一个区域的距离得分越低,表明该区域距离用户越远。

18、再根据实际区域用户密度来计算区域的密度得分,当实际区域用户密度da小于空间标准用户密度ds时,密度得分随着密度的减小而增加,旨在鼓励用户进入相对较为空旷的区域,当实际区域用户da大于空间标准用户密度ds时,将不考虑该区域;对于需要进行区域重定向的用户,将优先考虑进入较为空旷的区域;密度得分由公式给出:

19、

20、其中da为步骤2中取得的区域实际密度;l为得分缩放参数;

21、最后将得到的距离得分sd和密度得分sp相结合,即可得到该区域的区域得分s:

22、s=ω1sd+ω2sp

23、其中ω1、ω2为密度得分与区域得分加权平均的权重值;计算所有非当前用户所处区域的得分后,选择得分最高的区域作为导向目标区域;

24、以目标区域中的吸引力目标作为引力点,对用户产生一个吸引力fa:

25、

26、其中α为由密度差转为密度力的参数,ρc、ρt分别为用户当前所处区域实际密度与目标区域实际密度;d表示用户与目标区域中心的距离。

27、进一步地,步骤4具体如下:

28、通过计算目标区域中心到区域每条边界的垂直距离,以其中最短的距离作为内切圆的半径;然后,通过该内切圆确定一个内接方形的边长,并以该内接方形作为泊松采样区域,内接方形边长由公式给出:

29、

30、其中rc表示区域中心到边界的最短距离,l为采样区域的范围;

31、在方形采样区域内通过泊松盘采样生成若干采样点;将采样半径与采样区域范围关联起来,确保生成的采样点在3到5个区间内均匀分布,控制采样点的密度,以便在保证算法性能的同时有效利用空间;采样半径如公式:

32、

33、其中α与β为拟合参数;当l<3时,rs=0,即不进行采样,将目标区域中心作为最优引力点;当3<l≤5时,采样半径rs恒取1/2;当l>5时,采样半径rs由α+βl得到;

34、以上采样方法能够在采样区域内生成足够多的网格,保证互不相邻的两个网格之间的距离大于采样半径rs,同时保证网格数量足够多,以满足所需的采样点数量;采样区域网格边长由公式给出:

35、

36、在区域内生成一系列采样点,在其中选择与用户距离最近的具有更低用户密度的采样点ps作为最优导向空间;最后通过泊松盘采样选择的采样点ps计算其对用户的吸引力fo:

37、

38、其中向量h=ps-puser表示用户位置到最优导向空间的向量,γ是一个基于特定条件的常数指数,表示最优导向空间的吸引力fo随用户位置到引力点距离的影响。

39、进一步地,所述步骤5中,跟踪空间对用户产生的势场力具体如公式:

40、

41、其中n为跟踪空间边界段落数,m为跟踪空间内的其他用户数,l为跟踪空间内障碍物总数;uj为用户之间的排斥力,oz为障碍物对用户排斥力,边界排斥力wi取决用户到跟踪空间边界的距离以及到其他用户和障碍物的总距离;

42、所述步骤5中的平衡合力如公式:

43、v=μ1d+μ2p+μ3t

44、其中μ1、μ2、μ3作为系数用来平衡每个力的大小,d表示由步骤3得到的目标区域的吸引力fa,p表示由步骤4得到的最优导向空间的吸引力fo。

45、进一步地,步骤6具体如下:

46、以与步骤3相同的方式计算非当前用户所处区域的区域得分;然后,从中选择得分最高的区域的中心作为潜在的转向方向;以潜在转向方向为中心轴,分别向左右旋转角度θ,连同原先的潜在转向方向在内得到三条潜在目标方向v1、v2、v3;在这三条目标方向上,以采集半径rg和采集点步长lg按顺序分别进行三次步进采样;

47、选择与用户移动方向角度较大的异侧潜在目标方向为v2,以v1、v2、v3为顺序对三个潜在目标方向进行步进采样,并计算每个方向上的实际用户数;最后选择实际用户数最少的方向作为重置操作的转向方向;如果存在多个方向上实际用户数相同的情况,则将按照预定的v1、v2、v3顺序进行选择。

48、本发明具有的有益效果是:

49、1.本发明通过区域得分选择最佳导向区域,它可以更加宏观的调整用户在跟踪空间中的分布,提高跟踪空间利用率,避免用户区域性聚集问题。

50、2.本发明通过泊松盘采样选择最优导向空间,确保用户在移动至目标区域时减少与该区域内已存在的用户发生碰撞的可能性,同时提高区域的利用率。

51、3.本发明通过基于区域密度的重置方法,应对用户发生碰撞并确保其能快速离开碰撞路径,同时避免短时间内再次发生碰撞。还可以引导用户进入一个开放的安全区域,同时调整用户的分布情况。通过此方法,用户可以在安全的环境中继续其虚拟漫游活动。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1