CN112619152A - 游戏包围盒的处理方法、装置及电子设备 - Google Patents
游戏包围盒的处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112619152A CN112619152A CN202110008868.6A CN202110008868A CN112619152A CN 112619152 A CN112619152 A CN 112619152A CN 202110008868 A CN202110008868 A CN 202110008868A CN 112619152 A CN112619152 A CN 112619152A
- Authority
- CN
- China
- Prior art keywords
- bounding box
- virtual object
- geometric
- geometric surface
- target
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 16
- 230000003993 interaction Effects 0.000 claims abstract description 80
- 230000011218 segmentation Effects 0.000 claims abstract description 62
- 230000002452 interceptive effect Effects 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000001514 detection method Methods 0.000 claims abstract description 26
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000006399 behavior Effects 0.000 claims description 38
- 230000000007 visual effect Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种游戏包围盒的处理方法、装置及电子设备,响应于游戏场景中虚拟角色对虚拟对象的交互行为,根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面、目标几何面上的交互区域以及至少一其他几何面;对目标几何面进行分割处理,得到目标几何面对应的至少一个分割面,其中,分割面为目标几何面中去除掉交互区域的部分;基于分割面和其他几何面生成虚拟对象的新包围盒,新包围盒用于进行虚拟对象的物理碰撞检测。本申请能够根据游戏场景中虚拟角色对虚拟对象的交互行为,实时进行虚拟对象的当前包围盒的修改,以使物理碰撞检测结果与视觉效果保持一致,提高游戏的真实感及玩家的游戏体验。
Description
技术领域
本申请涉及游戏技术领域,尤其是涉及一种游戏包围盒的处理方法、装置及电子设备。
背景技术
游戏中所有的物体(角色、建筑物、地形等等)通常情况下都会存在一个包围盒,物体的包围盒就是将物体组合完全包容起来的一个封闭空间。将复杂物体封装在简单的包围盒中,就可以提高几何运算的效率。现有的物体之间的物理碰撞检测计算过程就是基于物体的包围盒进行的,可以使游戏达到更加真实的效果。比如:游戏中人物遇到一堵墙,发现自己不能继续向前行走,就是通过人物的包围盒与墙的包围盒做碰撞检测计算后得到的结果。
现有的游戏中,遇到需要改变物体的包围盒的游戏场景时,通常会采用两种方式实现,一种是通过预先做好的包围盒替换当前包围盒,这种方式不能根据当前物体形体变化需求任意改变包围盒,只能是特定的情况,会限制玩家在游戏中的操作交互;另一种是不改变包围盒,这样就会导致游戏产生不真实感,影响用户游戏沉浸式体验。
发明内容
本申请的目的在于提供一种游戏包围盒的处理方法、装置及电子设备,能够根据游戏场景中虚拟角色对虚拟对象的交互情况,实时进行虚拟对象包围盒的修改,以使物理碰撞检测结果符合玩家的潜意识视觉效果,提高游戏的真实感及玩家的游戏体验。
第一方面,本申请实施例提供一种游戏包围盒的处理方法,方法包括:响应于游戏场景中虚拟角色对虚拟对象的交互行为,根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面、目标几何面上的交互区域以及至少一其他几何面,其中,至少一目标几何面和至少一其他几何面与构成当前包围盒的几何面相对应;对目标几何面进行分割处理,得到目标几何面对应的至少一个分割面,其中,分割面为目标几何面中去除掉交互区域的部分;基于分割面和其他几何面生成虚拟对象的新包围盒,新包围盒用于进行虚拟对象的物理碰撞检测。
进一步的,上述根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面以及至少一其他几何面的步骤,包括:获取虚拟对象的当前包围盒;根据交互行为,确定虚拟对象的当前包围盒对应的多个几何面中,存在交互操作的至少一交互几何面;根据至少一交互几何面,生成至少一目标几何面;根据当前包围盒对应的多个几何面中,除交互几何面的几何面,生成至少一其他几何面。
进一步的,上述根据交互行为和虚拟对象的当前包围盒确定目标几何面上的交互区域的步骤,包括:检测交互行为在目标几何面上的初始交互区域;将初始交互区域或者初始交互区域对应的外接多边形区域作为目标几何面上的交互区域。
进一步的,上述交互区域为矩形区域;对目标几何面进行分割处理,得到目标几何面对应的至少一个分割面的步骤,包括:以交互区域的一组平行边所在直线和另一组平行边为分割线,对目标几何面进行分割,得到多个四边形区域;将去除交互区域的多个四边形区域作为目标几何面对应的多个分割面。
进一步的,上述基于分割面和其他几何面生成虚拟对象的新包围盒的步骤,包括:根据分割面和其他几何面构建填补面;根据分割面、填补面和其他几何面,生成虚拟对象的新包围盒。
进一步的,上述根据分割面和其他几何面构建填补面的步骤,包括:确定多个分割面对应的目标顶点;目标顶点为多个分割面的顶点中与其他几何面的顶点不重叠的顶点;根据多个分割面对应的目标顶点,构建填补面。
进一步的,上述根据分割面、填补面和其他几何面,生成虚拟对象的新包围盒的步骤,包括:以分割面、填补面和其他几何面中的每个面作为当前面,在与当前面垂直的方向上扩展预设距离,生成当前面对应的小包围盒;将多个当前面分别对应的小包围盒进行组合,得到虚拟对象的新包围盒。
进一步的,上述每个当前面均记录有对应的顶点数据;将多个当前面分别对应的小包围盒进行组合,得到虚拟对象的新包围盒的步骤,包括:基于多个当前面分别对应的顶点数据,将多个当前面分别对应的小包围盒组合起来,得到虚拟对象的新包围盒。
进一步的,上述获取虚拟对象的当前包围盒的步骤,包括:获取虚拟对象的初始包围盒;如果初始包围盒为包围球,以包围球的外接立方体作为虚拟对象的当前包围盒。
第二方面,本申请实施例还提供一种游戏包围盒的处理装置,装置包括:面确定模块,用于响应于游戏场景中虚拟角色对虚拟对象的交互行为,根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面、目标几何面上的交互区域以及至少一其他几何面,其中,至少一目标几何面和至少一其他几何面与构成当前包围盒的几何面相对应;面分割模块,用于对目标几何面进行分割处理,得到目标几何面对应的至少一个分割面,其中,分割面为目标几何面中去除掉交互区域的部分;包围盒生成模块,用于基于分割面和其他几何面生成虚拟对象的新包围盒,新包围盒用于进行虚拟对象的物理碰撞检测。
第三方面,本申请实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面所述的方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述第一方面所述的方法。
本申请实施例提供的一种游戏包围盒的处理方法、装置及电子设备中,首先响应于游戏场景中虚拟角色对虚拟对象的交互行为,根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面、目标几何面上的交互区域以及至少一其他几何面,其中,至少一目标几何面和至少一其他几何面与构成当前包围盒的几何面相对应;对目标几何面进行分割处理,得到目标几何面对应的至少一个分割面,其中,分割面为目标几何面中去除掉交互区域的部分;基于分割面和其他几何面生成虚拟对象的新包围盒,新包围盒用于进行虚拟对象的物理碰撞检测。本申请实施例可以根据游戏场景中虚拟角色对虚拟对象的交互行为,实时生成符合虚拟对象当前形体的新包围盒,利用新包围盒进行该物体的物理碰撞检测,可以使物理碰撞检测结果符合玩家的潜意识视觉效果,提高游戏的真实感及玩家的游戏体验。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中多种包围盒示意图;
图2为本申请实施例提供的一种游戏中大楼及其包围盒示意图;
图3为本申请实施例提供的一种游戏中大楼被激光穿孔示意图;
图4为现有技术中一种游戏中大楼被激光穿孔后包围盒示意图;
图5为本申请实施例提供的一种包围盒的处理方法的流程图;
图6为本申请实施例提供的一种游戏中大楼被激光穿孔后包围盒示意图;
图7为本申请实施例提供的一种包围盒面分解示意图;
图8为本申请实施例提供的一种目标面上投影区域示意图;
图9为本申请实施例提供的一种激光在目标面上投影示意图;
图10为本申请实施例提供的一种目标面分割示意图;
图11为本申请实施例提供的一种目标面分割后各分割面示意图;
图12为本申请实施例提供的一种分割面对应顶点标记示意图;
图13为本申请实施例提供的几种特殊分割面示意图;
图14为本申请实施例提供的一种破坏区域外围处填补面示意图;
图15为本申请实施例提供的一种包围盒的处理装置的结构框图;
图16为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
游戏中所有的物体(角色、建筑物、地形等等)通常情况下都会存在一个包围盒,物体的包围盒就是将物体组合完全包容起来的一个封闭空间。将复杂物体封装在简单的包围盒中,就可以提高几何运算的效率。现有的物体之间的物理碰撞检测计算过程就是基于物体的包围盒进行的,可以使游戏达到更加真实的效果。比如:游戏中人物遇到一堵墙,发现自己不能继续向前行走,就是通过人物的包围盒与墙的包围盒做碰撞检测计算后得到的结果。
参见图1所示,最常见的包围盒算法有AABB包围盒(Axis-aligned boundingbox),包围球(Sphere),方向包围盒OBB(Oriented bounding box)以及固定方向凸包FDH(Fixed directions hulls或k-DOP,图中未示出)。游戏中最常用的包围盒就是AABB包围盒(Axis-aligned bounding box),它被定义为包含该对象,且边平行于坐标轴的最小六面体。
上述包围盒均是凸多边形,只有凸多边形才可以进行物理碰撞计算,凸多边形(Convex Polygon)指如果把一个多边形的所有边中,任意一条边向两方无限延长成为一直线时,其他各边都在此直线的同旁,其内角应该全不是优角,任意两个顶点间的线段位于多边形的内部或边上。物理碰撞:这里特指游戏中的物理碰撞,检测两个或多个对象相交的计算。
在游戏中经常会遇到的一类需求是要动态的修改物体的包围盒,目的是为了更好的表现出物体的形体变化与周围环境以及角色的交互,比如某游戏场景中有一栋大楼,如图2中的(a)所示,其对应的包围盒如图2中的(b)所示,当玩家使用激光向大楼射击时,大楼被击中的部位会出现一个巨大的孔洞,如图3所示,那么除了视觉上可以看到一个巨大的孔洞以外,玩家的潜意识会自然的认为某些物体是可以从这个孔洞穿过去的,因为大楼使用的是AABB包围盒,如果想让物体从孔洞传过去,就需要修改大楼的AABB包围盒才可以。
而现有技术中,对于包围盒的处理通常会采用以下两种方式:一种是通过预先做好的包围盒替换当前包围盒,这种方式不能根据当前物体形体变化需求任意改变包围盒,只能是特定的情况,会限制玩家在游戏中的操作交互;另一种是不改变包围盒,这样就会导致游戏产生不真实感,影响玩家的游戏体验,如图4中的(a)和(b)所示,大楼上出现孔洞时,仍然不改变其包围盒,就会出现这样的效果:虽然看起来大楼有一个孔洞在那里,但是物体是不能从这个孔洞传过去的;而如果是完全取消大楼的包围盒,那么就会产生另一种现象,物体可以从大楼没有孔洞的地方穿过去,这也是不真实的感受,影响用户的游戏体验。
基于此,本申请实施例提供一种游戏包围盒的处理方法、装置及电子设备,能够根据游戏场景中虚拟角色对虚拟对象的交互情况,实时进行虚拟对象包围盒的修改,以使物理碰撞检测结果符合玩家的潜意识视觉效果,提高游戏的真实感及玩家的游戏体验。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种游戏包围盒的处理方法进行详细介绍。
图5为本申请实施例提供的一种游戏包围盒的处理方法的流程图,该方法能够根据游戏场景中虚拟角色对虚拟对象的交互情况,实时进行虚拟对象当前包围盒的修改,以新的包围盒替换原包围盒进行物理碰撞检测计算,可以使物理碰撞检测结果符合玩家的潜意识视觉效果,从而提高游戏的真实感及玩家的游戏体验,该方法具体包括以下步骤:
步骤S502,响应于游戏场景中虚拟角色对虚拟对象的交互行为,根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面、目标几何面上的交互区域以及至少一其他几何面,其中,至少一目标几何面和至少一其他几何面与构成当前包围盒的几何面相对应;
上述虚拟角色为游戏中的某个玩家控制角色或者其他非玩家控制角色,虚拟对象可以是游戏场景中的某个固定物体,如大楼、桌子等;游戏场景中虚拟角色对虚拟对象的交互行为可以包括多种实现形式,比如虚拟角色通过自身拥有的某种技能(如发射某种激光,或者实施某种魔法)使虚拟对象(大楼)中部产生一个空洞,或者也可以是虚拟角色通过自身拥有的某种武器(如大刀)对虚拟对象(如箱体)实施某种破坏,使虚拟对象形体上产生缺失区块等。
当游戏场景中虚拟角色对虚拟对象进行交互行为时,首先根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面、目标几何面上的交互区域以及至少一其他几何面。至少一目标几何面和至少一其他几何面与构成当前包围盒的几何面相对应;也就是说,目标几何面和其他几何面均是基于虚拟对象的当前包围盒的各个几何面生成的。
比如,虚拟对象的当前包围盒包括6个正方形几何面,那么生成的目标几何面和其他几何面也是6个正方形几何面。上述目标几何面为根据当前包围盒的多个几何面中存在交互操作的几何面生成的,上述其他几何面为根据当前包围盒的多个几何面中不存在交互操作的几何面生成的。
在上述生成的目标几何面中,根据交互行为还可以进一步确定出目标几何面中的交互区域。该交互区域为交互行为在目标几何面上产生影响的区域。
本实施例中,虚拟对象的当前包围盒一般为立方体包围盒,如果获取到的包围盒是包围球,那么可以先将包围球的外接立方体,作为虚拟对象的当前包围盒。
步骤S504,对目标几何面进行分割处理,得到目标几何面对应的至少一个分割面,其中,分割面为目标几何面中去除掉交互区域的部分;
上述交互区域的形状可以包括多种,如圆形、椭圆形、矩形等,为了便于分割处理,通过将交互区域处理为矩形。基于上述交互区域进行目标几何面的分割,得到不包含交互区域部分的至少一个分割面。具体的分割方式有多种,根据交互区域形状的不同,可以采取不同的分割方式。
步骤S506,基于分割面和其他几何面生成虚拟对象的新包围盒,新包围盒用于进行虚拟对象的物理碰撞检测。
为了基于最终生成的新包围盒进行物理碰撞检测后,实现更加真实的视觉效果,可以基于分割面和其他几何面构建填补面,该填补面用于生成交互区域外围处的小包围盒。然后基于上述填补面、分割面和其他几何面,生成虚拟对象的新包围盒,新包围盒用于进行虚拟对象的物理碰撞检测。通过新包围盒进行物理碰撞检测,得到的物理碰撞检测结果能够符合玩家的潜意识视觉效果,提高游戏的真实感及玩家的游戏体验。
本申请实施例提供的一种游戏包围盒的处理方法中,首先响应于游戏场景中虚拟角色对虚拟对象的交互行为,根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面、目标几何面上的交互区域以及至少一其他几何面,其中,至少一目标几何面和至少一其他几何面与构成当前包围盒的几何面相对应;对目标几何面进行分割处理,得到目标几何面对应的至少一个分割面,其中,分割面为目标几何面中去除掉交互区域的部分;基于分割面和其他几何面生成虚拟对象的新包围盒,新包围盒用于进行虚拟对象的物理碰撞检测。本申请实施例可以根据游戏场景中虚拟角色对虚拟对象的交互行为,实时生成符合虚拟对象当前形体的新包围盒,利用新包围盒进行该物体的物理碰撞检测,可以使物理碰撞检测结果符合玩家的潜意识视觉效果,提高游戏的真实感及玩家的游戏体验。
为了清楚地说明本申请实施例提供的包围盒的处理方法的步骤,下面以上述虚拟角色发射激光射穿虚拟对象大楼,大楼的当前包围盒为AABB包围盒为例进行详细阐述:
如图6所示,当建筑物被激光穿孔以后,其对应的AABB包围盒如果需要和视觉表现保持一致,也需要在AABB包围盒上进行一个穿孔操作,这样就需要对AABB包围盒进行修改,但是因为包围盒要求必须是凸包体,所以不能直接在AABB上挖洞,而是需要采用如下操作步骤:
(1)响应于游戏场景中虚拟角色对虚拟对象的交互行为,获取虚拟对象的当前包围盒。如图7所示,虚拟对象的当前包围盒包括:前面、后面、左面、右面、上面和下面6个几何面。
(2)根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面以及至少一其他几何面。
具体的,根据交互行为,确定虚拟对象的当前包围盒对应的多个几何面中,存在交互操作的至少一交互几何面;根据至少一交互几何面,生成至少一目标几何面;根据当前包围盒对应的多个几何面中,除交互几何面的几何面,生成至少一其他几何面。
如图8所示,激光射穿大楼时,存在交互操作的几何面,即与激光相交的几何面包括“前面”和“后面”两个几何面,将“前面”和“后面”确定为AABB包围盒中交互几何面,然后根据这两个交互几何面,生成两个目标几何面。进一步,根据除了两个交互几何面的其他几何面:“上面”、“下面”、“左面”和“右面”,生成四个其他几何面。
(3)确定目标几何面上的交互区域。
具体实现方式可以包括:检测交互行为在目标几何面上的初始交互区域;将初始交互区域或者初始交互区域对应的外接多边形区域作为目标几何面上的交互区域。比如,上述交互行为为虚拟角色向大楼发射激光;如图9所示,检测激光形成的入射面在目标几何面上的投影区域,即为初始交互区域,初始交互区域为图8中所示的两个圆形区域。为了便于分割计算,将圆形区域的外接多边形作为目标几何面上的交互区域,如图10所示。
实际游戏中,不论是什么技能,激光,子弹,拳头等等,对虚拟对象造成形体改变后,在其包围盒的目标几何面上的投影都近似为一个圆形,这样会有误差,但是不影响视觉体验,为了便于分割计算,本申请实施例中采用圆形的外接四边形进行分割。
(4)对目标几何面进行分割处理,得到目标几何面对应的至少一个分割面。
以交互区域为矩形为例,具体分割方式为:以交互区域的一组平行边所在直线和另一组平行边为分割线,对目标几何面进行分割,得到多个四边形区域;将去除交互区域的多个四边形区域作为目标几何面对应的多个分割面。
还以上述例子进行说明,“前面”和“后面”对应的两个目标几何面在分割后分别得到四个分割面,如图10所示。对于“前面”对应的目标几何面,其分割后包括R1,R2,R3,R4四个四边形,如图11所示,对应于每个四边形,都由四个点构成,比如四边形R1由点集(V1,V2,V8,V5)构成,四边形R3由点集(V7,V8,V12,V11)构成,如图12所示。
对于特殊情况下,四边形的面积有可能是0,即如下图13所示。为了方便计算,均分割为四个四边形,只不过有的四边形面积为0。
(5)根据分割面和其他几何面构建填补面。
具体的构建方式为:确定多个分割面对应的目标顶点;其中,目标顶点为多个分割面的顶点中与其他几何面的顶点不重叠的顶点;根据多个分割面对应的目标顶点,构建填补面。
如上述例子中,“前面”对应的目标几何面的分割面包括R1,R2,R3,R4四个四边形,四个分割面对应的多个顶点中,与其他几何面的顶点不重叠的顶点包括:V6、V7、V11、V10,同样,可以确定出“后面”对应的目标几何面的分割面的四个目标顶点,将8个目标顶点对应连接起来,形成四个四边形,以四个四边形构建四个填补面。如图14所示,在空洞的上面、下面、左面、右面分别构建一个填补面。
在另一种可能的实施方式中,上述目标几何面可能为一个;比如,激光没有把大楼射穿,只是出现了一个大洞,这种情况下,可以首先确定出该目标几何面中,多个分割面对应的目标顶点,V6、V7、V11、V10,然后将该四个顶点向大楼内部沿交互深度方向延伸一定的深度距离;根据延伸后的顶点,构建一个对应的填补面。这种情况下,除了包含类似上个例子中的四个填补面,还会多一种垂直于深度方向的填补面,也就是在洞底构建了一个填补面。
(6)根据分割面、填补面和其他几何面,生成虚拟对象的新包围盒。
具体的,以上述分割面、填补面和其他几何面中的每个面作为当前面,在与当前面垂直的方向上扩展预设距离,生成当前面对应的小包围盒;上述每个当前面均记录有对应的顶点数据;基于多个当前面分别对应的顶点数据,将多个当前面分别对应的小包围盒组合起来,得到虚拟对象的新包围盒。
上述预设距离可以为一个像素单位,只要有一定距离,就可以形成一个包围盒,用于物理碰撞计算,上述例子中,除目标几何面之外的平面有四个,可以形成四个小包围盒,两个目标几何面上的分割面总共有八个,可以形成八个小包围盒,交互深度方向上有四个填补面,又可以形成四个小包围盒,因此,新包围盒实际为十六个小包围盒组合起来的一个立体结构。其形体就类似于图14所示的样子,只不过每个面都看作一个小包围盒即可。
通过使用本申请上述包围盒的处理方法,在游戏中玩家使用激光的技能,把一栋大楼打穿了一个大洞,这时候视觉上大楼已经有了一个大洞,可以透过大洞看到大楼后面的东西,这时候通过对大楼的包围盒的修改,玩家可以真正的从大楼的大洞中穿过去,这就给玩家一个非常真实的体验,同时也可以基于这个功能实现一些偷袭的玩法。
本申请实施例提供的包围盒的处理方法,有效的解决了传统游戏中物体的包围盒不能在运行时实时修改的限制,通过对包围盒的实时修改,可以保证物体的视觉表现和物体的物理碰撞保持一致,增强了游戏的真实感,进而使玩家的体验获得了更大的提升。
基于上述方法实施例,本申请实施例还提供一种游戏包围盒的处理装置,参见图15所示,该装置包括:
面确定模块151,用于响应于游戏场景中虚拟角色对虚拟对象的交互行为,根据交互行为和虚拟对象的当前包围盒确定至少一目标几何面、目标几何面上的交互区域以及至少一其他几何面,其中,至少一目标几何面和至少一其他几何面与构成当前包围盒的几何面相对应;面分割模块152,用于对目标几何面进行分割处理,得到目标几何面对应的至少一个分割面,其中,分割面为目标几何面中去除掉交互区域的部分;包围盒生成模块153,用于基于分割面和其他几何面生成虚拟对象的新包围盒,新包围盒用于进行虚拟对象的物理碰撞检测。
进一步的,上述面确定模块151还用于:获取虚拟对象的当前包围盒;根据交互行为,确定虚拟对象的当前包围盒对应的多个几何面中,存在交互操作的至少一交互几何面;根据至少一交互几何面,生成至少一目标几何面;根据当前包围盒对应的多个几何面中,除交互几何面的几何面,生成至少一其他几何面。
进一步的,上述面确定模块151还用于:检测交互行为在目标几何面上的初始交互区域;将初始交互区域或者初始交互区域对应的外接多边形区域作为目标几何面上的交互区域。
进一步的,上述交互区域为矩形区域;上述面分割模块152还用于:以交互区域的一组平行边所在直线和另一组平行边为分割线,对目标几何面进行分割,得到多个四边形区域;将去除交互区域的多个四边形区域作为目标几何面对应的多个分割面。
进一步的,上述包围盒生成模块153还用于:根据分割面和其他几何面构建填补面;根据分割面、填补面和其他几何面,生成虚拟对象的新包围盒。
进一步的,上述包围盒生成模块153还用于:确定多个分割面对应的目标顶点;目标顶点为多个分割面的顶点中与其他几何面的顶点不重叠的顶点;根据多个分割面对应的目标顶点,构建填补面。
进一步的,上述包围盒生成模块153还用于:以分割面、填补面和其他几何面中的每个面作为当前面,在与当前面垂直的方向上扩展预设距离,生成当前面对应的小包围盒;将多个当前面分别对应的小包围盒进行组合,得到虚拟对象的新包围盒。
进一步的,上述每个当前面均记录有对应的顶点数据;上述包围盒生成模块153还用于:基于多个当前面分别对应的顶点数据,将多个当前面分别对应的小包围盒组合起来,得到虚拟对象的新包围盒。
进一步的,上述面确定模块151还用于:获取虚拟对象的初始包围盒;如果初始包围盒为包围球,以包围球的外接立方体作为虚拟对象的当前包围盒。
本申请实施例提供的游戏包围盒的处理装置,其实现原理及产生的技术效果和前述游戏包围盒的处理方法实施例相同,为简要描述,游戏包围盒的处理装置的实施例部分未提及之处,可参考前述游戏包围盒的处理方法实施例中相应内容。
本申请实施例还提供了一种电子设备,如图16所示,为该电子设备的结构示意图,其中,该电子设备包括处理器161和存储器160,该存储器160存储有能够被该处理器161执行的计算机可执行指令,该处理器161执行该计算机可执行指令以实现上述方法。
在图16示出的实施方式中,该电子设备还包括总线162和通信接口163,其中,处理器161、通信接口163和存储器160通过总线162连接。
其中,存储器160可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口163(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线162可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线162可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器161可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器161中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器161可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器161读取存储器中的信息,结合其硬件完成前述实施例的方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述方法,具体实现可参见前述方法实施例,在此不再赘述。
本申请实施例所提供的游戏包围盒的处理方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种游戏包围盒的处理方法,其特征在于,所述方法包括:
响应于游戏场景中虚拟角色对虚拟对象的交互行为,根据所述交互行为和所述虚拟对象的当前包围盒确定至少一目标几何面、所述目标几何面上的交互区域以及至少一其他几何面,其中,所述至少一目标几何面和所述至少一其他几何面与构成所述当前包围盒的几何面相对应;
对所述目标几何面进行分割处理,得到所述目标几何面对应的至少一个分割面,其中,所述分割面为所述目标几何面中去除掉所述交互区域的部分;
基于所述分割面和所述其他几何面生成所述虚拟对象的新包围盒,所述新包围盒用于进行所述虚拟对象的物理碰撞检测。
2.根据权利要求1所述的方法,其特征在于,根据所述交互行为和所述虚拟对象的当前包围盒确定至少一目标几何面以及至少一其他几何面的步骤,包括:
获取所述虚拟对象的当前包围盒;
根据所述交互行为,确定所述虚拟对象的当前包围盒对应的多个几何面中,存在交互操作的至少一交互几何面;
根据所述至少一交互几何面,生成至少一目标几何面;
根据所述当前包围盒对应的多个几何面中,除所述交互几何面的几何面,生成至少一其他几何面。
3.根据权利要求2所述的方法,其特征在于,根据所述交互行为和所述虚拟对象的当前包围盒确定所述目标几何面上的交互区域的步骤,包括:
检测所述交互行为在所述目标几何面上的初始交互区域;
将所述初始交互区域或者所述初始交互区域对应的外接多边形区域作为所述目标几何面上的交互区域。
4.根据权利要求1所述的方法,其特征在于,所述交互区域为矩形区域;
对所述目标几何面进行分割处理,得到所述目标几何面对应的至少一个分割面的步骤,包括:
以所述交互区域的一组平行边所在直线和另一组平行边为分割线,对所述目标几何面进行分割,得到多个四边形区域;
将去除所述交互区域的多个四边形区域作为所述目标几何面对应的多个分割面。
5.根据权利要求1所述的方法,其特征在于,基于所述分割面和所述其他几何面生成所述虚拟对象的新包围盒的步骤,包括:
根据所述分割面和所述其他几何面构建填补面;
根据所述分割面、所述填补面和所述其他几何面,生成所述虚拟对象的新包围盒。
6.根据权利要求5所述的方法,其特征在于,根据所述分割面和所述其他几何面构建填补面的步骤,包括:
确定多个所述分割面对应的目标顶点;所述目标顶点为多个所述分割面的顶点中与所述其他几何面的顶点不重叠的顶点;
根据多个所述分割面对应的目标顶点,构建填补面。
7.根据权利要求5所述的方法,其特征在于,根据所述分割面、所述填补面和所述其他几何面,生成所述虚拟对象的新包围盒的步骤,包括:
以所述分割面、所述填补面和所述其他几何面中的每个面作为当前面,在与所述当前面垂直的方向上扩展预设距离,生成所述当前面对应的小包围盒;
将多个所述当前面分别对应的小包围盒进行组合,得到所述虚拟对象的新包围盒。
8.根据权利要求7所述的方法,其特征在于,每个当前面均记录有对应的顶点数据;
将多个所述当前面分别对应的小包围盒进行组合,得到所述虚拟对象的新包围盒的步骤,包括:
基于多个所述当前面分别对应的顶点数据,将多个所述当前面分别对应的小包围盒组合起来,得到所述虚拟对象的新包围盒。
9.根据权利要求2所述的方法,其特征在于,获取所述虚拟对象的当前包围盒的步骤,包括:
获取所述虚拟对象的初始包围盒;
如果所述初始包围盒为包围球,以所述包围球的外接立方体作为所述虚拟对象的当前包围盒。
10.一种游戏包围盒的处理装置,其特征在于,所述装置包括:
面确定模块,用于响应于游戏场景中虚拟角色对虚拟对象的交互行为,根据所述交互行为和所述虚拟对象的当前包围盒确定至少一目标几何面、所述目标几何面上的交互区域以及至少一其他几何面,其中,所述至少一目标几何面和所述至少一其他几何面与构成所述当前包围盒的几何面相对应;
面分割模块,用于对所述目标几何面进行分割处理,得到所述目标几何面对应的至少一个分割面,其中,所述分割面为所述目标几何面中去除掉所述交互区域的部分;
包围盒生成模块,用于基于所述分割面和所述其他几何面生成所述虚拟对象的新包围盒,所述新包围盒用于进行所述虚拟对象的物理碰撞检测。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008868.6A CN112619152A (zh) | 2021-01-05 | 2021-01-05 | 游戏包围盒的处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008868.6A CN112619152A (zh) | 2021-01-05 | 2021-01-05 | 游戏包围盒的处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112619152A true CN112619152A (zh) | 2021-04-09 |
Family
ID=75290760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110008868.6A Pending CN112619152A (zh) | 2021-01-05 | 2021-01-05 | 游戏包围盒的处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112619152A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113244622A (zh) * | 2021-06-22 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 碰撞数据处理方法和装置、存储介质及电子设备 |
CN113559518A (zh) * | 2021-07-30 | 2021-10-29 | 网易(杭州)网络有限公司 | 虚拟模型的交互检测方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103568022A (zh) * | 2012-07-20 | 2014-02-12 | 精工爱普生株式会社 | 碰撞检测系统、碰撞检测用数据生成装置以及机械手 |
CN105469406A (zh) * | 2015-11-30 | 2016-04-06 | 东北大学 | 一种基于包围盒与空间划分的虚拟物体碰撞检测方法 |
CN105488851A (zh) * | 2015-11-30 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 实时虚拟场景中碰撞体之间碰撞探测的方法和装置 |
CN106875492A (zh) * | 2017-02-13 | 2017-06-20 | 华东师范大学 | 一种面向gpu包围盒碰撞检测方法 |
CN111062980A (zh) * | 2019-11-22 | 2020-04-24 | 西安理工大学 | 一种软体碰撞检测方法 |
CN111167120A (zh) * | 2019-12-31 | 2020-05-19 | 网易(杭州)网络有限公司 | 游戏中虚拟模型的处理方法和装置 |
CN111494954A (zh) * | 2020-04-22 | 2020-08-07 | 网易(杭州)网络有限公司 | 游戏中的动画处理方法、装置、电子设备及存储介质 |
CN111760273A (zh) * | 2020-07-06 | 2020-10-13 | 网易(杭州)网络有限公司 | 游戏碎块处理方法、装置及设备 |
-
2021
- 2021-01-05 CN CN202110008868.6A patent/CN112619152A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103568022A (zh) * | 2012-07-20 | 2014-02-12 | 精工爱普生株式会社 | 碰撞检测系统、碰撞检测用数据生成装置以及机械手 |
CN105469406A (zh) * | 2015-11-30 | 2016-04-06 | 东北大学 | 一种基于包围盒与空间划分的虚拟物体碰撞检测方法 |
CN105488851A (zh) * | 2015-11-30 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 实时虚拟场景中碰撞体之间碰撞探测的方法和装置 |
US20180053311A1 (en) * | 2015-11-30 | 2018-02-22 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, and storage medium for detecting collision between colliders in real-time virtual scene |
CN106875492A (zh) * | 2017-02-13 | 2017-06-20 | 华东师范大学 | 一种面向gpu包围盒碰撞检测方法 |
CN111062980A (zh) * | 2019-11-22 | 2020-04-24 | 西安理工大学 | 一种软体碰撞检测方法 |
CN111167120A (zh) * | 2019-12-31 | 2020-05-19 | 网易(杭州)网络有限公司 | 游戏中虚拟模型的处理方法和装置 |
CN111494954A (zh) * | 2020-04-22 | 2020-08-07 | 网易(杭州)网络有限公司 | 游戏中的动画处理方法、装置、电子设备及存储介质 |
CN111760273A (zh) * | 2020-07-06 | 2020-10-13 | 网易(杭州)网络有限公司 | 游戏碎块处理方法、装置及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113244622A (zh) * | 2021-06-22 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 碰撞数据处理方法和装置、存储介质及电子设备 |
CN113559518A (zh) * | 2021-07-30 | 2021-10-29 | 网易(杭州)网络有限公司 | 虚拟模型的交互检测方法、装置、电子设备及存储介质 |
CN113559518B (zh) * | 2021-07-30 | 2024-06-11 | 网易(杭州)网络有限公司 | 虚拟模型的交互检测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10751626B2 (en) | Collision control method and apparatus, and storage medium | |
US11301954B2 (en) | Method for detecting collision between cylindrical collider and convex body in real-time virtual scenario, terminal, and storage medium | |
CN112619152A (zh) | 游戏包围盒的处理方法、装置及电子设备 | |
CN111063032B (zh) | 模型渲染方法、系统及电子装置 | |
US11423605B2 (en) | Systems and methods for remastering a game space while maintaining the underlying game simulation | |
CN112717404B (zh) | 虚拟对象的移动处理方法、装置、电子设备及存储介质 | |
JP6700480B2 (ja) | ポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラム | |
CN112057849A (zh) | 游戏场景渲染方法、装置及电子设备 | |
WO2023165315A1 (zh) | 技能指示器的显示方法及装置、电子设备和存储介质 | |
JP2020507847A (ja) | オブジェクト移動方法及び装置並びに記憶媒体、電子装置 | |
CN111080762B (zh) | 虚拟模型渲染方法及装置 | |
Lazaridis et al. | Hitboxes: A survey about collision detection in video games | |
JP4788950B2 (ja) | 画像処理プログラム、画像処理方法、及び画像処理装置 | |
CN111773685A (zh) | 动态生成游戏角色视野的方法和装置 | |
JP2003022452A (ja) | 画像処理装置および立体形状表示プログラム | |
CN111265874A (zh) | 游戏中目标物的建模方法、装置、设备及存储介质 | |
US7742047B2 (en) | Image processing program and image processing system using same | |
CN107798734A (zh) | 三维模型自适应变形方法 | |
CN113117334A (zh) | 目标点的可见区域的确定方法及相关装置 | |
CN111862345A (zh) | 信息处理方法及装置、电子设备和计算机可读存储介质 | |
Mileff | Collision detection in 2D games | |
JP2005122479A (ja) | プログラム、情報記憶媒体及び画像生成装置 | |
CN112843713B (zh) | 一种视野中心点的确定方法、装置、设备及介质 | |
US12008716B2 (en) | Systems and methods for generating a simplified polygonal mesh | |
CN117504280A (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 |