虚拟物体的渲染方法、装置、设备及存储介质与流程
- 国知局
- 2024-07-11 16:07:11
本技术涉及虚拟环境,特别涉及一种虚拟物体的渲染方法、装置、设备及存储介质。
背景技术:
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、基于所述视野空间范围,在所述虚拟环境中确定缓存空间范围,所述缓存空间范围中的任一空间点与所述视野空间范围之间的距离大于第三距离阈值;
48、为缓存空间块建立缓存,所述缓存空间块是与所述缓存空间范围存在重叠,且与所述加载空间范围不存在重叠的所述空间块。
49、根据本技术的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟物体的渲染方法。
50、根据本技术的另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的虚拟物体的渲染方法。
51、根据本技术的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述如上方面所述的虚拟物体的渲染方法。
52、本技术提供的技术方案带来的有益效果至少包括:
53、通过对虚拟环境中的视野空间范围和空间块进行碰撞检测,基于空间块的碰撞结果确定对虚拟物体进行渲染,降低了判断是否对虚拟物体进行渲染的复杂程度;通过仅在视野空间范围和第一空间块之间存在碰撞的情况下进行二次碰撞检测,避免了第二虚拟对象的数量增加造成的碰撞检测次数多的问题,有效降低了计算复杂程度。
本文地址:https://www.jishuxx.com/zhuanli/20240615/77555.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。