System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 虚拟物体的渲染方法、装置、设备及存储介质制造方法及图纸_技高网

虚拟物体的渲染方法、装置、设备及存储介质制造方法及图纸

技术编号:40961995 阅读:5 留言:0更新日期:2024-04-18 20:40
本申请公开了一种虚拟物体的渲染方法、装置、设备及存储介质,属于虚拟环境技术领域。该方法包括:对虚拟环境中的视野空间范围和空间块进行碰撞检测;在视野空间范围和第一空间块之间存在碰撞的情况下,对视野空间范围和第一空间块中的空间子块进行碰撞检测,第一空间块包括至少一个空间子块;在视野空间范围和第一空间子块之间存在碰撞的情况下,对第一空间子块中的第二虚拟物体进行渲染。本申请通过对虚拟环境中的视野空间范围和空间块进行碰撞检测,仅在视野空间范围和第一空间块之间存在碰撞的情况下进行二次碰撞检测,避免了第二虚拟对象的数量增加造成的碰撞检测次数多的问题,有效降低了计算复杂程度。

【技术实现步骤摘要】

本申请涉及虚拟环境,特别涉及一种虚拟物体的渲染方法、装置、设备及存储介质


技术介绍

1、随着互联网技术的发展,为了追求在虚拟环境中的沉浸感,虚拟环境中虚拟物体的数量日益增多。

2、相关技术中,通过对视野空间范围和虚拟环境中的虚拟物体的边缘点逐个进行碰撞检测,判断虚拟物体是否位于视野空间范围中,对位于视野空间范围中的虚拟物体进行渲染,得到虚拟环境的图像。

3、然而,随着虚拟物体的数量增多,上述过程需要进行大量碰撞检测,实际应用过程中对计算机设备的计算能力提出了很高要求,如何降低计算复杂程度是亟待解决的问题。


技术实现思路

1、本申请提供了一种虚拟物体的渲染方法、装置、设备及存储介质,所述技术方案如下:

2、根据本申请的一方面,提供了一种虚拟物体的渲染方法,所述方法包括:

3、对虚拟环境中的视野空间范围和空间块进行碰撞检测,所述虚拟环境包括至少一个所述空间块;

4、在所述视野空间范围和第一空间块之间存在碰撞的情况下,对所述视野空间范围和所述第一空间块中的空间子块进行碰撞检测,所述第一空间块包括至少一个所述空间子块;

5、在所述视野空间范围和所述第一空间子块之间存在碰撞的情况下,对所述第一空间子块中的第二虚拟物体进行渲染。

6、根据本申请的另一方面,提供了一种虚拟物体的渲染装置,所述装置包括:

7、检测模块,用于对虚拟环境中的视野空间范围和空间块进行碰撞检测,所述虚拟环境包括至少一个所述空间块;

8、所述检测模块,还用于在所述视野空间范围和第一空间块之间存在碰撞的情况下,对所述视野空间范围和所述第一空间块中的空间子块进行碰撞检测,所述第一空间块包括至少一个所述空间子块;

9、渲染模块,用于在所述视野空间范围和所述第一空间子块之间存在碰撞的情况下,对所述第一空间子块中的第二虚拟物体进行渲染。

10、在本申请的一个可选设计中,所述空间子块的位置是根据所述第二虚拟物体的位置确定的,所述空间子块在所述第一空间块中的排列方式为非密铺排列。

11、在本申请的一个可选设计中,所述第一空间块中包含第一虚拟物体和所述第二虚拟物体,所述空间子块中包含所述第二虚拟物体;

12、其中,所述第一虚拟物体的尺寸大于所述空间块对应的尺寸阈值;所述第二虚拟物体的尺寸小于或等于所述尺寸阈值。

13、在本申请的一个可选设计中,所述渲染模块,还用于:

14、在所述视野空间范围和所述第一空间块之间存在碰撞的情况下,对所述第一空间块中的所述第一虚拟物体进行渲染。

15、在本申请的一个可选设计中,所述装置还包括:

16、确定模块,用于在所述视野空间范围和第二空间块之间不存在碰撞的情况下,将所述第二空间块中的第一虚拟物体和/或第二虚拟物体确定为隐藏状态。

17、在本申请的一个可选设计中,所述渲染模块,还用于:

18、在所述视野空间范围和所述第一空间子块之间存在碰撞,且未分配内存空间的情况下,确定所述第一空间子块中所述第二虚拟物体的数量;

19、根据所述第二虚拟物体的数量,分配所述内存空间;

20、基于所述内存空间,对所述第二虚拟物体的参数矩阵设置参数信息和索引信息,所述参数信息用于指示所述第二虚拟物体在所述虚拟环境中的物体形态,所述索引信息用于指示所述第二虚拟物体与所述第一空间子块之间的索引关系;

21、基于所述第二虚拟物体的参数矩阵,对所述第二虚拟物体进行渲染。

22、在本申请的一个可选设计中,所述渲染模块,还用于:

23、在所述视野空间范围和所述第一空间子块之间存在碰撞,且已分配内存空间的情况下,将所述第二空间块中的所述第二虚拟物体添加至所述内存空间的显示列表;

24、基于所述第二虚拟物体的参数矩阵,对所述显示列表中的所述第二虚拟物体进行渲染。

25、在本申请的一个可选设计中,所述装置还包括:

26、处理模块,用于在所述内存空间未产生溢出的情况下,对所述第二虚拟物体的参数矩阵设置参数信息和索引信息;

