
技术摘要:
本发明公开了一种游戏场景内的物理结算方法和装置。其中,该方法包括:对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;获取多个目标三维模型的待使用参数集合,其中,待使用参数集合包括:多个目标三维模型中每个目标三维模型的位 全部
背景技术:
在模拟现实的算法工具中,PGS和TGS(Temporal Gauss-Seidel Solver)结算器的 功能是用于对于模拟现实场景(游戏)中物体变化(包括外观、动作行为等)过程中,计算模 拟结果的工具,例如计算物体所在的位置、旋转角度、拼接方式等。 TGS结算的步骤多,调取的计算资源多,因此性能差,但由于计算过程严谨使得结 果准确,在物体之间的约束多且复杂,要求精度高的时候可以使用该工具进行结算; PGS结果过程相对精度差、且稳定性差,但由于结算速度快,因此,在游戏中可以进 行大量使用。 相关技术中,由于游戏中对碰撞的确定方法复杂且不够准确,因而需要占用大量 内存,影响游戏效果。 针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种游戏场景内的物理结算方法和装置,以至少解决由于相 关技术中游戏碰撞检测不够准确造成的影响游戏效果的技术问题。 根据本发明实施例的一个方面,提供了一种游戏场景内的物理结算方法,包括:对 三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型; 获取所述多个目标三维模型的待使用参数集合,其中,所述待使用参数集合包括:所述多个 目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向; 依据所述待使用参数集合进行物理结算,得到结算结果。 进一步地,对所述多个虚拟三维模型进行碰撞检测,确定所述多个目标三维模型 包括:选取步骤,从所述多个虚拟三维模型中选取当前待检测的虚拟三维模型;移除步骤, 利用宽相位碰撞检测算法从所述多个虚拟三维模型中移除第一类虚拟三维模型并保留第 二类虚拟三维模型,其中,所述第一类虚拟三维模型与所述待检测的虚拟三维模型之间的 距离大于预设阈值,所述第二类虚拟三维模型与所述待检测的虚拟三维模型之间的距离小 于或等于所述预设阈值;判断步骤,判断所述多个虚拟三维模型中的所有虚拟三维模型是 否均已遍历完毕,如果是,则将保留的所述第二类虚拟三维模型确定为所述多个目标三维 模型,如果否,则返回所述选取步骤。 进一步地,获取所述待使用参数集合包括:利用窄相位碰撞检测算法计算所述多 个目标三维模型中发生碰撞的碰撞点;将所述碰撞点的位置参数和所述碰撞点在所述碰撞 面上的法线方向确定为所述碰撞点所归属的目标三维模型的待使用参数集合。 进一步地,依据所述待使用参数集合进行物理结算,得到所述结算结果包括:基于 每个目标三维模型的受约束程度,将所述待使用参数集合设置为第一结算器和/或第二结 4 CN 111569424 A 说 明 书 2/8 页 算器的输入参数;利用所述第一结算器和/或所述第二结算器对所述输入参数进行迭代式 求解,得到所述结算结果。 进一步地,基于每个目标三维模型的受约束程度,将所述待使用参数集合设置为 所述输入参数包括:基于每个目标三维模型的受约束程度,将所述多个目标三维模型中第 一部分目标三维模型的第一部分待使用参数集合设置为所述第一结算器的输入参数,其 中,所述第一部分目标三维模型满足预设约束限定条件;基于每个目标三维模型的受约束 程度,将所述多个目标三维模型中第二部分目标三维模型的第二部分待使用参数集合设置 为所述第二结算器的输入参数,其中,所述第二部分目标三维模型未满足所述预设约束限 定条件。 根据本发明实施例的另一方面,还提供了一种游戏场景内的物理结算装置,包括: 检测模块,用于对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多 个目标三维模型;获取模块,用于获取所述多个目标三维模型的待使用参数集合,其中,所 述待使用参数集合包括:所述多个目标三维模型中每个目标三维模型的位置参数、每个目 标三维模型的碰撞面的法线方向;结算模块,用于依据所述待使用参数集合进行物理结算, 得到结算结果。 进一步地,所述检测模块包括:选取单元,用于从所述多个虚拟三维模型中选取当 前待检测的虚拟三维模型;移除单元,用于利用宽相位碰撞检测算法从所述多个虚拟三维 模型中移除第一类虚拟三维模型并保留第二类虚拟三维模型,其中,所述第一类虚拟三维 模型与所述待检测的虚拟三维模型之间的距离大于预设阈值,所述第二类虚拟三维模型与 所述待检测的虚拟三维模型之间的距离小于或等于所述预设阈值;判断单元,用于判断所 述多个虚拟三维模型中的所有虚拟三维模型是否均已遍历完毕,如果是,则将保留的所述 第二类虚拟三维模型确定为所述多个目标三维模型,如果否,则返回所述选取单元。 进一步地,所述获取模块包括:计算单元,用于利用窄相位碰撞检测算法计算所述 多个目标三维模型中发生碰撞的碰撞点;确定单元,用于将所述碰撞点的位置参数和所述 碰撞点在所述碰撞面上的法线方向确定为所述碰撞点所归属的目标三维模型的待使用参 数集合。 进一步地,所述结算模块包括:设置单元,用于基于每个目标三维模型的受约束程 度,将所述待使用参数集合设置为第一结算器和/或第二结算器的输入参数;结算单元,用 于利用所述第一结算器和/或所述第二结算器对所述输入参数进行迭代式求解,得到所述 结算结果。 进一步地,所述设置单元,用于基于每个目标三维模型的受约束程度,将所述多个 目标三维模型中第一部分目标三维模型的第一部分待使用参数集合设置为所述第一结算 器的输入参数,其中,所述第一部分目标三维模型满足预设约束限定条件;以及基于每个目 标三维模型的受约束程度,将所述多个目标三维模型中第二部分目标三维模型的第二部分 待使用参数集合设置为所述第二结算器的输入参数,其中,所述第二部分目标三维模型未 满足所述预设约束限定条件。 根据本发明实施例的另一方面,还提供了一种存储介质,存储有计算机程序,其 中,所述计算机程序被设置为运行时执行本发明所述的游戏场景内的物理结算方法。 根据本发明实施例的另一方面,还提供了一种处理器,用于运行程序,其中,所述 5 CN 111569424 A 说 明 书 3/8 页 程序被设置为运行时执行本发明所述的游戏场景内的物理结算方法。 根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,所 述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行本发明所 述的游戏场景内的物理结算方法。 在本发明实施例中,采用对三维游戏场景内的多个虚拟三维模型进行碰撞检测, 确定发生碰撞的多个目标三维模型;获取多个目标三维模型的待使用参数集合,其中,待使 用参数集合包括:多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型 的碰撞面的法线方向;依据待使用参数集合进行物理结算,得到结算结果,从而实现了对游 戏场景中的三维模型的碰撞计算更准确的技术效果,进而解决了由于相关技术中游戏碰撞 检测不够准确造成的影响游戏效果的技术问题。 附图说明 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 图1是根据本发明实施例的游戏场景内的物理结算方法; 图2是根据本发明实施例的一种可选的游戏场景内的物理结算装置的示意图。