CN111437606B - 碰撞检测的方法和装置、存储介质及电子装置 - Google Patents
碰撞检测的方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN111437606B CN111437606B CN202010238667.0A CN202010238667A CN111437606B CN 111437606 B CN111437606 B CN 111437606B CN 202010238667 A CN202010238667 A CN 202010238667A CN 111437606 B CN111437606 B CN 111437606B
- Authority
- CN
- China
- Prior art keywords
- virtual object
- collision
- determining
- reporting
- abnormal
- 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/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种碰撞检测的方法和装置、存储介质及电子装置。其中,该方法包括:在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型;根据异常类型和第一虚拟对象的相关信息确定上报判断结果;在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常;在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息的方式,进而解决了现有技术中,检测的目标虚拟对象发生碰撞的情况,在上报碰撞异常时出现异常误报的技术问题。
Description
技术领域
本发明涉及游戏领域,具体而言,涉及一种碰撞检测的方法和装置、存储介质及电子装置。
背景技术
现在使用开放世界的游戏越来越多,场景越来越大,场景中的物件同样会成倍增加。在场景随时迭代过程中,不可避免会出现由于地形调整、物件摆放位置移动等操作,会出现一些物件在增加碰撞盒的过程中,出现一些物件的碰撞异常的情况。现有技术中,在出现碰撞异常的情况下,根据碰撞结果直接将碰撞异常进行上报,针对目标虚拟对象的属性有些碰撞结果是正常的情况下,也会出现上报,导致异常误报的现象。例如,山体被碰撞的情况下,山体没有渲染现象,而该渲染现象应当是正常现象,不需要碰撞异常上报,却上报异常结果的。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种碰撞检测的方法和装置、存储介质及电子装置,以至少解决现有技术中,检测的目标虚拟对象发生碰撞的情况,在上报碰撞异常时出现异常误报的技术问题。
根据本发明实施例的一个方面,提供了一种碰撞检测的方法,包括:在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且所述碰撞中所述第一虚拟对象出现碰撞异常的情况下,确定所述第一虚拟对象出现碰撞异常的异常类型;根据所述异常类型和所述第一虚拟对象的相关信息确定上报判断结果,其中,所述上报判断结果用于表示是否需要上报所述第一虚拟对象出现碰撞异常;在所述上报判断结果为需要上报所述第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,所述第一异常信息用于表示所述第一虚拟对象出现碰撞异常;在所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常的情况下,取消上报所述第一异常信息。
根据本发明实施例的另一方面,还提供了一种碰撞检测的装置,包括:第一确定单元,用于在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且所述碰撞中所述第一虚拟对象出现碰撞异常的情况下,确定所述第一虚拟对象出现碰撞异常的异常类型;第二确定单元,用于根据所述异常类型和所述第一虚拟对象的相关信息确定上报判断结果,其中,所述上报判断结果用于表示是否需要上报所述第一虚拟对象出现碰撞异常;上报单元,用于在所述上报判断结果为需要上报所述第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,所述第一异常信息用于表示所述第一虚拟对象出现碰撞异常;取消上报单元,用于在所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常的情况下,取消上报所述第一异常信息。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述碰撞检测的方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的碰撞检测的方法。
在本发明实施例中,采用在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型;根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常;在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常;在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息的方式,达到了在确定碰撞异常的异常类型后,根据异常类型与虚拟对象的相关信息确定是否上报碰撞异常的目的,从而实现了不同的碰撞异常类型下,根据虚拟对象的相关信息上报碰撞异常现象的技术效果,也就是说,先判断出虚拟对象的碰撞异常的类型,由于不同虚拟对象在相同的异常类型下,存在碰撞属于异常和不属于异常的情况,因此,根据虚拟对象的相关信息确定该碰撞是否异常,进而避免了虚拟对象碰撞异常误报的情况。进而解决了现有技术中,检测的目标虚拟对象发生碰撞的情况,在上报碰撞异常时出现异常误报的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的碰撞检测的方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的碰撞检测的方法流程图;
图3是根据本发明实施例的一种可选的判断一个物件的碰撞异常的流程图;
图4是根据本发明实施例的一种可选的物件碰撞的体积和物件渲染体积的示意图;
图5是根据本发明实施例的一种可选的碰撞参数和渲染参数确定上报判断结果的流程图;
图6是根据本发明实施例的一种可选的检测出物件碰撞的结果示意图;
图7是根据本发明实施例的一种可选的显示碰撞异常物件相关数据示意图(一);
图8是根据本发明实施例的一种可选的显示碰撞异常物件相关数据示意图(二);
图9是根据本发明实施例的一种可选的碰撞检测的装置的结构示意图;
图10是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好的理解本申请提供的实施例,现将部分名词说明如下:
Unity Editor:一种游戏编辑器,主要用于制作游戏场景、游戏物件的工具。
GameObject:创建一个GameObject,它可以是一个相机,一个灯光,或者一个简单的模型,在Unity Editor中使用最广泛。
三维坐标:通俗来讲及世界坐标,包括三个位置(x,y,z),用来定位一个物件在世界上的位置信息
Component:component是GameObject中的一个属性统称,可以在GameObject添加和删除Component属性,Component内可以自定义添加一些子属性。
碰撞盒(Collider):Unity中的碰撞盒主要存在以下几种:box collider,spherecollider,capsult collider,mesh collider,wheel collider。碰撞盒的主要作用是在场景中添加物体碰撞,能够在游戏内产生各种现实世界中一致的物理现象(包括阻挡、摩擦、反弹等物理效果)。
根据本发明实施例的一个方面,提供了一种碰撞检测的方法,可选地,作为一种可选的实施方式,上述碰撞检测的方法可以但不限于应用于如图1所示的硬件环境中,其中,该硬件环境中可以包括但不限于终端设备102、网络110及服务器112。其中,该终端设备102中运行有游戏客户端,用于在游戏场景中控制目标虚拟角色完成游戏任务。
其中,上述终端设备102中可以包括但不限于:人机交互屏幕104,处理器106及存储器108。人机交互屏幕104用于通过人机交互接口获取人机交互指令,还用于呈现游戏任务中的游戏画面;处理器106用于响应上述人机交互指令,控制目标虚拟角色执行指定操作以完成游戏任务。存储器108用于存储第一虚拟对象的属性信息,第二虚拟对象的属性信息,第一虚拟对象和第二虚拟对象发送碰撞,以及发送碰撞第一虚拟对象渲染体数据等等。这里服务器可以包括但不限于:数据库114及处理引擎116,处理引擎116用于调用数据库114中存储的碰撞数据,在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型;根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常;在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常;在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息的方式,达到了在确定碰撞异常的异常类型后,根据异常类型与虚拟对象的相关信息确定是否上报碰撞异常的目的,从而实现了不同的碰撞异常类型下,根据虚拟对象的相关信息上报碰撞异常现象的技术效果,也就是说,先判断出虚拟对象的碰撞异常的类型,由于不同虚拟对象在相同的异常类型下,存在碰撞属于异常和不属于异常的情况,因此,根据虚拟对象的相关信息确定该碰撞是否异常,进而避免了虚拟对象碰撞异常误报的情况。进而解决了现有技术中,检测的目标虚拟对象发生碰撞的情况,在上报碰撞异常时出现异常误报的技术问题。
具体过程如以下步骤:在终端设备102中的人机交互屏幕104显示游戏客户端运行一局游戏任务的交互界面(如图1所示为射击类游戏,目标虚拟角色正在狙击远处的目标对象)。如步骤S102-S108,获取第一虚拟对象出现碰撞异常的异常类型,并将该异常类型通过网络110发送服务器112。在服务器112根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常;在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常;在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息。然后将上述确定出的结果返回终端设备102。
然后,如步骤S102-S108,终端设备102在在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型;根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常;在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常;在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息的方式,达到了在确定碰撞异常的异常类型后,根据异常类型与虚拟对象的相关信息确定是否上报碰撞异常的目的,从而实现了不同的碰撞异常类型下,根据虚拟对象的相关信息上报碰撞异常现象的技术效果,也就是说,先判断出虚拟对象的碰撞异常的类型,由于不同虚拟对象在相同的异常类型下,存在碰撞属于异常和不属于异常的情况,因此,根据虚拟对象的相关信息确定该碰撞是否异常,进而避免了虚拟对象碰撞异常误报的情况。进而解决了现有技术中,检测的目标虚拟对象发生碰撞的情况,在上报碰撞异常时出现异常误报的技术问题。
可选地,在本实施例中,上述碰撞检测的方法可以但不限于应用于服务器112中,用于协助终端设备102,还应用于终端设备102,该终端设备102可以但不限于为手机、平板电脑、笔记本电脑、PC机等支持运行应用客户端的终端设备。上述服务器112和终端设备102可以但不限于通过网络实现数据交互,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述碰撞检测的方法包括:
步骤S202,在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型。
步骤S204,根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常。
步骤S206,在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常。
步骤S208,在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息。
需要说明的是,目标游戏中存在很多的虚拟物件(虚拟对象),在该虚拟物件的周围存在一个碰撞盒,该碰撞盒是在虚拟物件被碰撞的时,能够在游戏内产生各种现实世界中一致的物理现象(包括阻挡、摩擦、反弹等物理效果)。
可选的,在本实施例中的方法可以应用于在游戏测试阶段,测试目标游戏地图中存在的物件(虚拟对象)在发送碰撞的情况下,是否存在一些物理现象,以及该物理现象的出现是否异常。
在本实施例中,上述第一虚拟对象可以包括但不限于在设计该目标游戏时设计的存在游戏地图中的高山,草地、地图边界等,还包括在游戏过程中出现的新的虚拟设备,如虚拟***、虚拟的烟雾弹等。第二虚拟对象可以包括但不限于由玩家控制的虚拟操作对象,游戏地图中的存在的虚拟动物等。需要说明的是,第一虚拟对象中的“第一”和第二虚拟对象的中的“第二”,仅仅用于区别不同。
在本实施例中,第一虚拟对象和第二虚拟对象发送碰撞,可以判断出第一虚拟对象的碰撞状况,根据该碰撞状况确定碰撞异常的类型。
在实际应用中,可以通过Unity Editor游戏编辑器确定目标游戏虚拟地图中存在的虚拟对象的碰撞情况,该虚拟地图中的虚拟对象包括第一虚拟对象的碰撞异常类型。按照NoCollision(无碰撞有渲染)、NoMeshRender(有碰撞无渲染)、CollisionNotMatch(碰撞与渲染不一致)三个类型确定第一虚拟对象的碰撞异常的异常类型。
可以针对目标游戏中的虚拟地图中的每个虚拟对象进行扫描检测,进而判断虚拟对象的碰撞异常的类型,即判断虚拟对象的碰撞异常是属于三个类型中的哪一个。针对每个虚拟对象的判断流程具体如下:
如图3所示,判断一个物件的碰撞异常的流程图。
步骤S31,获取待检测的物件,即扫描待检测的物件。即可以通过工具扫描虚拟地图中的虚拟物件(虚拟对象,如草地、房屋、树木等),获取待检测物件组件或子组件的数据。
步骤S32,检测该物件是否处于激活状态,在是的情况下,执行步骤S3,在否的情况下,回到步骤S1;
步骤S33,获取物件碰撞属性;
步骤S34,碰撞渲染不一致判断对比;
步骤S35,碰撞渲染不一致的情况下,找到可疑物件,即判断该物件存在碰撞异常;
步骤S36,在该物件不存在碰撞属性,该物件的子物件也不存在碰撞属性,找到可疑物件,即判断该物件存在碰撞异常;
步骤S37,碰撞渲染一致的情况下,执行步骤S31。
也就是说,通过上述步骤可以判断出存在碰撞异常的虚拟物件。
可选的,在本实施例中,确定第一虚拟对象出现碰撞异常的异常类型,可以包括:
S1,获取第一虚拟对象的组件参数,其中,组件参数用于渲染第一虚拟对象的渲染现象;
S2,在组件参数中不存在碰撞属性参数、但第一虚拟对象在目标游戏中出现渲染现象的情况下,确定第一虚拟对象碰撞异常的异常类型为无碰撞有渲染;
S3,在组件参数中存在碰撞属性参数、但第一虚拟对象在目标游戏中未出现渲染现象的情况下,确定第一虚拟对象碰撞异常的异常类型为有碰撞无渲染;
S4,在组件参数中存在碰撞属性参数、但第一虚拟对象在目标游戏中未出现渲染体积与碰撞属性参数不一致的情况下,确定第一虚拟对象碰撞异常的异常类型为渲染体积和碰撞体积不一致。
可选的,在本实施例中,根据异常类型和第一虚拟对象的相关信息确定上报判断结果,可以包括以下至少之一:
在异常类型表示第一虚拟对象有碰撞无渲染的情况下,根据第一虚拟对象的位置和第一虚拟对象的属性确定上报判断结果,其中,相关信息包括位置和属性;
在异常类型表示第一虚拟对象无碰撞有渲染的情况下,根据第一虚拟对象的类型确定上报判断结果,其中,相关信息包括类型;
在异常类型表示第一虚拟对象的碰撞体积和渲染体积不一致的情况下,根据第一虚拟对象的碰撞参数和渲染参数确定上报判断结果,其中,相关信息包括碰撞参数和渲染参数。
其中,根据第一虚拟对象的位置和第一虚拟对象的属性确定上报判断结果,可以包括:
在第一虚拟对象的位置位于目标游戏地图的边缘处的预设区域内、且第一虚拟对象的属性包括目标对象属性的情况下,确定上报判断结果为不需要上报第一虚拟对象出现碰撞异常。
需要说明的是,在第一虚拟对象的位置位于目标游戏地图的边缘处的预设区域内、且第一虚拟对象的属性包括目标对象属性的情况下,确定上报判断结果为不需要上报第一虚拟对象出现碰撞异常,可以包括:
在第一虚拟对象的位置位于目标游戏地图的边缘处的预设区域内、且第一虚拟对象的属性包括空气墙属性的情况下,确定上报判断结果为不需要上报第一虚拟对象出现碰撞异常,其中,目标对象属性包括空气墙属性。
还需要说明的是,上述目标对象属性还可以包括:山体的属性,虚拟场景中固体的属性,其该属性信息说明该物体在发送碰撞后并不需要也不会发送渲染体的现象。例如,在目标游戏地图的边缘位置通常会设置空气墙属性,由玩家控制的虚拟操作对象跑到该游戏地图的边缘,将会碰撞该游戏地图边缘的碰撞盒,该碰撞发生没有渲染则是属于正常碰撞,不需要上报碰撞异常。
本实施例可以理解为,第一虚拟对象存在有碰撞无渲染的情况,根据第一虚拟对象的属性信息,确定是否上报该碰撞异常,换句话说,根据该第一虚拟对象的属性信息增加过滤条件,进而防止误报。
可选的,在本实施例中,根据第一虚拟对象的类型确定上报判断结果,可以包括:
在第一虚拟对象的类型为不需要碰撞类型的情况下,确定上报判断结果为不需要上报第一虚拟对象出现碰撞异常。
其中,根据第一虚拟对象的类型确定上报判断结果,可以包括:
在第一虚拟对象的类型为预设的白名单中的类型的情况下,确定上报判断结果为不需要上报第一虚拟对象出现碰撞异常,其中,白名单中包括预设的一个或至少两个不需要碰撞类型。
在实际应用中,在目标游戏地图中存在的物件如草、高压线、风车叶等,该物件不需要碰撞也会出现渲染现象。如高压线会出现电闪的物理现象,而这些现象可以根据游戏中的天气现象出现,不需要碰撞可以渲染物理现象。在预先可以将该类物件加入白名单,在判断第一对象的碰撞异常类型是无碰撞有渲染后,判断该第一虚拟对象属于白名单的虚拟对象,则可以不上报该碰撞异常信息,进而防止误报。
为了避免碰撞异常的误报,根据第一虚拟对象的碰撞参数和渲染参数确定上报判断结果,可以包括:
获取第一虚拟对象被第二虚拟对象碰撞的中心位置和第一虚拟对象渲染的中心位置;
在碰撞的中心位置和渲染的中心位置之间的偏移值大于等于第一预定阈值的情况下,确定上报第一虚拟对象出现碰撞异常。
其中,在碰撞的中心位置和渲染的中心位置之间的偏移值小于预定阈值的情况下,计算渲染体积和碰撞体积;
在渲染体积与碰撞体积之间的差值大于等于第二预定阈值的情况下,确定上报第一虚拟对象出现碰撞异常。
一个物件存在碰撞和mesh的情况下,可以如图4所示,物件碰撞的体积和物件渲染体积的示意图。分成两个部分,一个是meshRender,一个是meshCollider,需要分别计算两个几何体的体积和中心点,用来判断物件的展示和碰撞大小是否是一致的情况。这里获取中心点的原因主要是:有部分物件的碰撞盒被挪动到其他位置,导致碰撞盒mesh的大小是一样的,但是放置的位置不一样,这一类可以通过中心点的偏移来扫描出这部分的物件。
如图5所示,碰撞参数和渲染参数确定上报判断结果的流程图。
步骤S501,获取待检测物件;
步骤S503,检测到碰撞渲染不一致;
步骤S505,计算碰撞体中心点位置和渲染体中心位置;
步骤S507,判断碰撞体中心点位置和渲染体中心位置之间的偏移是否超过阈值,在是的情况下,执行步骤509,在否的情况下,执行步骤S511;
步骤S509,找到该物件,并上报碰撞异常信息;
其中,计算meshRender和MeshCollider的两个中心点的位置,然后判断两个中心点位置偏移是否超过阈值,如果超过阈值即可判断该物件存在问题,不需要再次计算体积来判断。
步骤S511,计算渲染体和碰撞体是否一致,在是的情况下,执行步骤S501,在否的情况下,执行步骤S509。
如果中心点位置偏移没有超过阈值,那需要分别再计算MeshRender和MeshCollider的体积,计算完体积后计算差值是否超过设定的阈值,如果超过则判断该物件的碰撞异常,需要及时修复,如果没有超过阈值,则认为该物件的碰撞时正常的。
通过本申请提供的实施例,在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型;根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常;在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常;在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息的方式,达到了在确定碰撞异常的异常类型后,根据异常类型与虚拟对象的相关信息确定是否上报碰撞异常的目的,从而实现了不同的碰撞异常类型下,根据虚拟对象的相关信息上报碰撞异常现象的技术效果,也就是说,先判断出虚拟对象的碰撞异常的类型,由于不同虚拟对象在相同的异常类型下,存在碰撞属于异常和不属于异常的情况,因此,根据虚拟对象的相关信息确定该碰撞是否异常,进而避免了虚拟对象碰撞异常误报的情况。进而解决了现有技术中,检测的目标虚拟对象发生碰撞的情况,在上报碰撞异常时出现异常误报的技术问题。
作为一种可选的实施例,本申请还提供了一种在Unity3D引擎中检测场景中物件碰撞异常的方法。
按照NoCollision有渲染无碰撞、NoMeshRender有碰撞无渲染、CollisionNotMatch碰撞渲染不一致,将碰撞异常分为三个类型。
本实施例的核心思想为:在检测到存在有渲染但是没有碰撞盒的情况/有碰撞没有渲染的情况/渲染体积和碰撞体积不一致的物件(相当于虚拟对象)情况,即可将该物件加入到确认队列;获得待确认物件队列后,通过预设条件(一些白名单、二次判断)进一步的对碰撞异常进行确认,进而来降低碰撞检测的误报。
在实际应用中,有碰撞无渲染的情况,如果是地图边缘地带,是正常的空气墙属性,是正常的情况,需要增加过滤条件,防止误报。有渲染无碰撞的情况,如果是一些不需要碰撞的物件(草、高压线、风车叶等),需要增加白名单过滤,防止误报。碰撞体积和渲染体积不一致的情况,这个需要计算出碰撞体积和渲染体积、对比各个中心点和顶点位置情况进行判断,防止出现误报漏报。
本实施例中利用现实中的物件属性值(包括子属性)通过判断物件属性是否存在/大小等属性进行判断该物件的碰撞是否正常。
需要说明的是,本实施例中的方法可以通过检测工具进行检测目标游戏中虚拟地图中的虚拟对象的碰撞异常,该工具可以以插件的方式在编辑器中(unity editor),在菜单栏中选中碰撞检测(collision check),即弹出该工具使用TAB列表。如图6所示,检测物件碰撞异常的界面图。
在菜单栏中选中碰撞检测,将在图6中显示扫描目标游戏中虚拟对象的结果在图6的界面上,在该界面还提供了一些可以调整的参数,该调整参数可以缩小检测到的碰撞异常的类型数据:
The checking rati检查率:需要判断是否有问题的比例阈值。
Drawline showTime:在editor上绘制标识的展示时间。
Select Type选择类型:选中扫描的模式这里有三种可选:NoCollision、NoMeshRender、CollisonNotMatch对应的是扫描无碰撞、无mesh、碰撞不一致的三种情况。通过在选择类型参数中选择一种模式,将会检测到该模式对应的碰撞异常的虚拟对象,例如,选择碰撞不一致,则将在子界面中的列表显示碰撞不一致异常的虚拟对象,即进一步的方便检测该异常模式下的误报异常的判断。
Filter List过滤清单:这个主要是填写过滤条件:出现这些情况但是属于正常的物件(例如:空气墙、拾取点)需要过滤,防止影响扫描结果。即在判断出异常类型的情况下,根据过滤条件再次判断该碰撞异常是否上报。
Signal Object Check单个物件的扫描,主要是为了调试使用。
FindingObject:扫描当前场景中的所有物件。
在该工具的菜单栏中选中碰撞扫描后,在将扫描的参数配置完成后,将会扫描到与参数对应的碰撞异常的数据,即会以列表的形式显示出现对应参数类型的碰撞异常物件的标识信息,在该界面中对物件的标识信息执行可以包括但不限于通过单击、双击、长按操作,便可以直接跳转到对应存在碰撞异常的物件上,如图7所示,显示碰撞异常物件相关数据示意图(一)。在图7中,左边是对应存在碰撞异常物件的示意图,右边是该碰撞异常物件的选择属性数据。如在图7中的通过单击箭头对应的物件,在该图7中的左边将显示对应该物件的碰撞示意图。
如图8所示,显示碰撞异常物件相关数据示意图(二)。在图8中,左边是对应存在碰撞异常物件的示意图,右边是该碰撞异常物件的选择属性数据。如在图8中可以通过双击箭头对应的物件,在该图8中的左边将显示对应该物件的碰撞示意图。
需要说明的是,在图6中选择目标物件后,将跳转到图7和图8中呈现存在碰撞异常的物件的碰撞示意图,可以直观的帮助开发人员判断该物件的碰撞异常类型以及根据该物件的属性信息,进一步的判断该物件是否需要进行数据的修改,以便避免该物件存在碰撞异常误报的现象。
通过本实施例,对场景内物件碰撞异常的调整和修复,具有以下有益效果:
1)场景中物件碰撞异常问题的发现成本降低,减少人工覆盖测试时间。现在游戏中的地图场景大部分都是4*4/8*8等这类大型地图,地图上的物件非常多,而且大部分物件都是由场景设计人员手工拜访到地图上,在摆放过程中可能会出现没有贴地/靠碰撞物的情况,单纯靠人力覆盖是非常耗时耗力,使用该工具后,可以扫描出地图上70%以上的碰撞异常的情况,而且可以调节碰撞判断阈值和结果展示,非常方便。
2)场景问题修复成本降低,并且修复效果及时反馈。没有工具前,所有的修复验证整个流程冗长而且耗时。使用该工具后,所有的修改所见即所得,在源头发现问题并解决问题,能够有效减少问题处理时间。
3)场景持续变动情况下,及时反馈出问题,将问题有效的扼杀在制作阶段。使用该工具后,在场景摆放过程中即可扫描,无需等待场景构建完再处理。极大提高场景设计人员的工作效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述碰撞检测的方法的碰撞检测的装置。如图9所示,该装置包括:第一确定单元91、第二确定单元93、上报单元95以及取消上报单元97。
第一确定单元91,用于在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型。
第二确定单元93,用于根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常。
上报单元95,用于在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常。
取消上报单元97,用于在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息。
可选的,上述第二确定单元93,包括以下至少之一:
第一确定模块,用于在异常类型表示第一虚拟对象有碰撞无渲染的情况下,根据第一虚拟对象的位置和第一虚拟对象的属性确定上报判断结果,其中,相关信息包括位置和属性;
第二确定模块,用于在异常类型表示第一虚拟对象无碰撞有渲染的情况下,根据第一虚拟对象的类型确定上报判断结果,其中,相关信息包括类型;
第三确定模块,用于在异常类型表示第一虚拟对象的碰撞体积和渲染体积不一致的情况下,根据第一虚拟对象的碰撞参数和渲染参数确定上报判断结果,其中,相关信息包括碰撞参数和渲染参数。
其中,上述第一确定模块,包括:
第一确定子模块,用于在第一虚拟对象的位置位于目标游戏地图的边缘处的预设区域内、且第一虚拟对象的属性包括目标对象属性的情况下,确定上报判断结果为不需要上报第一虚拟对象出现碰撞异常。
需要说明的是,第一确定子模块还用于执行如下操作:在第一虚拟对象的位置位于目标游戏地图的边缘处的预设区域内、且第一虚拟对象的属性包括空气墙属性的情况下,确定上报判断结果为不需要上报第一虚拟对象出现碰撞异常,其中,目标对象属性包括空气墙属性。
可选的,在本实施例中,第二确定模块,包括:
第二确定子模块,用于在第一虚拟对象的类型为不需要碰撞类型的情况下,确定上报判断结果为不需要上报第一虚拟对象出现碰撞异常。
其中,第二确定子模块还用于执行如下操作:
在第一虚拟对象的类型为预设的白名单中的类型的情况下,确定上报判断结果为不需要上报第一虚拟对象出现碰撞异常,其中,白名单中包括预设的一个或至少两个不需要碰撞类型。
其中,上述第三确定模块,可以包括:
第一获取子模块,用于获取第一虚拟对象被第二虚拟对象碰撞的中心位置和第一虚拟对象渲染的中心位置;
第三确定子模块,用于在碰撞的中心位置和渲染的中心位置之间的偏移值大于等于第一预定阈值的情况下,确定上报第一虚拟对象出现碰撞异常。
需要说明的是,上述装置还可以包括:
计算子模块,用于在碰撞的中心位置和渲染的中心位置之间的偏移值小于预定阈值的情况下,计算渲染体积和碰撞体积;
第四确定子模块,用于在渲染体积与碰撞体积之间的差值大于等于第二预定阈值的情况下,确定上报第一虚拟对象出现碰撞异常。
可选的,在本实施例中,上述第一确定单元91,可以包括:
获取模块,用于获取第一虚拟对象的组件参数,其中,组件参数用于渲染第一虚拟对象的渲染现象;
第四确定模块,用于在组件参数中不存在碰撞属性参数、但第一虚拟对象在目标游戏中出现渲染现象的情况下,确定第一虚拟对象碰撞异常的异常类型为无碰撞有渲染。
第五确定模块,用于在组件参数中存在碰撞属性参数、但第一虚拟对象在目标游戏中未出现渲染现象的情况下,确定第一虚拟对象碰撞异常的异常类型为有碰无渲染。
第六确定模块,用于在组件参数中存在碰撞属性参数、但第一虚拟对象在目标游戏中未出现渲染体积与碰撞属性参数不一致的情况下,确定第一虚拟对象碰撞异常的异常类型为渲染体积和碰撞体积不一致。
通过本申请提供的实施例,第一确定单元91在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型;第二确定单元93,根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常;上报单元95在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常;取消上报单元97在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息。从而实现了不同的碰撞异常类型下,根据虚拟对象的相关信息上报碰撞异常现象的技术效果,进而解决了现有技术中,检测的目标虚拟对象发生碰撞的情况,在上报碰撞异常时出现异常误报的技术问题。
根据本发明实施例的又一个方面,还提供了一种用于实施上述碰撞检测的方法的电子装置,如图10所示,该电子装置包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型;
S2,根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常;
S3,在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常;
S4,在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的碰撞检测的方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的碰撞检测的方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储第一虚拟对象的属性信息、碰撞属性信息以及渲染属性信息等。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述碰撞检测的装置中的第一确定单元91、第二确定单元93、上报单元95以及取消上报单元97。此外,还可以包括但不限于上述碰撞检测的装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1008,用于显示上述待上报的第一异常信息;和连接总线1010,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且碰撞中第一虚拟对象出现碰撞异常的情况下,确定第一虚拟对象出现碰撞异常的异常类型;
S2,根据异常类型和第一虚拟对象的相关信息确定上报判断结果,其中,上报判断结果用于表示是否需要上报第一虚拟对象出现碰撞异常;
S3,在上报判断结果为需要上报第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,第一异常信息用于表示第一虚拟对象出现碰撞异常;
S4,在上报判断结果为不需要上报第一虚拟对象出现碰撞异常的情况下,取消上报第一异常信息。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种碰撞检测的方法,其特征在于,包括:
在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且所述碰撞中所述第一虚拟对象出现碰撞异常的情况下,确定所述第一虚拟对象出现碰撞异常的异常类型;
根据所述异常类型和所述第一虚拟对象的相关信息,确定上报判断结果,其中,所述上报判断结果用于表示是否需要上报所述第一虚拟对象出现碰撞异常;
在所述上报判断结果为需要上报所述第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,所述第一异常信息用于表示所述第一虚拟对象出现碰撞异常;
在所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常的情况下,取消上报所述第一异常信息;
其中,在所述异常类型表示所述第一虚拟对象无碰撞有渲染的情况下,所述根据所述异常类型和所述第一虚拟对象的相关信息,确定上报判断结果,包括:
根据所述第一虚拟对象的类型,确定所述上报判断结果,其中,所述相关信息包括所述类型。
2.根据权利要求1所述的方法,其特征在于,在所述异常类型表示所述第一虚拟对象有碰撞无渲染的情况下,所述根据所述异常类型和所述第一虚拟对象的相关信息,确定上报判断结果,包括:
根据所述第一虚拟对象的位置和所述第一虚拟对象的属性,确定所述上报判断结果,其中,所述相关信息包括所述位置和所述属性;
在所述异常类型表示所述第一虚拟对象的碰撞体积和渲染体积不一致的情况下,所述根据所述异常类型和所述第一虚拟对象的相关信息,确定上报判断结果,包括:
根据所述第一虚拟对象的碰撞参数和渲染参数,确定所述上报判断结果,其中,所述相关信息包括所述碰撞参数和所述渲染参数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一虚拟对象的位置和所述第一虚拟对象的属性,确定所述上报判断结果,包括:
在所述第一虚拟对象的位置位于所述目标游戏地图的边缘处的预设区域内、且所述第一虚拟对象的属性包括目标对象属性的情况下,确定所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常。
4.根据权利要求3所述的方法,其特征在于,所述在所述第一虚拟对象的位置位于所述目标游戏地图的边缘处的预设区域内、且所述第一虚拟对象的属性包括目标对象属性的情况下,确定所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常,包括:
在所述第一虚拟对象的位置位于所述目标游戏地图的边缘处的预设区域内、且所述第一虚拟对象的属性包括空气墙属性的情况下,确定所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常,其中,所述目标对象属性包括所述空气墙属性。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一虚拟对象的类型,确定所述上报判断结果,包括:
在所述第一虚拟对象的类型为不需要碰撞类型的情况下,确定所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一虚拟对象的类型,确定所述上报判断结果,包括:
在所述第一虚拟对象的类型为预设的白名单中的类型的情况下,确定所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常,其中,所述白名单中包括预设的一个或至少两个不需要碰撞类型。
7.根据权利要求2所述的方法,其特征在于,所述根据所述第一虚拟对象的碰撞参数和渲染参数,确定所述上报判断结果,包括:
获取所述第一虚拟对象被所述第二虚拟对象碰撞的中心位置和所述第一虚拟对象渲染的中心位置;
在所述碰撞的中心位置和所述渲染的中心位置之间的偏移值大于等于第一预定阈值的情况下,确定上报所述第一虚拟对象出现碰撞异常。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述碰撞的中心位置和所述渲染的中心位置之间的偏移值小于预定阈值的情况下,计算所述渲染体积和所述碰撞体积;
在所述渲染体积与所述碰撞体积之间的差值大于等于第二预定阈值的情况下,确定上报所述第一虚拟对象出现碰撞异常。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述确定所述第一虚拟对象出现碰撞异常的异常类型,包括:
获取所述第一虚拟对象的组件参数,其中,所述组件参数用于渲染所述第一虚拟对象的渲染现象;
在所述组件参数中不存在碰撞属性参数、但所述第一虚拟对象在所述目标游戏中出现渲染现象的情况下,确定所述第一虚拟对象碰撞异常的异常类型为无碰撞有渲染;
在所述组件参数中存在碰撞属性参数、但所述第一虚拟对象在所述目标游戏中未出现渲染现象的情况下,确定所述第一虚拟对象碰撞异常的异常类型为有碰撞无渲染;
在所述组件参数中存在碰撞属性参数、但所述第一虚拟对象在所述目标游戏中未出现渲染体积与所述碰撞属性参数不一致的情况下,确定所述第一虚拟对象碰撞异常的异常类型为渲染体积和碰撞体积不一致。
10.一种碰撞检测的装置,其特征在于,包括:
第一确定单元,用于在检测到目标游戏地图中的第一虚拟对象与第二虚拟对象发生碰撞、且所述碰撞中所述第一虚拟对象出现碰撞异常的情况下,确定所述第一虚拟对象出现碰撞异常的异常类型;
第二确定单元,用于根据所述异常类型和所述第一虚拟对象的相关信息,确定上报判断结果,其中,所述上报判断结果用于表示是否需要上报所述第一虚拟对象出现碰撞异常;
上报单元,用于在所述上报判断结果为需要上报所述第一虚拟对象出现碰撞异常的情况下,上报第一异常信息,其中,所述第一异常信息用于表示所述第一虚拟对象出现碰撞异常;
取消上报单元,用于在所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常的情况下,取消上报所述第一异常信息;
其中,在所述异常类型表示所述第一虚拟对象无碰撞有渲染的情况下,所述第二确定单元包括:
第二确定模块,用于根据所述第一虚拟对象的类型确定所述上报判断结果,其中,所述相关信息包括所述类型。
11.根据权利要求10所述的装置,其特征在于,在所述异常类型表示所述第一虚拟对象有碰撞无渲染的情况下,所述第二确定单元包括:
第一确定模块,用于根据所述第一虚拟对象的位置和所述第一虚拟对象的属性确定所述上报判断结果,其中,所述相关信息包括所述位置和所述属性;
在所述异常类型表示所述第一虚拟对象的碰撞体积和渲染体积不一致的情况下,所述第二确定单元包括:
第三确定模块,用于根据所述第一虚拟对象的碰撞参数和渲染参数确定所述上报判断结果,其中,所述相关信息包括所述碰撞参数和所述渲染参数。
12.根据权利要求11所述的装置,其特征在于,所述第一确定模块,包括:
第一确定子模块,用于在所述第一虚拟对象的位置位于所述目标游戏地图的边缘处的预设区域内、且所述第一虚拟对象的属性包括目标对象属性的情况下,确定所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常。
13.根据权利要求12所述的装置,其特征在于,所述第一确定子模块用于执行如下操作:在所述第一虚拟对象的位置位于所述目标游戏地图的边缘处的预设区域内、且所述第一虚拟对象的属性包括空气墙属性的情况下,确定所述上报判断结果为不需要上报所述第一虚拟对象出现碰撞异常,其中,所述目标对象属性包括所述空气墙属性。
14.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至9任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238667.0A CN111437606B (zh) | 2020-03-30 | 2020-03-30 | 碰撞检测的方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238667.0A CN111437606B (zh) | 2020-03-30 | 2020-03-30 | 碰撞检测的方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111437606A CN111437606A (zh) | 2020-07-24 |
CN111437606B true CN111437606B (zh) | 2021-08-06 |
Family
ID=71649323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010238667.0A Active CN111437606B (zh) | 2020-03-30 | 2020-03-30 | 碰撞检测的方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111437606B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111773723A (zh) * | 2020-07-29 | 2020-10-16 | 网易(杭州)网络有限公司 | 碰撞检测方法和装置 |
CN111760279B (zh) * | 2020-07-31 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、终端及存储介质 |
CN112619143B (zh) * | 2020-12-23 | 2023-03-21 | 上海米哈游天命科技有限公司 | 一种角色标识显示方法、装置、设备及存储介质 |
CN112657199B (zh) * | 2020-12-23 | 2023-03-28 | 上海米哈游天命科技有限公司 | 一种角色臂长计算方法、装置、设备及存储介质 |
CN116036603B (zh) * | 2023-01-28 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机及可读存储介质 |
CN117244243B (zh) * | 2023-11-20 | 2024-02-02 | 腾讯科技(深圳)有限公司 | 一种虚拟对象处理方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850726A (zh) * | 2014-02-13 | 2015-08-19 | 博雅网络游戏开发(深圳)有限公司 | 基于碰撞游戏的异常数据检测方法和*** |
CN105354872A (zh) * | 2015-11-04 | 2016-02-24 | 深圳墨麟科技股份有限公司 | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 |
CN107357563A (zh) * | 2017-05-25 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 对象移动方法和装置以及存储介质、电子装置 |
CN107622524A (zh) * | 2017-09-29 | 2018-01-23 | 百度在线网络技术(北京)有限公司 | 用于移动终端的显示方法和显示装置 |
CN107930123A (zh) * | 2017-12-15 | 2018-04-20 | 玖万里网络科技(上海)有限公司 | 碰撞***及其信息处理方法 |
CN108579085A (zh) * | 2018-03-12 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 障碍物碰撞的处理方法和装置、存储介质及电子装置 |
JP6496954B2 (ja) * | 2017-10-16 | 2019-04-10 | 豊丸産業株式会社 | 遊技機 |
CN109621421A (zh) * | 2018-12-24 | 2019-04-16 | 网易(杭州)网络有限公司 | 信息处理方法及装置 |
CN109710357A (zh) * | 2018-12-24 | 2019-05-03 | 曙光信息产业(北京)有限公司 | 一种基于Unity3D引擎实现服务器操作的方法及*** |
CN109933319A (zh) * | 2019-01-24 | 2019-06-25 | 福建天晴数码有限公司 | 一种基于Unity的物体避免碰撞的方法及终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107019913B (zh) * | 2017-04-27 | 2019-08-16 | 腾讯科技(深圳)有限公司 | 对象生成方法及装置 |
-
2020
- 2020-03-30 CN CN202010238667.0A patent/CN111437606B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850726A (zh) * | 2014-02-13 | 2015-08-19 | 博雅网络游戏开发(深圳)有限公司 | 基于碰撞游戏的异常数据检测方法和*** |
CN105354872A (zh) * | 2015-11-04 | 2016-02-24 | 深圳墨麟科技股份有限公司 | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 |
CN107357563A (zh) * | 2017-05-25 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 对象移动方法和装置以及存储介质、电子装置 |
CN107622524A (zh) * | 2017-09-29 | 2018-01-23 | 百度在线网络技术(北京)有限公司 | 用于移动终端的显示方法和显示装置 |
JP6496954B2 (ja) * | 2017-10-16 | 2019-04-10 | 豊丸産業株式会社 | 遊技機 |
CN107930123A (zh) * | 2017-12-15 | 2018-04-20 | 玖万里网络科技(上海)有限公司 | 碰撞***及其信息处理方法 |
CN108579085A (zh) * | 2018-03-12 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 障碍物碰撞的处理方法和装置、存储介质及电子装置 |
CN109621421A (zh) * | 2018-12-24 | 2019-04-16 | 网易(杭州)网络有限公司 | 信息处理方法及装置 |
CN109710357A (zh) * | 2018-12-24 | 2019-05-03 | 曙光信息产业(北京)有限公司 | 一种基于Unity3D引擎实现服务器操作的方法及*** |
CN109933319A (zh) * | 2019-01-24 | 2019-06-25 | 福建天晴数码有限公司 | 一种基于Unity的物体避免碰撞的方法及终端 |
Non-Patent Citations (1)
Title |
---|
"Unity3D在WebPlayer模式下的异常上报探索;jiss318;《https://blog.csdn.net/jjiss318/article/details/7626322》;20120602;网页第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111437606A (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111437606B (zh) | 碰撞检测的方法和装置、存储介质及电子装置 | |
CN108815849B (zh) | 虚拟场景中的物品展示方法、装置和存储介质 | |
CN106412277B (zh) | 虚拟场景的加载方法和装置 | |
CN111339997B (zh) | 火点区域的确定方法及装置、存储介质和电子装置 | |
CN111737800A (zh) | 图元选择方法、装置及电子设备 | |
CN111930054B (zh) | 一种机房管理方法、装置、存储介质及设备 | |
CN111111194A (zh) | 虚拟对象控制方法、装置、存储介质及电子装置 | |
CN111001158A (zh) | 属性参数的更新方法和装置、存储介质及电子装置 | |
CN111813282A (zh) | 一种数据表单的展示方法和装置 | |
CN113672939A (zh) | 一种终端行为告警溯源分析的方法、装置、设备及介质 | |
CN111265856A (zh) | 虚拟操作对象的控制方法、装置、存储介质及电子装置 | |
CN104461741B (zh) | 基于图形设备接口的计算设备优化方法及装置 | |
CN112052566A (zh) | 一种智能电缆模拟仿真方法及*** | |
CN111465045B (zh) | 一种ap的监控方法、监控服务器和监控*** | |
CN107146049B (zh) | 应用于电子地图的数据处理方法、装置及移动终端 | |
CN109885089A (zh) | 无人机的控制方法及相关装置 | |
CN115035483A (zh) | 一种室内火灾安全隐患监测方法、***、电子设备及存储介质 | |
CN111773694B (zh) | 虚拟操作对象的控制方法和装置及存储介质 | |
CN114638938A (zh) | 光缆监测方法、装置、***、电子设备及存储介质 | |
CN114138253A (zh) | 图形化编程代码的测试反馈方法、装置、设备及存储介质 | |
CN115374227A (zh) | 基于虚拟地图的目标物监测方法及装置 | |
CN113268057A (zh) | 无人驾驶车辆的避障处理方法及装置 | |
CN112037451A (zh) | 一种预警方法及装置 | |
CN116739353B (zh) | 安防设施3d模型的构建方法、装置以及存储介质 | |
CN112446024A (zh) | 基于虚拟化环境的安全监测***及方法 |
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 |