27、所述处理模块,还用于在所述内存空间产生溢出的情况下,将所述第二虚拟物体添加至待处理列表,以及分配新的内存空间;

28、所述处理模块,还用于在所述新的内存空间中,复用所述待处理列表和所述显示列表;

29、所述处理模块,还用于对所述待处理列表中的第二虚拟物体的参数矩阵设置参数信息和索引信息;

30、其中,所述参数信息用于指示所述第二虚拟物体在所述虚拟环境中的物体形态,所述索引信息用于指示所述第二虚拟物体与所述第一空间子块之间的索引关系。

31、在本申请的一个可选设计中,所述装置还包括:

32、处理模块,用于在所述视野空间范围和第二空间子块之间不存在碰撞的情况下,将所述第二空间子块中的第二虚拟物体添加至隐藏列表;

33、所述处理模块,还用于将所述隐藏列表中的第二虚拟物体确定为隐藏状态。

34、在本申请的一个可选设计中,所述渲染模块还用于:

35、在所述第二虚拟物体存在阴影的情况下,为所述第二虚拟物体添加阴影绘制标识,以及将所述第二虚拟物体添加至阴影列表;

36、基于所述第二虚拟物体的参数矩阵,对所述阴影列表中的所述第二虚拟物体和所述第二虚拟物体的阴影进行渲染。

37、在本申请的一个可选设计中,所述检测模块还用于:

38、对视野投影和空间块投影进行碰撞检测,所述视野投影为所述视野空间范围在所述虚拟环境的水平面上的投影,所述空间块投影为所述空间块在所述虚拟环境的水平面上的投影;

39、在所述视野投影和第一空间块投影之间存在碰撞的情况下,对所述视野投影和空间子块投影进行碰撞检测,所述空间子块投影为所述空间子块在所述虚拟环境的水平面上的投影。

40、在本申请的一个可选设计中,所述装置还包括:

41、处理模块,用于以所述视野空间范围为中心,在所述虚拟环境中确定加载空间范围,所述加载空间范围中的任一空间点与所述视野空间范围之间的距离小于第一距离阈值;

42、所述处理模块,还用于在内存空间中对加载空间块进行加载处理,所述加载空间块是与所述加载空间范围存在重叠的所述空间块。

43、在本申请的一个可选设计中,所述处理模块,还用于:

44、基于所述视野空间范围,在所述虚拟环境中确定清除空间范围,所述清除空间范围中的任一空间点与所述视野空间范围之间的距离大于第二距离阈值;

45、在内存空间中对清除空间块进行删除处理,所述清除空间块是与所述清除空间范围存在重叠,且与所述加载空间范围不存在重叠的所述空间块。

46、在本申请的一个可选设计中,所述处理模块,还用于:

47、基于所述视野空间范围,在所述虚拟环境中确定缓存空间本文档来自技高网...

【技术保护点】

1.一种虚拟物体的渲染方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述空间子块的位置是根据所述第二虚拟物体的位置确定的,所述空间子块在所述第一空间块中的排列方式为非密铺排列。

3.根据权利要求2所述的方法,其特征在于,所述第一空间块中包含第一虚拟物体和所述第二虚拟物体,所述空间子块中包含所述第二虚拟物体;

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一所述的方法,其特征在于,所述在所述视野空间范围和所述第一空间子块之间存在碰撞的情况下,对所述第一空间子块中的第二虚拟物体进行渲染,包括:

7.根据权利要求1至5任一所述的方法,其特征在于,所述在所述视野空间范围和所述第一空间子块之间存在碰撞的情况下,对所述第一空间子块中的第二虚拟物体进行渲染,包括:

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

9.根据权利要求7所述的方法,其特征在于,所述方法还包括:

10.根据权利要求7所述的方法,其特征在于,所述方法还包括:

11.根据权利要求1至5任一所述的方法,其特征在于,所述对虚拟环境中的视野空间范围和空间块进行碰撞检测,包括:

12.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:

13.根据权利要求12所述的方法,其特征在于,所述方法还包括:

14.根据权利要求12所述的方法,其特征在于,所述方法还包括:

15.一种虚拟物体的渲染装置,其特征在于,所述装置包括:

16.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一段程序;所述处理器,用于执行所述存储器中的所述至少一段程序以实现上述如权利要求1至14任一所述的虚拟物体的渲染方法。

17.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有可执行指令,所述可执行指令由处理器加载并执行以实现上述如权利要求1至14任一所述的虚拟物体的渲染方法。

18.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述如权利要求1至14任一所述的虚拟物体的渲染方法。

...

【技术特征摘要】

1.一种虚拟物体的渲染方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述空间子块的位置是根据所述第二虚拟物体的位置确定的,所述空间子块在所述第一空间块中的排列方式为非密铺排列。

3.根据权利要求2所述的方法,其特征在于,所述第一空间块中包含第一虚拟物体和所述第二虚拟物体,所述空间子块中包含所述第二虚拟物体;

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一所述的方法,其特征在于,所述在所述视野空间范围和所述第一空间子块之间存在碰撞的情况下,对所述第一空间子块中的第二虚拟物体进行渲染,包括:

7.根据权利要求1至5任一所述的方法,其特征在于,所述在所述视野空间范围和所述第一空间子块之间存在碰撞的情况下,对所述第一空间子块中的第二虚拟物体进行渲染,包括:

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

9.根据权利要求7所述的方法,其特征在于,所述方法还包括:

10.根据权利要求7所述的方法,其特征在于,所述方法还包括:...

【专利技术属性】
技术研发人员:张道明朱光育李振
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1