CN111569424B - 游戏场景内的物理结算方法和装置 - Google Patents
游戏场景内的物理结算方法和装置 Download PDFInfo
- Publication number
- CN111569424B CN111569424B CN202010408562.5A CN202010408562A CN111569424B CN 111569424 B CN111569424 B CN 111569424B CN 202010408562 A CN202010408562 A CN 202010408562A CN 111569424 B CN111569424 B CN 111569424B
- Authority
- CN
- China
- Prior art keywords
- target
- virtual
- dimensional
- dimensional model
- dimensional models
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
Abstract
本发明公开了一种游戏场景内的物理结算方法和装置。其中,该方法包括:对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;获取多个目标三维模型的待使用参数集合,其中,待使用参数集合包括:多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;依据待使用参数集合进行物理结算,得到结算结果。本发明解决了由于相关技术中游戏碰撞检测不够准确造成的影响游戏效果的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种游戏场景内的物理结算方法和装置。
背景技术
在模拟现实的算法工具中,PGS和TGS(Temporal Gauss-Seidel Solver)结算器的功能是用于对于模拟现实场景(游戏)中物体变化(包括外观、动作行为等)过程中,计算模拟结果的工具,例如计算物体所在的位置、旋转角度、拼接方式等。
TGS结算的步骤多,调取的计算资源多,因此性能差,但由于计算过程严谨使得结果准确,在物体之间的约束多且复杂,要求精度高的时候可以使用该工具进行结算;
PGS结果过程相对精度差、且稳定性差,但由于结算速度快,因此,在游戏中可以进行大量使用。
相关技术中,由于游戏中对碰撞的确定方法复杂且不够准确,因而需要占用大量内存,影响游戏效果。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种游戏场景内的物理结算方法和装置,以至少解决由于相关技术中游戏碰撞检测不够准确造成的影响游戏效果的技术问题。
根据本发明实施例的一个方面,提供了一种游戏场景内的物理结算方法,包括:对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;获取所述多个目标三维模型的待使用参数集合,其中,所述待使用参数集合包括:所述多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;依据所述待使用参数集合进行物理结算,得到结算结果。
进一步地,对所述多个虚拟三维模型进行碰撞检测,确定所述多个目标三维模型包括:选取步骤,从所述多个虚拟三维模型中选取当前待检测的虚拟三维模型;移除步骤,利用宽相位碰撞检测算法从所述多个虚拟三维模型中移除第一类虚拟三维模型并保留第二类虚拟三维模型,其中,所述第一类虚拟三维模型与所述待检测的虚拟三维模型之间的距离大于预设阈值,所述第二类虚拟三维模型与所述待检测的虚拟三维模型之间的距离小于或等于所述预设阈值;判断步骤,判断所述多个虚拟三维模型中的所有虚拟三维模型是否均已遍历完毕,如果是,则将保留的所述第二类虚拟三维模型确定为所述多个目标三维模型,如果否,则返回所述选取步骤。
进一步地,获取所述待使用参数集合包括:利用窄相位碰撞检测算法计算所述多个目标三维模型中发生碰撞的碰撞点;将所述碰撞点的位置参数和所述碰撞点在所述碰撞面上的法线方向确定为所述碰撞点所归属的目标三维模型的待使用参数集合。
进一步地,依据所述待使用参数集合进行物理结算,得到所述结算结果包括:基于每个目标三维模型的受约束程度,将所述待使用参数集合设置为第一结算器和/或第二结算器的输入参数;利用所述第一结算器和/或所述第二结算器对所述输入参数进行迭代式求解,得到所述结算结果。
进一步地,基于每个目标三维模型的受约束程度,将所述待使用参数集合设置为所述输入参数包括:基于每个目标三维模型的受约束程度,将所述多个目标三维模型中第一部分目标三维模型的第一部分待使用参数集合设置为所述第一结算器的输入参数,其中,所述第一部分目标三维模型满足预设约束限定条件;基于每个目标三维模型的受约束程度,将所述多个目标三维模型中第二部分目标三维模型的第二部分待使用参数集合设置为所述第二结算器的输入参数,其中,所述第二部分目标三维模型未满足所述预设约束限定条件。
根据本发明实施例的另一方面,还提供了一种游戏场景内的物理结算装置,包括:检测模块,用于对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;获取模块,用于获取所述多个目标三维模型的待使用参数集合,其中,所述待使用参数集合包括:所述多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;结算模块,用于依据所述待使用参数集合进行物理结算,得到结算结果。
进一步地,所述检测模块包括:选取单元,用于从所述多个虚拟三维模型中选取当前待检测的虚拟三维模型;移除单元,用于利用宽相位碰撞检测算法从所述多个虚拟三维模型中移除第一类虚拟三维模型并保留第二类虚拟三维模型,其中,所述第一类虚拟三维模型与所述待检测的虚拟三维模型之间的距离大于预设阈值,所述第二类虚拟三维模型与所述待检测的虚拟三维模型之间的距离小于或等于所述预设阈值;判断单元,用于判断所述多个虚拟三维模型中的所有虚拟三维模型是否均已遍历完毕,如果是,则将保留的所述第二类虚拟三维模型确定为所述多个目标三维模型,如果否,则返回所述选取单元。
进一步地,所述获取模块包括:计算单元,用于利用窄相位碰撞检测算法计算所述多个目标三维模型中发生碰撞的碰撞点;确定单元,用于将所述碰撞点的位置参数和所述碰撞点在所述碰撞面上的法线方向确定为所述碰撞点所归属的目标三维模型的待使用参数集合。
进一步地,所述结算模块包括:设置单元,用于基于每个目标三维模型的受约束程度,将所述待使用参数集合设置为第一结算器和/或第二结算器的输入参数;结算单元,用于利用所述第一结算器和/或所述第二结算器对所述输入参数进行迭代式求解,得到所述结算结果。
进一步地,所述设置单元,用于基于每个目标三维模型的受约束程度,将所述多个目标三维模型中第一部分目标三维模型的第一部分待使用参数集合设置为所述第一结算器的输入参数,其中,所述第一部分目标三维模型满足预设约束限定条件;以及基于每个目标三维模型的受约束程度,将所述多个目标三维模型中第二部分目标三维模型的第二部分待使用参数集合设置为所述第二结算器的输入参数,其中,所述第二部分目标三维模型未满足所述预设约束限定条件。
根据本发明实施例的另一方面,还提供了一种存储介质,存储有计算机程序,其中,所述计算机程序被设置为运行时执行本发明所述的游戏场景内的物理结算方法。
根据本发明实施例的另一方面,还提供了一种处理器,用于运行程序,其中,所述程序被设置为运行时执行本发明所述的游戏场景内的物理结算方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行本发明所述的游戏场景内的物理结算方法。
在本发明实施例中,采用对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;获取多个目标三维模型的待使用参数集合,其中,待使用参数集合包括:多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;依据待使用参数集合进行物理结算,得到结算结果,从而实现了对游戏场景中的三维模型的碰撞计算更准确的技术效果,进而解决了由于相关技术中游戏碰撞检测不够准确造成的影响游戏效果的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的游戏场景内的物理结算方法;
图2是根据本发明实施例的一种可选的游戏场景内的物理结算装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种游戏场景内的物理结算的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的游戏场景内的物理结算方法,如图1所示,该方法包括如下步骤:
步骤S102,对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;
步骤S104,获取多个目标三维模型的待使用参数集合,其中,待使用参数集合包括:多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;
步骤S106,依据待使用参数集合进行物理结算,得到结算结果。
通过上述步骤,可以实现对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;获取多个目标三维模型的待使用参数集合,其中,待使用参数集合包括:多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;依据待使用参数集合进行物理结算,得到结算结果,从而实现了对游戏场景中的三维模型的碰撞计算更准确的技术效果,进而解决了由于相关技术中游戏碰撞检测不够准确造成的影响游戏效果的技术问题。
本发明实施例的技术方案可以应用到三维游戏场景的物体碰撞检测计算中,三维游戏场景内有至少两个虚拟三维模型,模型可以是静态物体也可以是活动物体或者游戏角色,对游戏场景内的多个三维模型进行碰撞检测,确定出发生碰撞的目标三维模型,获取这些目标三维模型的所有待使用参数,包括每个目标三维模型的位置参数和碰撞面的法线方向,除了这些参数,还可以获取更多参数,根据具体应用场景不同可以更改待使用参数的类型,根据这些待使用的参数集合进行物理结算,得到结算结果,物理结算的过程可以是对碰撞过程的相关数据进行结算。
可选地,对多个虚拟三维模型进行碰撞检测,确定多个目标三维模型包括以下三个步骤:
选取步骤,从多个虚拟三维模型中选取当前待检测的虚拟三维模型;
移除步骤,利用宽相位碰撞检测算法从多个虚拟三维模型中移除第一类虚拟三维模型并保留第二类虚拟三维模型,其中,第一类虚拟三维模型与待检测的虚拟三维模型之间的距离大于预设阈值,第二类虚拟三维模型与待检测的虚拟三维模型之间的距离小于或等于预设阈值;
判断步骤,判断多个虚拟三维模型中的所有虚拟三维模型是否均已遍历完毕,如果是,则将保留的第二类虚拟三维模型确定为多个目标三维模型,如果否,则返回选取步骤。
在具体游戏场景中,可能有多个虚拟三维模型,对于两个虚拟三维模型来说,如果其距离超过了一定的距离(预设阈值),则其两者不会发生碰撞,因而在进行碰撞检测时可以排除掉这两者的碰撞可能,每个检测进程选取当前待检测的虚拟三维模型,利用宽相位碰撞检测算法移除与待检测的虚拟三维模型之间距离超过设定距离的一类虚拟三维模型,保留与待检测的虚拟三维模型之间距离小于等于设定距离的一类虚拟三维模型,直至整个场景中的所有虚拟三维模型都遍历完成,就只剩下第二类虚拟三维模型。
可选地,获取待使用参数集合包括:利用窄相位碰撞检测算法计算多个目标三维模型中发生碰撞的碰撞点;将碰撞点的位置参数和碰撞点在碰撞面上的法线方向确定为碰撞点所归属的目标三维模型的待使用参数集合。
获取多个目标三维模型的待使用参数集合是通过窄相位碰撞检测算法计算的,计算出多个目标三维模型中发生碰撞的碰撞点后,将碰撞点的位置参数和碰撞点在碰撞面上的法线方向确定为碰撞点所归属的目标三维模型的待使用参数集合,通过宽相位碰撞检测算法和窄相位碰撞检测算法结合使用,可以使碰撞过程的计算更加快速高效,也更加准确。
可选地,依据待使用参数集合进行物理结算,得到结算结果包括:基于每个目标三维模型的受约束程度,将待使用参数集合设置为第一结算器和/或第二结算器的输入参数;利用第一结算器和/或第二结算器对输入参数进行迭代式求解,得到结算结果。
第一结算器和第二结算器可以是PGS结算器和TGS结算器,TGS结算器可以用于结算游戏场景中受到约束比较多的模型,PGS结算器用于结算游戏场景中受到约束比较少的模型,本实施例所称的受约束程度可以是自由度受到的限制程度,例如,门轴对门的约束情况,如果没有门轴约束,门有六个自由度,xyz方向的移动和绕xyz轴的旋转,有了门轴约束,其自由度减少,基于每个目标三维模型的受约束程度,将待使用参数集合设置为第一结算器和/或第二结算器的输入参数,后利用两种结算器分别对输入参数进行迭代式求解,得到结算结果。
可选地,基于每个目标三维模型的受约束程度,将待使用参数集合设置为输入参数包括:基于每个目标三维模型的受约束程度,将多个目标三维模型中第一部分目标三维模型的第一部分待使用参数集合设置为第一结算器的输入参数,其中,第一部分目标三维模型满足预设约束限定条件;基于每个目标三维模型的受约束程度,将多个目标三维模型中第二部分目标三维模型的第二部分待使用参数集合设置为第二结算器的输入参数,其中,第二部分目标三维模型未满足预设约束限定条件。
由于使用两个结算器来结算,因而将满足预设的约束限定条件的目标三维模型的对应的待使用参数集合分别输入到两个结算器中,输入到两个结算器中的待使用参数集合不同,两个结算器根据不同的待使用参数集合来对碰撞进程进行物理结算。
通过本实施例的上述方案,可以使三维游戏场景内的碰撞过程物理结算更加准确高效,提高游戏过程的用户体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明的另一实施例,还提供了一种用于实施上述游戏场景内的物理结算方法的游戏场景内的物理结算装置。图2是根据本发明实施例的一种可选的游戏场景内的物理结算装置的示意图,如图2所示,该装置可以包括:
检测模块10,用于对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;
获取模块20,用于获取多个目标三维模型的待使用参数集合,其中,待使用参数集合包括:多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;
结算模块30,用于依据待使用参数集合进行物理结算,得到结算结果。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以通过软件实现,也可以通过硬件实现。
通过上述模块,可以解决游戏碰撞检测不够准确造成的影响游戏效果的技术问题,进而达到对游戏场景中的三维模型的碰撞计算更准确的技术效果。
可选地,检测模块包括:选取单元,用于从多个虚拟三维模型中选取当前待检测的虚拟三维模型;移除单元,用于利用宽相位碰撞检测算法从多个虚拟三维模型中移除第一类虚拟三维模型并保留第二类虚拟三维模型,其中,第一类虚拟三维模型与待检测的虚拟三维模型之间的距离大于预设阈值,第二类虚拟三维模型与待检测的虚拟三维模型之间的距离小于或等于预设阈值;判断单元,用于判断多个虚拟三维模型中的所有虚拟三维模型是否均已遍历完毕,如果是,则将保留的第二类虚拟三维模型确定为多个目标三维模型,如果否,则返回选取单元。
可选地,获取模块包括:计算单元,用于利用窄相位碰撞检测算法计算多个目标三维模型中发生碰撞的碰撞点;确定单元,用于将碰撞点的位置参数和碰撞点在碰撞面上的法线方向确定为碰撞点所归属的目标三维模型的待使用参数集合。
可选地,结算模块包括:设置单元,用于基于每个目标三维模型的受约束程度,将待使用参数集合设置为第一结算器和/或第二结算器的输入参数;结算单元,用于利用第一结算器和/或第二结算器对输入参数进行迭代式求解,得到结算结果。
可选地,设置单元用于基于每个目标三维模型的受约束程度,将多个目标三维模型中第一部分目标三维模型的第一部分待使用参数集合设置为第一结算器的输入参数,其中,第一部分目标三维模型满足预设约束限定条件;以及基于每个目标三维模型的受约束程度,将多个目标三维模型中第二部分目标三维模型的第二部分待使用参数集合设置为第二结算器的输入参数,其中,第二部分目标三维模型未满足预设约束限定条件。
根据本发明实施例,还提供了一种用于实施上述游戏场景内的物理结算方法的电子装置,该电子装置包括:
1)处理器
2)存储器
可选地,本实施例中的具体示例可以参考上述实施例所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种存储介质。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;
S2,获取多个目标三维模型的待使用参数集合,其中,待使用参数集合包括:多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;
S3,依据待使用参数集合进行物理结算,得到结算结果。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
选取步骤,从多个虚拟三维模型中选取当前待检测的虚拟三维模型;移除步骤,利用宽相位碰撞检测算法从多个虚拟三维模型中移除第一类虚拟三维模型并保留第二类虚拟三维模型,其中,第一类虚拟三维模型与待检测的虚拟三维模型之间的距离大于预设阈值,第二类虚拟三维模型与待检测的虚拟三维模型之间的距离小于或等于预设阈值;判断步骤,判断多个虚拟三维模型中的所有虚拟三维模型是否均已遍历完毕,如果是,则将保留的第二类虚拟三维模型确定为多个目标三维模型,如果否,则返回选取步骤。
利用窄相位碰撞检测算法计算多个目标三维模型中发生碰撞的碰撞点;将碰撞点的位置参数和碰撞点在碰撞面上的法线方向确定为碰撞点所归属的目标三维模型的待使用参数集合。
基于每个目标三维模型的受约束程度,将待使用参数集合设置为第一结算器和/或第二结算器的输入参数;利用第一结算器和/或第二结算器对输入参数进行迭代式求解,得到结算结果。
基于每个目标三维模型的受约束程度,将多个目标三维模型中第一部分目标三维模型的第一部分待使用参数集合设置为第一结算器的输入参数,其中,第一部分目标三维模型满足预设约束限定条件;基于每个目标三维模型的受约束程度,将多个目标三维模型中第二部分目标三维模型的第二部分待使用参数集合设置为第二结算器的输入参数,其中,第二部分目标三维模型未满足预设约束限定条件。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的程序代码,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种游戏场景内的物理结算方法,其特征在于,包括:
对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;
获取所述多个目标三维模型的待使用参数集合,其中,所述待使用参数集合包括:所述多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;
依据所述待使用参数集合进行物理结算,得到结算结果;
其中,对所述多个虚拟三维模型进行碰撞检测,确定所述多个目标三维模型包括:
选取步骤,从所述多个虚拟三维模型中选取当前待检测的虚拟三维模型;
移除步骤,利用宽相位碰撞检测算法从所述多个虚拟三维模型中移除第一类虚拟三维模型并保留第二类虚拟三维模型,其中,所述第一类虚拟三维模型与所述待检测的虚拟三维模型之间的距离大于预设阈值,所述第二类虚拟三维模型与所述待检测的虚拟三维模型之间的距离小于或等于所述预设阈值;
判断步骤,判断所述多个虚拟三维模型中的所有虚拟三维模型是否均已遍历完毕,如果是,则将保留的所述第二类虚拟三维模型确定为所述多个目标三维模型,如果否,则返回所述选取步骤。
2.根据权利要求1所述的方法,其特征在于,获取所述待使用参数集合包括:
利用窄相位碰撞检测算法计算所述多个目标三维模型中发生碰撞的碰撞点;
将所述碰撞点的位置参数和所述碰撞点在所述碰撞面上的法线方向确定为所述碰撞点所归属的目标三维模型的待使用参数集合。
3.根据权利要求1所述的方法,其特征在于,依据所述待使用参数集合进行物理结算,得到所述结算结果包括:
基于每个目标三维模型的受约束程度,将所述待使用参数集合设置为第一结算器和/或第二结算器的输入参数;
利用所述第一结算器和/或所述第二结算器对所述输入参数进行迭代式求解,得到所述结算结果。
4.根据权利要求3所述的方法,其特征在于,基于每个目标三维模型的受约束程度,将所述待使用参数集合设置为所述输入参数包括:
基于每个目标三维模型的受约束程度,将所述多个目标三维模型中第一部分目标三维模型的第一部分待使用参数集合设置为所述第一结算器的输入参数,其中,所述第一部分目标三维模型满足预设约束限定条件;
基于每个目标三维模型的受约束程度,将所述多个目标三维模型中第二部分目标三维模型的第二部分待使用参数集合设置为所述第二结算器的输入参数,其中,所述第二部分目标三维模型未满足所述预设约束限定条件。
5.一种游戏场景内的物理结算装置,其特征在于,包括:
检测模块,用于对三维游戏场景内的多个虚拟三维模型进行碰撞检测,确定发生碰撞的多个目标三维模型;
获取模块,用于获取所述多个目标三维模型的待使用参数集合,其中,所述待使用参数集合包括:所述多个目标三维模型中每个目标三维模型的位置参数、每个目标三维模型的碰撞面的法线方向;
结算模块,用于依据所述待使用参数集合进行物理结算,得到结算结果;
其中,所述检测模块包括:
选取单元,用于从所述多个虚拟三维模型中选取当前待检测的虚拟三维模型;
移除单元,用于利用宽相位碰撞检测算法从所述多个虚拟三维模型中移除第一类虚拟三维模型并保留第二类虚拟三维模型,其中,所述第一类虚拟三维模型与所述待检测的虚拟三维模型之间的距离大于预设阈值,所述第二类虚拟三维模型与所述待检测的虚拟三维模型之间的距离小于或等于所述预设阈值;
判断单元,用于判断所述多个虚拟三维模型中的所有虚拟三维模型是否均已遍历完毕,如果是,则将保留的所述第二类虚拟三维模型确定为所述多个目标三维模型,如果否,则返回所述选取单元。
6.根据权利要求5所述的装置,其特征在于,所述获取模块包括:
计算单元,用于利用窄相位碰撞检测算法计算所述多个目标三维模型中发生碰撞的碰撞点;
确定单元,用于将所述碰撞点的位置参数和所述碰撞点在所述碰撞面上的法线方向确定为所述碰撞点所归属的目标三维模型的待使用参数集合。
7.根据权利要求5所述的装置,其特征在于,所述结算模块包括:
设置单元,用于基于每个目标三维模型的受约束程度,将所述待使用参数集合设置为第一结算器和/或第二结算器的输入参数;
结算单元,用于利用所述第一结算器和/或所述第二结算器对所述输入参数进行迭代式求解,得到所述结算结果。
8.根据权利要求7所述的装置,其特征在于,所述设置单元,用于基于每个目标三维模型的受约束程度,将所述多个目标三维模型中第一部分目标三维模型的第一部分待使用参数集合设置为所述第一结算器的输入参数,其中,所述第一部分目标三维模型满足预设约束限定条件;以及基于每个目标三维模型的受约束程度,将所述多个目标三维模型中第二部分目标三维模型的第二部分待使用参数集合设置为所述第二结算器的输入参数,其中,所述第二部分目标三维模型未满足所述预设约束限定条件。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至4任一项中所述的游戏场景内的物理结算方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至4任一项中所述的游戏场景内的物理结算方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至4任一项中所述的游戏场景内的物理结算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010408562.5A CN111569424B (zh) | 2020-05-14 | 2020-05-14 | 游戏场景内的物理结算方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010408562.5A CN111569424B (zh) | 2020-05-14 | 2020-05-14 | 游戏场景内的物理结算方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111569424A CN111569424A (zh) | 2020-08-25 |
CN111569424B true CN111569424B (zh) | 2023-04-28 |
Family
ID=72126557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010408562.5A Active CN111569424B (zh) | 2020-05-14 | 2020-05-14 | 游戏场景内的物理结算方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111569424B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704134B (zh) * | 2021-09-23 | 2023-06-06 | 腾讯科技(深圳)有限公司 | 一种模型检测方法和相关装置 |
CN117237575B (zh) * | 2023-11-10 | 2024-02-06 | 光轮智能(北京)科技有限公司 | 室内场景生成方法、控制装置及可读存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001162048A (ja) * | 1999-12-14 | 2001-06-19 | Namco Ltd | スポーツゲーム装置及びスポーツゲームのプレー制御方法 |
JP2005250688A (ja) * | 2004-03-02 | 2005-09-15 | Nec Corp | ポリシ解析システム及び方法並びにポリシ解析用プログラム |
EP1913987A1 (en) * | 2006-10-19 | 2008-04-23 | Nintendo Co., Limited | Storage medium storing a game program, game apparatus, and game control method |
CN104606887A (zh) * | 2014-12-30 | 2015-05-13 | 北京像素软件科技股份有限公司 | 一种碰撞判定方法 |
CN107145227A (zh) * | 2017-04-20 | 2017-09-08 | 腾讯科技(深圳)有限公司 | 虚拟现实场景的交互方法及装置 |
CN108339270A (zh) * | 2018-02-09 | 2018-07-31 | 网易(杭州)网络有限公司 | 游戏场景中静态组件的处理方法、渲染方法及装置 |
CN108970113A (zh) * | 2018-07-26 | 2018-12-11 | 广州多益网络股份有限公司 | 一种碰撞检测方法、装置、设备及介质 |
CN109242973A (zh) * | 2018-09-18 | 2019-01-18 | 珠海金山网络游戏科技有限公司 | 一种碰撞测试方法、装置、电子设备及存储介质 |
CN110180182A (zh) * | 2019-04-28 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 碰撞检测方法、装置、存储介质及电子装置 |
CN110210141A (zh) * | 2019-06-04 | 2019-09-06 | 宝业湖北建工集团有限公司 | 基于bim技术的模型碰撞检测方法、装置及电子设备 |
CN110505493A (zh) * | 2019-09-04 | 2019-11-26 | 广州华多网络科技有限公司 | 基于游戏的碰撞检测方法、游戏交互方法及直播系统 |
CN110507989A (zh) * | 2019-09-06 | 2019-11-29 | 网易(杭州)网络有限公司 | 一种云游戏的控制方法、装置、电子设备及可读存储介质 |
CN110969687A (zh) * | 2019-11-29 | 2020-04-07 | 中国商用飞机有限责任公司北京民用飞机技术研究中心 | 一种碰撞检测方法、装置、设备和介质 |
CN111104749A (zh) * | 2019-12-24 | 2020-05-05 | 山东恒道如一数字传媒有限公司 | 一种基于渐进式外接球结构的碰撞检测算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9116799B2 (en) * | 2013-06-30 | 2015-08-25 | Freescale Semiconductor, Inc. | Method for detecting bank collision at a memory and device therefor |
-
2020
- 2020-05-14 CN CN202010408562.5A patent/CN111569424B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001162048A (ja) * | 1999-12-14 | 2001-06-19 | Namco Ltd | スポーツゲーム装置及びスポーツゲームのプレー制御方法 |
JP2005250688A (ja) * | 2004-03-02 | 2005-09-15 | Nec Corp | ポリシ解析システム及び方法並びにポリシ解析用プログラム |
EP1913987A1 (en) * | 2006-10-19 | 2008-04-23 | Nintendo Co., Limited | Storage medium storing a game program, game apparatus, and game control method |
CN104606887A (zh) * | 2014-12-30 | 2015-05-13 | 北京像素软件科技股份有限公司 | 一种碰撞判定方法 |
CN107145227A (zh) * | 2017-04-20 | 2017-09-08 | 腾讯科技(深圳)有限公司 | 虚拟现实场景的交互方法及装置 |
CN108339270A (zh) * | 2018-02-09 | 2018-07-31 | 网易(杭州)网络有限公司 | 游戏场景中静态组件的处理方法、渲染方法及装置 |
CN108970113A (zh) * | 2018-07-26 | 2018-12-11 | 广州多益网络股份有限公司 | 一种碰撞检测方法、装置、设备及介质 |
CN109242973A (zh) * | 2018-09-18 | 2019-01-18 | 珠海金山网络游戏科技有限公司 | 一种碰撞测试方法、装置、电子设备及存储介质 |
CN110180182A (zh) * | 2019-04-28 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 碰撞检测方法、装置、存储介质及电子装置 |
CN110210141A (zh) * | 2019-06-04 | 2019-09-06 | 宝业湖北建工集团有限公司 | 基于bim技术的模型碰撞检测方法、装置及电子设备 |
CN110505493A (zh) * | 2019-09-04 | 2019-11-26 | 广州华多网络科技有限公司 | 基于游戏的碰撞检测方法、游戏交互方法及直播系统 |
CN110507989A (zh) * | 2019-09-06 | 2019-11-29 | 网易(杭州)网络有限公司 | 一种云游戏的控制方法、装置、电子设备及可读存储介质 |
CN110969687A (zh) * | 2019-11-29 | 2020-04-07 | 中国商用飞机有限责任公司北京民用飞机技术研究中心 | 一种碰撞检测方法、装置、设备和介质 |
CN111104749A (zh) * | 2019-12-24 | 2020-05-05 | 山东恒道如一数字传媒有限公司 | 一种基于渐进式外接球结构的碰撞检测算法 |
Non-Patent Citations (3)
Title |
---|
一种快速计算三维空间中物体碰撞接触面的方法;傅由甲等;《计算机仿真》;20050130(第01期);全文 * |
基于概率密度估计的SMOTE改进算法研究;李涛等;《南京师大学报(自然科学版)》;20190320(第01期);全文 * |
塔群防碰撞监测系统的研究;闫佳妮等;《建筑机械》;20110709(第13期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111569424A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106355431B (zh) | 作弊流量检测方法、装置及终端 | |
CN111569424B (zh) | 游戏场景内的物理结算方法和装置 | |
CN111177887A (zh) | 一种基于真实驾驶场景构造仿真轨迹数据的方法和装置 | |
CN113312361B (zh) | 轨迹查询方法、装置、设备、存储介质及计算机程序产品 | |
CN107679626A (zh) | 机器学习方法、装置、系统、存储介质及设备 | |
CN112215238B (zh) | 一种通用特征提取模型构建方法、系统及装置 | |
CN109377552B (zh) | 图像遮挡计算方法、装置、计算设备及存储介质 | |
US10372571B2 (en) | Method and apparatus for testing compatibility of 3D engine | |
CN108470368B (zh) | 一种虚拟场景中渲染对象的确定方法、装置及电子设备 | |
CN114917590B (zh) | 一种虚拟现实的游戏系统 | |
KR101927861B1 (ko) | 형태론적 연산에 기반한 공간 기하 정보의 노이즈 제거 방법 및 장치 | |
CN113256755B (zh) | 图像的渲染方法、智能终端以及存储装置 | |
CN111538410A (zh) | 一种vr场景中确定目标算法的方法及装置、计算设备 | |
CN112242959B (zh) | 微服务限流控制方法、装置、设备及计算机存储介质 | |
CN113963028A (zh) | 一种碰撞检测方法、装置、计算机设备及存储介质 | |
CN103970925A (zh) | 撞击事件数字模拟中的、包括低阶和二次有限元的接触表面定义标准 | |
CN109543557B (zh) | 视频帧的处理方法、装置、设备以及存储介质 | |
CN111475307B (zh) | 物理结算的处理方法和装置 | |
CN113134230A (zh) | 一种虚拟对象的分簇方法、装置、存储介质和电子装置 | |
CN116721187B (zh) | 基于场景切割的动画动态加卸载方法、装置、设备及介质 | |
CN113360356B (zh) | 阅读作弊行为的识别方法、计算设备及计算机存储介质 | |
CN115964305B (zh) | 一种跨项目的测试用例库管理方法、装置及存储介质 | |
CN111569413B (zh) | 数据同步方法和装置 | |
CN114384541A (zh) | 点云目标检测方法、终端设备及计算机可读存储介质 | |
WO2009114107A1 (en) | Method and system for rendering a three-dimensional scene using a dynamic graphics platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |