System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种场景对象的遮挡裁剪方法、装置、终端及存储介质制造方法及图纸_技高网

一种场景对象的遮挡裁剪方法、装置、终端及存储介质制造方法及图纸

技术编号:40830999 阅读:10 留言:0更新日期:2024-04-01 14:54
本申请提供了一种场景对象的遮挡裁剪方法、装置、终端及存储介质,属于计算机技术领域。方法包括:对于虚拟空间的多个场景区域中的任一场景区域,从多个场景区域中,确定场景区域的至少一个相关区域;对场景区域和至少一个相关区域进行场景构建,得到场景区域的可见性信息;响应于对象显示指令,基于目标场景区域的可见性信息,对场景对象进行遮挡裁剪,显示目标场景区域中剩余的场景对象以及至少一个相关区域中剩余的场景对象。上述技术方案,能够只加载目标场景区域中各个可见性单元的可见性集,而不需加载虚拟空间中所有可见性单元的可见性集,减少了加载可见性信息时的内存占用量,提高了场景对象的加载效率。

【技术实现步骤摘要】

本申请涉及计算机,特别涉及一种场景对象的遮挡裁剪方法、装置、终端及存储介质


技术介绍

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、本申请实施例提供了一种场景对象的遮挡裁剪方法,通过将虚拟空间划分为多个场景区域,然后确定各个场景区域的相关区域本文档来自技高网...

【技术保护点】

1.一种场景对象的遮挡裁剪方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对于虚拟空间的多个场景区域中的任一场景区域,从所述多个场景区域中,确定所述场景区域的至少一个相关区域,包括:

3.根据权利要求2所述的方法,其特征在于,所述至少一个方向包括相互垂直的第一水平方向和第二水平方向;

4.根据权利要求2所述的方法,其特征在于,所述至少一个方向包括相互垂直的第一水平方向和第二水平方向;

5.根据权利要求2所述的方法,其特征在于,所述以所述至少一个方向上的加载距离为距离阈值,从所述多个场景区域中,确定所述场景区域的至少一个相关区域,包括:

6.根据权利要求1所述的方法,其特征在于,所述对所述场景区域和所述至少一个相关区域进行场景构建,得到所述场景区域的可见性信息,包括:

7.根据权利要求1所述的方法,其特征在于,所述响应于对象显示指令,基于目标场景区域的可见性信息,对场景对象进行遮挡裁剪,显示所述目标场景区域中剩余的场景对象以及所述目标场景区域的至少一个相关区域中剩余的场景对象,包括:

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

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

10.一种场景对象的遮挡裁剪装置,其特征在于,所述装置包括:

11.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行权利要求1至9任一项权利要求所述的场景对象的遮挡裁剪方法。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段计算机程序,所述至少一段计算机程序用于执行权利要求1至9任一项权利要求所述的场景对象的遮挡裁剪方法。

13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项权利要求所述的场景对象的遮挡裁剪方法。

...

【技术特征摘要】

1.一种场景对象的遮挡裁剪方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述对于虚拟空间的多个场景区域中的任一场景区域,从所述多个场景区域中,确定所述场景区域的至少一个相关区域,包括:

3.根据权利要求2所述的方法,其特征在于,所述至少一个方向包括相互垂直的第一水平方向和第二水平方向;

4.根据权利要求2所述的方法,其特征在于,所述至少一个方向包括相互垂直的第一水平方向和第二水平方向;

5.根据权利要求2所述的方法,其特征在于,所述以所述至少一个方向上的加载距离为距离阈值,从所述多个场景区域中,确定所述场景区域的至少一个相关区域,包括:

6.根据权利要求1所述的方法,其特征在于,所述对所述场景区域和所述至少一个相关区域进行场景构建,得到所述场景区域的可见性信息,包括:

7.根据权利要求1所述的方法,其特征在于,所述响应于对象显示指令,基于目标场景区域的可见性信息,对场景对象进行...

【专利技术属性】
技术研发人员:邵珍燕
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1