一种异常碰撞检测方法、装置、电子设备及存储介质与流程

专利2025-06-08  25


本申请涉及计算机,特别涉及一种异常碰撞检测方法、装置、电子设备及存储介质。


背景技术:

1、相关技术中,对于虚拟场景中虚拟物体进行的异常碰撞检测是在将所有的虚拟场景资源打包进入虚拟场景安装包之后实施的,从而相关技术的异常碰撞检测是需要对虚拟场景安装包中各种临时场景区域内的虚拟物体进行检测的,进而造成了检测时间和计算资源上的浪费,不仅降低了检测效率,而且检测的准确性也较差。


技术实现思路

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、本申请实施例通过基于虚拟场景的资源配置信息来加载该虚拟场景所包含的各个场景区域中的虚拟对象,进而遍历加载的虚拟对象,对于遍历到的当前虚拟对象,基于该当前虚拟对象的网格体确定目标网格顶点数据,该目标网格顶点数据包括多个网格顶点的位置信息,并基于该当前虚拟对象对应的碰撞体确定碰撞体顶点数据,该碰撞体顶点数据包括多个碰撞体顶点的位置信息,对于每个碰撞体顶点,基于该碰撞体顶点的位置信息和上述目标网格顶点数据,确定该碰撞体顶点与当前虚拟对象的网格体之间的匹配度,并在该匹配度不满足预设匹配条件的情况下,将该碰撞体顶点确定为异常碰撞体顶点,从而上述技术方案实现了在虚拟场景的设计阶段对各游戏关卡中实际设计所用的虚拟对象进行异常碰撞检测,避免了因需要对各种临时关卡进行异常碰撞检测所造成的时间和计算资源上的浪费,不仅提高了检测效率,而且提高了异常碰撞检测的准确性。



技术特征:

1.一种异常碰撞检测方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述碰撞体顶点的位置信息和所述目标网格顶点数据,确定所述碰撞体顶点与所述网格体之间的匹配度,包括:

3.根据权利要求2所述的方法,其特征在于,所述在所述匹配度不满足预设匹配条件的情况下,将所述碰撞体顶点确定为异常碰撞体顶点,包括:

4.根据权利要求1所述的方法,其特征在于,所述基于所述当前虚拟对象的网格体确定目标网格顶点数据,包括:

5.根据权利要求4所述的方法,其特征在于,所述基于所述当前虚拟对象对应的碰撞体确定碰撞体顶点数据,包括:

6.根据权利要求1所述的方法,其特征在于,基于虚拟场景的资源配置信息,加载所述虚拟场景所包含的各个场景区域中的虚拟对象,包括:

7.根据权利要求1~6中任一项所述的方法,其特征在于,所述方法还包括:

8.一种异常碰撞检测装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现如权利要求1~7中任一项所述的异常碰撞检测方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如权利要求1~7任一项所述的异常碰撞检测方法。

11.一种计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任一项所述的异常碰撞检测方法。


技术总结
本申请公开了一种异常碰撞检测方法、装置、电子设备及存储介质,该方法包括:基于虚拟场景的资源配置信息加载各个场景区域中的虚拟对象;遍历加载的虚拟对象,对于遍历到的当前虚拟对象,基于当前虚拟对象的网格体和对应的碰撞体分别确定目标网格顶点数据和碰撞体顶点数据;对于碰撞体顶点数据中的每个碰撞体顶点,基于该碰撞体顶点的位置信息和目标网格顶点数据,确定该碰撞体顶点与所述网格体之间的匹配度,若该匹配度不满足预设匹配条件,则将该碰撞体顶点确定为异常碰撞体顶点。本申请避免了因需要对各种临时关卡进行异常碰撞检测所造成的时间和计算资源上的浪费。

技术研发人员:杨帆
受保护的技术使用者:深圳市腾讯网络信息技术有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-25126.html