在AR场景中动态加载资源的方法、电子设备和存储介质与流程

文档序号:34028128发布日期:2023-05-05 10:04阅读:133来源:国知局
在AR场景中动态加载资源的方法、电子设备和存储介质与流程

本发明涉及ar,特别是涉及一种在ar场景中动态加载资源的方法、电子设备和存储介质。


背景技术:

1、增强现实(augmented reality,即ar)技术是一种将虚拟信息与真实世界巧妙融合的技术。常见的ar终端设备(ar眼镜、ar投影仪)都具备深度摄像头、彩色摄像头等等一系列环境检测传感器,从而进行手势、3d物体、平面、图像等等一系列的识别能力,并将虚拟信息(文字、图像、三维模型、视频声音等)注册到现实世界的目标位置。

2、目前常用的大空间ar技术(即world ar)、百度提出的空间级ar等技术,都诣在结合vps的6dof高精位姿与ar终端上的slam追踪定位系统,实现在任意空间场景下进行ar体验。一般场景下,大空间ar是基于vps提供固定频率(例如5s per)端6dof信息给与ar终端上slam进行追踪误差矫正,实现高精度ar体验。

3、在现有的ar技术中,使用类似unity等三维引擎制作内容时,游戏引擎并不会直接提供资源优化,而是需要多少资源就会加载多少,使得做出来的内容体量大,加载时间长。在开放世界游戏应用中,用户进入游戏的初始位置都是固定且可控的,因此可以设置好固定的动态加载策略,每次用户进入游戏体验的时候都可以由固定的出生点由近向远或由重要向次要进行动态加载。

4、但是,ar终端在大空间ar技术下的ar体验中,用户每一次进入到ar场景中的位置随着用户在物理世界移动都是不确定的,因此无法跟开放世界游戏一样提前预设好基于固定出生点的加载顺序以及逻辑,无法很好的利用assetbundle技术。另外,ar终端上看到的所有内容都是基于vps的三维重建地图进行摆放的,因此所有模型资源都与此地图具备强绑定关系,在一张地图上可以无限摆放内容,导致一次性加载一张地图以及其模型资源需要比较久的时间;并且,ar终端一般都是移动设备,由于移动设备的cpu、gpu、ram或内存都有较大局限性,因此单次进行模型资源加载与实时可视化呈现无法与pc端的大型游戏相比较,从而无法保证ar终端上稳定的ar体验。


技术实现思路

1、本发明实施例提供了一种在ar场景中动态加载资源的方法、电子设备和存储介质,以至少解决相关技术中在ar场景中游戏人物出生地点不固定,无法利用assetbundle技术进行资源加载的问题。

2、第一方面,本发明实施例提供了一种在ar场景中动态加载资源的方法,应用在ar系统中,所述方法包括:

3、获取ar场景启动信号,根据所述ar场景启动信号选择相应的资源包;

4、根据所述ar场景启动信号加载相应的空场景;

5、检测到所述空场景加载完成后,开始在所述空场景中加载所述资源包和进行云定位,并实时检测云定位是否成功;

6、在云定位成功之前,按照模块大小逻辑在所述空场景中加载所述资源包;在云定位成功之后,按照空间距离逻辑在所述空场景中加载所述资源包;

7、在所有资源包全部加载完成后,对ar场景中的资源进行动态控制。

8、在其中一些实施例中,所述云定位的进行包括:

9、从穿戴的ar终端中获取当前拍摄的图像数据;

10、并将所述图像数据发送给视觉定位系统请求获取所述ar终端6dof位姿的动作或过程;

11、若请求失败,则不返回任何信号或返回云定位失败信号;若请求成功,则返回所述ar终端在三维重建地图下的坐标信息、朝向信息和云定位成功信号。

12、在其中一些实施例中,所述按照模块大小逻辑在所述空场景中加载所述资源包,包括:

13、获取所有资源包的模块大小,将所有资源包按照所述模块大小进行排序;

14、在加载资源包时,将资源包按照其对应模块大小的值从小到大的顺序进行加载。

15、在其中一些实施例中,所述按照空间距离逻辑在所述空场景中加载所述资源包,包括:

16、获取所述坐标信息,并根据所述坐标信息计算所述ar终端到每一资源包的模块距离,所述模块距离是指投射到地面的2d距离;

17、在加载资源包时,将资源包按照其对应模块距离的值从近到远的顺序进行加载。

18、在其中一些实施例中,所述计算所述ar终端到每一资源包的模块距离,包括:

19、根据所述坐标信息计算所述ar终端中ar相机的原点坐标;

20、获取每一资源包离所述ar相机的原点最远的资源位置作为该资源包的资源坐标;

21、根据每一资源包的资源坐标和所述原点坐标计算得到所述模块距离。

22、在其中一些实施例中,所述对ar场景中的资源进行动态控制,包括:

23、在用户移动过程中,获取资源加载半径和ar相机所在的当前位置;

24、以所述当前位置作为圆心,将进入所述资源加载半径的资源包加载出来,同时采用由远及近的原则,卸载远离所述圆心且不在所述资源加载半径内的资源包。

25、在其中一些实施例中,所述采用由远及近的原则,卸载远离所述圆心且不在所述资源加载半径内的资源包,包括:

26、步骤a,获取内存加载上限值和预设间隔时间;

27、步骤b,每经过所述预设间隔时间,对所述ar场景进行刷新;

28、步骤c,判断当前加载的资源包的内存大小总和是否大于所述内存加载上限值;若判断结果为否,返回步骤b;

29、步骤d,若判断结果为是,则计算每一资源包与所述圆心的距离,并卸载不在所述资源加载半径内容、且与所述圆心距离最远的资源包,返回步骤c。

30、在其中一些实施例中,所述资源加载半径的获取包括:

31、在用户开始移动前、所有资源包全部加载完成后,获取内存加载上限值;

32、以所述当前位置作为圆心,采用由远及近的原则卸载远离所述圆心且不在所述资源加载半径内的资源包,直至当前加载的资源包的内存总和不大于所述内存加载上限值;

33、计算当前加载的每一资源包到所述圆心的距离值,获取离所述圆心最远的资源包的距离值作为所述资源加载半径。

34、第二方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行以上任一实施例所述的ar场景中动态加载资源的方法。

35、第三方面,本发明实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以上任一实施例所述ar场景中动态加载资源的方法。

36、相比于相关技术,本发明实施例提供的。本发明通过在云定位成功前采用不同的资源加载逻辑,解决了ar终端在大空间ar技术下的ar体验中,用户每一次进入到ar场景中的位置随着用户在物理世界移动都是不确定的,因此无法跟开放世界游戏一样提前预设好基于固定出生点的加载顺序以及逻辑的问题,即本发明能够在用户进入ar场景中位置不固定的情况下,能够很好的利用assetbundle技术对资源包进行加载,保证游戏的正常启动。

37、另外,本发明利用大空间ar技术下的三维场景与开放世界游戏三维场景的相似性以及大空间ar技术基于vps动态实时获取ar终端6dof信息的优势,动态加载与卸载三维场景资源,不仅解决了用户初始位置不确定的问题,提高了ar终端上三维场景的加载速度,并且克服了大型三维场景无法在计算性能有限的移动ar终端上加载的问题。

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