CN114225413A - 碰撞检测方法、装置、电子设备和存储介质 - Google Patents

碰撞检测方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114225413A
CN114225413A CN202111585025.9A CN202111585025A CN114225413A CN 114225413 A CN114225413 A CN 114225413A CN 202111585025 A CN202111585025 A CN 202111585025A CN 114225413 A CN114225413 A CN 114225413A
Authority
CN
China
Prior art keywords
collision
target
box
time
collision box
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
Application number
CN202111585025.9A
Other languages
English (en)
Inventor
杜敏
蔡倜
朱晟达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Perfect Time And Space Software Co ltd
Original Assignee
Shanghai Perfect Time And Space Software Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Perfect Time And Space Software Co ltd filed Critical Shanghai Perfect Time And Space Software Co ltd
Priority to CN202111585025.9A priority Critical patent/CN114225413A/zh
Publication of CN114225413A publication Critical patent/CN114225413A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种碰撞检测方法、装置、电子设备和存储介质,其中,该方法包括:获取在目标客户端执行的目标操作,其中,所述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能;应所述目标操作,获取所述目标角色技能的目标碰撞盒的时移信息,其中,每个所述目标角色技能关联至少一个所述目标碰撞盒,所述时移信息用于确定所述碰撞盒的时间与位置的对应关系;以及基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,所述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或所述碰撞对象的对象技能关联的碰撞盒。上述方案解决了相关技术中碰撞判断精确度低、打击感差、对计算能力消耗大的问题。

Description

碰撞检测方法、装置、电子设备和存储介质
技术领域
本申请涉及互联网领域,尤其涉及一种碰撞检测方法、装置、电子设备和存储介质。
背景技术
命中判断是游戏的基本需求。根据游戏类型的不同,可以有多种不同的命中判断方法。
回合制游戏,一般只需要根据命中率进行简单的概率计算即可;2D游戏和大部分MMORPGM(Massively Multiplayer Online Role-PlayingGame,大型多人在线角色扮演游戏),需要通过计算目标坐标点是否在技能的作用范围内来判断是否命中;而强调打击感的动作游戏,一般都采用物理引擎来计算碰撞是否命中。
前两种命中判断方法简单易用,但是精确度低,打击感差,不适合应用在动作游戏中。而最后一种一般应用在单机游戏中,因为物理引擎对计算能力消耗大,难以应用在多人在线服务器中。
发明内容
本申请提供了一种碰撞检测方法、装置、电子设备和存储介质,以至少解决相关技术中碰撞检测精确度低、打击感差以及对计算能力消耗大的问题。
根据本申请实施例的第一方面,提供了碰撞检测方法,包括:
获取在目标客户端执行的目标操作,其中,所述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能;响应所述目标操作,获取所述目标角色技能的目标碰撞盒的时移信息,其中,每个所述目标角色技能关联至少一个所述目标碰撞盒,所述时移信息用于确定所述碰撞盒的时间与位置的对应关系;以及基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,所述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或所述碰撞对象的对象技能关联的碰撞盒。
根据本申请实施例的第一方面的第一种可能实现方式,所述时移信息包括第一预设轨迹文件和第一实时释放信息,所述响应所述目标操作,获取所述目标角色技能的目标碰撞盒的时移信息,包括:确定与所述目标碰撞盒关联的所述第一预设轨迹文件;以及基于所述目标角色技能释放时的状态,获取所述第一实时释放信息,所述实时释放信息包括所述目标角色技能释放时的所述目标虚拟角色的第一实时位置、第一实时方向和第一释放时间。
根据本申请实施例的第一方面的第二种可能实现方式,所述基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,包括:在所述碰撞对象碰撞盒关联于静态碰撞对象的情况下,获取所述碰撞对象碰撞盒的固定位置信息;以及基于所述第一预设轨迹文件、所述第一实时释放信息以及所述固定位置信息,确定所述目标碰撞盒与所述碰撞对象碰撞盒的碰撞状态。
根据本申请实施例的第一方面的第三种可能实现方式,所述基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,包括:在所述碰撞对象碰撞盒关联于动态碰撞对象的情况下,获取所述碰撞对象碰撞盒的第二预设轨迹文件和第二实时释放信息;以及基于所述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息,确定所述目标碰撞盒与所述碰撞对象碰撞盒的碰撞状态。
根据本申请实施例的第一方面的第四种可能实现方式,所述基于所述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息,确定所述目标碰撞盒与所述碰撞对象碰撞盒的碰撞状态,包括:采用差值法基于所述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息分别计算所述目标碰撞盒的位置和所述碰撞对象碰撞盒的位置,根据所述目标碰撞盒和所述碰撞对象碰撞盒的位置关系,确定所述目标碰撞盒与所述碰撞对象碰撞盒的碰撞状态。
根据本申请实施例的第一方面的第五种可能实现方式,所述方法还包括:获取所述碰撞盒的碰撞特性,所述碰撞特性包括可碰撞对象类型和/或可碰撞次数;所述基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,包括:基于所述时移信息和所述碰撞特性确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态。
根据本申请实施例的第一方面的第六种可能实现方式,所述预设轨迹文件包括所述碰撞盒的出现时间、消失时间、轨迹实时位置、缩放信息和旋转信息中的至少一者。
根据本申请实施例的第一方面的第七种可能实现方式,所述方法还包括:修改所述预设轨迹文件;和/或,修改所述目标碰撞盒与所述预设轨迹文件的关联关系。
根据本申请实施例的一个方面的第八种可能实现方式,所述方法还包括:基于物理可视化调试工具和所述碰撞状态修改所述预设轨迹文件。
根据本申请实施例的第二方面,提供了一种碰撞检测装置,包括:获取单元,用于获取在目标客户端执行的目标操作,其中,所述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能;响应单元,用于响应所述目标操作,获取所述目标角色技能的目标碰撞盒的时移信息,其中,每个所述目标角色技能关联至少一个所述目标碰撞盒,所述时移信息用于确定所述碰撞盒的时间与位置的对应关系;以及确定单元,用于基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,所述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或所述碰撞对象的对象技能关联的碰撞盒。
根据本申请实施例的第三方面,还提供了一种电子设备,包括处理器和存储器,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。
根据本申请实施例的第四方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
在本申请实施例中提供的一种碰撞检测方法,对于现有技术存在的问题,服务器通过获取在目标客户端执行的目标操作,其中,上述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能。然后,服务器响应上述目标操作,获取上述目标角色技能的目标碰撞盒的时移信息,其中,每个上述目标角色技能关联至少一个上述目标碰撞盒,上述时移信息用于确定上述碰撞盒的时间与位置的对应关系。最后,服务器基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,上述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或上述碰撞对象的对象技能关联的碰撞盒。因此,由于服务器基于目标角色技能仅获取目标碰撞盒的时移信息,并基于上述时移信息计算获得的目标碰撞盒的和碰撞对象碰撞盒是否发生碰撞,从而确定目标客户端指定的目标操作的是否命中碰撞对象。由于物理引擎计算碰撞,模拟整个场景信息运算量大,直接应用在多人在线服务器中,会导致性能瓶颈。上述碰撞检测方法通过导出运动轨迹的关键数据获得碰撞盒的时移信息,采用精简的计算方式,大幅降低了碰撞检测的运算量,在保证物理引擎计算碰撞带来的真实打击感的同时,提高了碰撞检测在服务器中的可用性。
相应的,上述装置、电子设备和存储介质也具有相同效果,上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施。并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请实施例的具体实施方式。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种可选的碰撞检测方法的硬件环境的示意图;
图2是根据本申请实施例的一种碰撞检测方法的流程示意图;
图3是根据本申请实施例的一种可选的碰撞检测的结构框图;
图4是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
Unity Editor:一种游戏编辑器,主要用于制作游戏场景、游戏物件的工具。
碰撞盒(Collider):Unity Editor中的碰撞盒主要存在以下几种:box collider,sphere collider,capsult collider,mesh collider,wheel collider。碰撞盒的主要作用是在场景中添加物体碰撞,能够在游戏内产生各种现实世界中一致的物理现象(包括阻挡、摩擦、反弹等物理效果)。
根据本申请实施例的第一方面,提供了一种碰撞检测方法。可选地,在本实施例中,上述碰撞检测方法可以应用于如图1所示的由终端102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端102进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务。
上述网络包括但不限于以下至少之一:有线网络,无线网络,该有线网络可以包括但不限于以下至少之一:广域网、城域网或局域网,该无线网络可以包括但不限于以下至少之一:蓝牙、WIFI(Wireless Fidelity,无线保真)及其他实现无线通信的网络。上述终端102可以是计算数据的终端,如移动终端(例如手机、平板电脑)、笔记本电脑、PC机等终端上。上述服务器可以包括但不限于任何可以进行计算的硬件设备。
本申请实施例的碰撞检测方法可以由服务器104来执行,也可以是由终端102执行或者服务器104和终端102共同执行。其中,终端102执行、终端102配合服务器104执行本申请实施例的碰撞检测方法的部分也可以是由安装在其上的客户端来执行。
以由服务器104来执行本实施例中的碰撞检测方法为例,图2是根据本申请实施例的一种可选的碰撞检测方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
步骤S202,获取在目标客户端执行的目标操作,其中,上述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能。
上述碰撞检测方法可以但不限于应用于游戏应用以及游戏中的命中判断中,如射击类游戏应用和射击类游戏应用的命中判断。在运行一局射击游戏任务的过程中,参与该射击游戏任务的游戏玩家可以被划分为两个阵营,其中,一个阵营的玩家可以合作击败或击杀另一阵营的玩家。在本实施例中,在检测到玩家控制的虚拟角色执行的攻击操作关联的碰撞盒与另一阵营的玩家所控制的虚拟角色关联的碰撞盒,或同一阵营的玩家所控制的虚拟角色关联的碰撞盒产生碰撞的情况下,会判定为命中,从而保证游戏的正常运行。
在一些示例中,该游戏应用可以为多人在线战术竞技游戏应用。上述游戏应用的类型可以包括但不限于三维(Three Dimension,简称3D)游戏应用、虚拟现实(VirtualReality,简称VR)游戏应用、增强现实(Augmented Reality,简称AR)游戏应用、混合现实(Mixed Reality,简称MR)游戏应用。以上只是一种示例,本实施例对此不作任何限定。
在一些示例中,上述射击游戏应用可以为第三人称射击游戏(Third PersonShootingGame,简称TPS)应用,如除当前玩家所控制的虚拟角色之外的第三方角色对象的视角来运行该射击游戏应用,还可以为第一人称射击游戏(First Person Shooting Game,简称FPS)应用,如以当前玩家所控制的虚拟角色的视角来运行该射击游戏应用。对应的,上述在游戏任务运行过程中产生声音的音源虚拟对象可以但不限于:玩家通过各个游戏应用客户端所控制的虚拟角色(也可称作玩家角色)、非玩家角色(Non-Player Character,简称NPC)、通过上述虚拟角色控制的道具对象(如***等)、通过上述虚拟角色控制的载具对象(如车辆等)。上述仅为示例,本实施例中对此不作任何限定。
在一些示例中,目标游戏可以是由目标游戏的后台服务器单独执行的,即,由服务器单独运行该目标游戏,客户端仅用于显示目标游戏的游戏画面,以及获取对游戏画面的操作(例如,对游戏画面的操作位置),并同步至后台服务器;还可以由目标游戏的客户端和目标游戏的后台服务器共同执行的,即,客户端和后台服务器分别执行目标游戏的部分逻辑,本实施例中对此不作限定。
在一些示例中,以目标游戏为目标网络游戏、且由后台服务器和客户端共同执行目标网络游戏的处理逻辑为例进行说明,其中,客户端获取用户的操作信息并将操作信息同步到后台服务器,后台服务器执行游戏操作的处理逻辑,并将处理结果同步到相关客户端,本实施例中的碰撞检测方法同样适用。
示例性的,一个用户或者说一个玩家的终端设备上可以运行有目标网络游戏的客户端,该客户端可以与目标网络游戏的后台服务器进行通信连接。用户可以使用帐号和密码、动态密码、关联应用登录等方式登录到其终端设备上运行的上述客户端。
示例性的,对于目标用户可以使用目标帐号登录到目标网络游戏的目标客户端。目标客户端上可以显示有目标网络游戏(例如,多人在线战术竞技游戏)的目标游戏场景(例如,多人在线战术竞技游戏场景)。目标对象可以控制与其对应的虚拟角色(即,目标虚拟角色)在目标游戏场景中执行游戏操作,例如,在游戏地图中移动,使用场景道具或角色技能,执行游戏任务,与其他玩家交互等等。
在一些示例中,对于其他用户,可以采用与目标用户相同或者类似的方式通过其控制的虚拟角色在目标游戏场景中执行相同或者类似的游戏操作,而在目标客户端上可以显示其他对象所控制的虚拟角色执行游戏操作的画面。
在一些示例中,目标虚拟角色在目标游戏场景中可以释放目标角色技能,该目标角色技能与目标虚拟角色相关联,一个目标虚拟角色可以关联有多个目标角色技能。目标角色技能可以是虚拟角色在游戏中具有的各个领域的技能,例如攻击技能、治愈技能等。目标角色技能还可以是一些高等的格斗技巧、超必杀技能、觉醒技能、逆转技能等。例如,每个虚拟角色均具有一套独立的角色技能,通过进行虚拟角色的切换,玩家可以使用不同的角色技能。
步骤S204,响应上述目标操作,获取上述目标角色技能的目标碰撞盒的时移信息,其中,每个上述目标角色技能关联至少一个上述目标碰撞盒,上述时移信息用于确定上述碰撞盒的时间与位置的对应关系。
在一些示例中,响应获取到的上述目标操作,目标客户端可以控制目标虚拟角色释放目标角色技能,例如,控制目标虚拟角色向外发射能够脱离上述目标虚拟角色的角色技能,可以是向外投掷炮弹;也可以是目标虚拟角色向外出拳或踢腿等属于肢体动作一类的角色技能。可以是由目标客户端检测到用户发出对目标虚拟角色的目标操作后,向后台服务器上传检测到的目标操作、由后台服务器执行的。例如,客户端检测到用户发出目标虚拟角色释放向外投掷炮弹的技能的目标操作,客户端可以将检测到用户发出目标虚拟角色释放向外投掷炮弹的技能的目标操作同步至后台服务器,由后台服务器执行用户发出目标虚拟角色释放向外投掷炮弹的技能的目标操作,并进行碰撞检测。目标操作的执行方式可以根据需要配置,本实施例中对此不作限定。
在一些示例中,上述目标角色技能可以是针对特定对象执行的,例如,特定对象可以目标场景物体,则通过目标客户端显示的可以是:目标虚拟角色朝着目标场景物体释放目标角色技能的画面。特定对象可以是其他玩家控制的可移动的其他虚拟角色,则通过目标客户端显示的可以是:目标虚拟角色朝着其他虚拟角色释放目标角色技能的画面。上述目标操作也可以不是针对特定对象执行的,则通过目标客户端显示的可以是:目标虚拟角色沿着发射方向释放目标角色技能的画面。
例如,用户所控制的虚拟角色可以通过射击的方式发射炮弹,炮弹的方式朝向目标场景物体可移动的其他虚拟角色移动。
在一些示例中,目标碰撞盒可以关联于能够脱离上述目标虚拟角色的角色技能。例如,如果能够脱离上述目标虚拟角色的角色技能为闪射的多个炮弹,则每个炮弹可以绑定一个目标碰撞盒。
在一些示例中,目标碰撞盒可以关联于目标虚拟角色向外出拳或踢腿等属于肢体动作一类的角色技能,例如,目标碰撞盒可以绑定与目标虚拟角色脚部或手部。
在一些示例中,上述时移信息可以是包括碰撞盒的位置随时间变化的信息,即,可以包括碰撞盒的运动轨迹。例如,可以是如果能够脱离上述目标虚拟角色的角色技能为闪射的多个炮弹的碰撞盒的位置随时间变化的信息,也可以是目标虚拟角色向外出拳或踢腿的碰撞盒的位置随时间变化的信息。
步骤S206,基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,上述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或上述碰撞对象的对象技能关联的碰撞盒。
在一些示例中,在目标碰撞盒沿着运动轨迹移动的过程中,其可以与目标游戏场景中的固定虚拟物体发生碰撞。上述固定虚拟物体本身可以作为碰撞对象,上述固定虚拟物体本身可以关联有至少一个碰撞对象碰撞盒。上述碰撞可以是:目标角色技能的目标碰撞盒与场景中的固定虚拟物体的碰撞对象碰撞盒之间发生碰撞。
示例性的,固定虚拟物体可以是目标游戏场景中任意允许交互的场景物体,可以但不限于为以下之一:地形物体,建筑,树木,木箱,场景物体。
在一些示例中,在目标碰撞盒沿着运动轨迹移动的过程中,其可以与目标游戏场景中的移动虚拟物体发生碰撞。上述移动虚拟物体本身可以作为碰撞对象,上述移动虚拟物体本身可以关联有至少一个碰撞对象碰撞盒。上述碰撞可以是:目标角色技能的目标碰撞盒与场景中的移动虚拟物体的碰撞对象碰撞盒之间发生碰撞。
示例性的,移动虚拟物体可以是目标游戏场景中任意允许交互的移动虚拟物体,可以但不限于为以下之一:可移动生物等,可移动生物可以是玩家角色,也可以是非玩家生物等。
在一些示例中,在目标碰撞盒沿着运动轨迹移动的过程中,其可以与目标游戏场景中的其他虚拟角色释放的角色技能发生碰撞。上述其他虚拟角色释放的角色技能可以作为碰撞对象,上述其他虚拟角色释放的角色技能可以关联有至少一个碰撞对象碰撞盒。上述碰撞可以是:目标角色技能的目标碰撞盒与场景中的其他虚拟角色释放的角色技能的碰撞对象碰撞盒之间发生碰撞。
示例性的,其他虚拟角色释放的角色技能可以是目标游戏场景中任意允许交互的移动虚拟对象释放的角色技能。
在一些示例中,碰撞状态可以分为碰撞和未碰撞。在根据目标碰撞盒的时移信息,也就是碰撞盒的位置随时间变化的信息,能够确定目标碰撞盒与碰撞对象碰撞盒的运动轨迹是否交叠,在确定目标碰撞盒与碰撞对象碰撞盒的运动轨迹交叠的情况下,可以确定目标碰撞盒与碰撞对象碰撞盒之间发生碰撞。进一步的,可以判定目标虚拟对象的目标角色技能命中了碰撞对象碰撞盒所关联的碰撞对象,或判定目标虚拟对象的目标角色技能命中了碰撞对象碰撞盒所关联的碰撞对象对应的对象技能。并且由于上述碰撞检测方法是虚拟角色的多个碰撞盒的运动轨迹进行同时计算,避免出现虚拟角色在保持相同动作的情况下进行位移,在网络情况良好时,可以很大程度上抑制角色移动和动画不匹配带来的滑步问题。
在一些示例中,上述碰撞检测方法可以应用于服务器,避免网络游戏在采用客户端计算碰撞的情况下,由于服务器信任客户端结果的方式来进行命中判断,导致的外挂问题,进而进一步提高用户的游戏体验。
通过上述步骤S202至步骤S206,通过获取在目标客户端执行的目标操作,其中,上述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能。然后,服务器响应上述目标操作,获取上述目标角色技能的目标碰撞盒的时移信息,其中,每个上述目标角色技能关联至少一个上述目标碰撞盒,上述时移信息用于确定上述碰撞盒的时间与位置的对应关系。最后,服务器基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,上述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或上述碰撞对象的对象技能关联的碰撞盒。因此,由于服务器基于目标角色技能仅获取目标碰撞盒的时移信息,并基于上述时移信息计算获得的目标碰撞盒的和碰撞对象碰撞盒是否发生碰撞,从而确定目标客户端指定的目标操作的是否命中碰撞对象。由于物理引擎计算碰撞,模拟整个场景信息运算量大,直接应用在多人在线服务器中,会导致性能瓶颈。上述碰撞检测方法通过导出运动轨迹的关键数据获得碰撞盒的时移信息,采用精简的计算方式,大幅降低了碰撞检测的运算量,在保证物理引擎计算碰撞带来的真实打击感的同时,提高了碰撞检测在服务器中的可用性。并且,由于采用服务器进行碰撞检测的判断,同时又消除了外挂隐患,提高用户的游戏体验。
作为一种可选的实施例,上述时移信息包括第一预设轨迹文件和第一实时释放信息,上述响应上述目标操作,获取上述目标角色技能的目标碰撞盒的时移信息的步骤可以包括:
S11,确定与上述目标碰撞盒关联的所述第一预设轨迹文件;
S12,基于上述目标角色技能释放时的状态,获取上述第一实时释放信息,上述实时释放信息包括上述目标角色技能释放时的上述目标虚拟角色的第一实时位置、第一实时方向和第一释放时间。
示例性的,上述第一预设轨迹文件可以是由美术编辑和策划人员预先设定的目标角色技能自身在不受释放方向释放方式等影响的情况下的运动轨迹信息。例如,目标角色技能为上勾拳技能,那么第一预设轨迹文件可以是预先设定的上勾拳自身的向前发出后向上调转的出拳的动作,那么上勾拳技能关联的目标技能碰撞盒在不受释放方向释放方式等影响的情况下的运动轨迹信息为向前发出后向上调转的运动轨迹。
例如,目标角色技能为能够脱离目标虚拟角色的向外发出的单一炮弹,那么第一预设轨迹文件可以是预先设定的炮弹延直线发射的运动轨迹,那么上述向外发出的炮弹技能关联的目标技能碰撞盒在不受释放方向释放方式等影响的情况下的运动轨迹信息为向前发出的运动轨迹。
例如,目标角色技能为能够脱离目标虚拟角色的向外散射的多枚炮弹,那么第一预设轨迹文件可以是预先设定的炮弹延直线或偏转方向发射的运动轨迹,那么上述向外散射的炮弹技能关联的多个目标技能碰撞盒在不受释放方向释放方式等影响的情况下的运动轨迹信息为延直线或偏转方向发射的运动轨迹的运动轨迹。
示例性的,目标碰撞盒实际的运动轨迹不单受目标角色技能自身的运动轨迹信息的影响。还要受到释放时间、释放方式等的影响。所以还可以基于上述目标角色技能释放时的状态,获取上述第一实时释放信息,上述实时释放信息包括上述目标角色技能释放时的上述目标虚拟角色的第一实时位置、第一实时方向和第一释放时间。
例如,目标角色技能为能够脱离目标虚拟角色的向前发出的单一炮弹。第一实时位置为目标虚拟角色在碰撞对象的面前,第一实时方向为目标虚拟角色的目标角色技能朝向碰撞对象的相反方向,第一释放时间目标虚拟角色与碰撞对象处于相对静止的状态,目标角色技能为能够脱离目标虚拟角色的向前发出的单一炮弹,也就是说第一预设轨迹文件可以是预先设定的炮弹延直线发射的运动轨迹,那么结合第一预设轨迹文件,上述向前发出的炮弹技能关联的目标技能碰撞盒在受释放方向释放方式等影响的情况下的运动轨迹信息是无法与碰撞对象关联的碰撞盒相交叠的。可以确定目标碰撞盒与碰撞对象碰撞盒之间未发生碰撞。进一步的,可以判定目标虚拟对象的目标角色技能未命中碰撞对象碰撞盒所关联的碰撞对象。
通过上述实施例,考虑到目标角色技能的第一预设轨迹文件和第一实时释放信息,能够更准确的进行碰撞检测的判断,在保证物理引擎计算碰撞带来的真实打击感和优化计算量的同时,提高碰撞检测的准确性。
作为一种可选的实施例,上述基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态的步骤可以包括:
S21,在上述碰撞对象碰撞盒关联于静态碰撞对象的情况下,获取上述碰撞对象碰撞盒的固定位置信息。
S22,基于上述第一预设轨迹文件、上述第一实时释放信息以及上述固定位置信息,确定上述目标碰撞盒与所述碰撞对象碰撞盒的碰撞状态。
在一些示例中,如果碰撞对象碰撞盒关联于静态碰撞对象的情况下,例如,静态碰撞对象可以是地形物体、建筑和树木等静态物体,由于上述静态碰撞对象的碰撞盒的位置信息是固定的,可以仅获取上述静态碰撞对象的碰撞盒的固定位置信息。
示例性的,目标角色技能为能够脱离目标虚拟角色的向前发出的单一炮弹。碰撞对象可以是固定不动的建筑。第一实时位置为目标虚拟角色在建筑的面前,第一实时方向为目标虚拟角色的目标角色技能朝向建筑的方向,第一释放时间目标虚拟角色与建筑处于相对静止的状态,且目标角色技能释放处距离上述建筑50米。目标角色技能为能够脱离目标虚拟角色的向前发出的单一炮弹,也就是说第一预设轨迹文件可以是预先设定的炮弹延直线发射的运动轨迹,假设运动轨迹中包括炮弹的射程为100米,那么结合第一预设轨迹文件,上述向前发出的炮弹技能关联的目标技能碰撞盒在受释放方向释放方式等影响的情况下的运动轨迹信息能够与碰撞对象关联的碰撞盒相交叠的。可以确定目标碰撞盒与碰撞对象碰撞盒之间发生碰撞。进一步的,可以判定目标虚拟对象的目标角色技能命中碰撞对象碰撞盒所关联的碰撞对象。
通过本实施例,在碰撞对象碰撞盒关联于静态碰撞对象的情况下,仅需获取上述碰撞对象碰撞盒的固定位置信息,结合第一预设轨迹文件和上述第一实时释放信息,来进行碰撞检测,在保证物理引擎计算碰撞带来的真实打击感的同时进一步优化计算量,以提高碰撞检测的效率。
作为一种可选的实施例,上述基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态的步骤可以包括:
S31,在上述碰撞对象碰撞盒关联于动态碰撞对象的情况下,获取上述碰撞对象碰撞盒的第二预设轨迹文件和第二实时释放信息;
S32,基于上述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息,确定上述目标碰撞盒与上述碰撞对象碰撞盒的碰撞状态。
在一些示例中,如果碰撞对象碰撞盒关联于动态碰撞对象的情况下,例如,动态碰撞对象可以是目标游戏场景中任意允许交互的移动虚拟物体,可以但不限于为以下之一:可移动生物等,可移动生物可以是玩家角色,也可以是非玩家生物等。
示例性的,目标角色技能为能够脱离目标虚拟角色的向前发出的单一炮弹。碰撞对象可以是移动的其他虚拟角色。第一实时位置和第二释放位置指示目标虚拟角色在移动的其他虚拟角色的面前且相距10米,第一实时方向和第二实时方向相同,即目标虚拟角色的目标角色技能朝向移动的其他虚拟角色的移动方向。第一释放时间目与第二释放时间相同。第二预设轨迹文件指示移动的虚拟角色以1米每秒的速度直线移动,第一预设轨迹文件指示炮弹以5米每秒的速度直线移动。那么结合上述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息,上述向前发出的炮弹技能关联的目标技能碰撞盒和移动的其他虚拟角色关联的碰撞盒在受释放方向释放方式等影响的情况下的运动轨迹信息相交叠的。可以确定目标碰撞盒与碰撞对象碰撞盒之间发生碰撞。进一步的,可以判定目标虚拟对象的目标角色技能命中碰撞对象碰撞盒所关联的碰撞对象。
通过本实施例,在碰撞对象碰撞盒关联于动态碰撞对象的情况下,同时获取第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息,来进行碰撞检测,能够进一步提高碰撞检测的准确性和游戏的真实感。
作为一种可选的实施例,上述基于上述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息,确定上述目标碰撞盒与上述碰撞对象碰撞盒的碰撞状态可以包括:
S41,采用差值法基于上述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息分别计算上述目标碰撞盒的位置和上述碰撞对象碰撞盒的位置,根据上述目标碰撞盒和上述碰撞对象碰撞盒的位置关系,确定上述目标碰撞盒与上述碰撞对象碰撞盒的碰撞状态。
示例性的,上述插值法,其又称“内插法”,基本原理是利用函数f(x)在某区间中已知的若干点的函数值确定出适当的特定函数,在区间的其他点上用该特定函数的值作为其他点在函数f(x)的近似值。上述插值法可以包括距离倒数乘方法、克里金法、最小曲率法、多元回归法、径向基本函数法、线形插值法、自然邻点插值法和最近邻点插值法等诸多插值算法中的任意一种或其结合,对此不做特别限制可以采用。采用差值法可以进一步进化碰撞检测的计算量,提高检测效率。
作为一种可选的实施方式,上述方法还可以包括:
S51,获取上述碰撞盒的碰撞特性,上述碰撞特性包括可碰撞对象类型和/或可碰撞次数;
上述基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,可以包括:
S52,基于上述时移信息和上述碰撞特性确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态。
在一些示例中,在确定碰撞状态时还需要考虑碰撞盒的碰撞特性,上述碰撞特性包括可碰撞对象类型和/或可碰撞次数。例如,目标角色技能为能够脱离目标虚拟角色的向前发出的单一炮弹。碰撞对象可以是队友,而如果可碰撞对象类型不包括队友,则即便上述向前发出的炮弹技能关联的目标技能碰撞盒和队友关联的碰撞盒在受释放方向释放方式等影响的情况下的运动轨迹信息能够相交叠的,可以确定目标碰撞盒与碰撞对象碰撞盒之间未发生碰撞。通过上述实施例,可以根据游戏设定进行个性化的碰撞检测,提高用户体验。
作为另一种可选的实施方式,上述预设轨迹文件可以包括上述碰撞盒的出现时间、消失时间、轨迹实时位置、缩放信息和旋转信息中的至少一者。
在一些示例中,在确定碰撞状态时还可以结合碰撞盒的出现时间、消失时间、轨迹实时位置、缩放信息和旋转信息。
例如,碰撞盒的出现时间是在目标角色技能的释放时间的预定时间后出现的,也就是说,可能目标角色技能释放后碰撞盒出现前还具有一定等待时间。以目标角色技能为发送炮弹为例,目标角色技能释放的时间为发送炮弹的时间,碰撞盒出现时间为炮弹实际射出的时间。那么显然,炮弹实际射出的时间对于炮弹关联的目标技能碰撞盒和移动的其他虚拟角色关联的碰撞盒的运动轨迹信息是否能够相交叠的是有影响的。那么同理,上述碰撞盒的消失时间对于炮弹关联的目标技能碰撞盒和移动的其他虚拟角色关联的碰撞盒的运动轨迹信息是否能够相交叠的也是有影响的。
在一些示例中,碰撞盒的缩放信息由于会影响到中心位置距离相同的两个碰撞盒是否能够相撞,而对碰撞检测结果存在影响。以目标角色技能为出拳为例,在目标虚拟角色的拳头关联的目标碰撞盒没有经过缩放的情况下,目标碰撞盒与碰撞对象关联的碰撞盒的运动轨迹虽然贴近但为交叠。而如果通过缩放信息确定目标碰撞盒存在放大的情况,那么目标碰撞盒与碰撞对象碰撞盒存在接触的情况,仍然可以确定目标碰撞盒与碰撞对象碰撞盒之间发生了碰撞。能够进一步提高碰撞检测的准确性和游戏的真实感。
作为一种可选的实施例,上述方法还可以包括:
S61,修改上述预设轨迹文件;和/或,
S62,修改上述目标碰撞盒与上述预设轨迹文件的关联关系。
在一些示例中,美术编辑和策划可以根据用户需求和设计要求对预设轨迹文件进行修改,相对于纯粹的速度计算,可以做更加复杂的运动轨迹。
作为一种可选的实施例,上述方法还包括:
S71,基于物理可视化调试工具和上述碰撞状态修改上述预设轨迹文件。
示例性的,上述物理可视化调试工具可以是PhysX Visual Debugger,可以进行可视化的碰撞过程调试,便于程序维护人员的调试工作。以碰撞检测中的碰撞次数的调整为例,配置人员可以通过调整碰撞盒碰撞特性中的碰撞次数,让碰撞过程更为精准和真实,从而提高用户体验。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述碰撞检测方法的碰撞检测装置。图3是根据本申请实施例的一种可选的碰撞检测装置的结构框图,如图3所示,该装置可以包括:
获取单元302,用于获取在目标客户端执行的目标操作,其中,上述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能;
响应单元304,与获取单元302相连,用于响应上述目标操作,获取上述目标角色技能的目标碰撞盒的时移信息,其中,每个上述目标角色技能关联至少一个上述目标碰撞盒,上述时移信息用于确定上述碰撞盒的时间与位置的对应关系;
确定单元306,与响应单元304相连,用于基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,上述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或上述碰撞对象的对象技能关联的碰撞盒。
需要说明的是,该实施例中的获取单元302可以用于执行上述步骤S202,该实施例中的响应单元304可以用于执行上述步骤S204,该实施例中的确定单元306可以用于执行上述步骤S206。
通过上述模块,服务器通过获取在目标客户端执行的目标操作,其中,上述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能。然后,服务器响应上述目标操作,获取上述目标角色技能的目标碰撞盒的时移信息,其中,每个上述目标角色技能关联至少一个上述目标碰撞盒,上述时移信息用于确定上述碰撞盒的时间与位置的对应关系。最后,服务器基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,上述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或上述碰撞对象的对象技能关联的碰撞盒。因此,由于服务器基于目标角色技能仅获取目标碰撞盒的时移信息,并基于上述时移信息计算获得的目标碰撞盒的和碰撞对象碰撞盒是否发生碰撞,从而确定目标客户端指定的目标操作的是否命中碰撞对象。由于物理引擎计算碰撞,模拟整个场景信息运算量大,直接应用在多人在线服务器中,会导致性能瓶颈。上述碰撞检测方法通过导出运动轨迹的关键数据获得碰撞盒的时移信息,采用精简的计算方式,大幅降低了碰撞检测的运算量,提高了碰撞检测在服务器中的可用性。并且,由于采用服务器进行碰撞检测的判断,同时又消除了外挂隐患,提高用户的游戏体验。
作为一种可选的实施例,上述时移信息可以包括第一预设轨迹文件和第一实时释放信息,上述响应单元304可以用于:
确定与上述目标碰撞盒关联的上述第一预设轨迹文件;
基于上述目标角色技能释放时的状态,获取上述第一实时释放信息,上述实时释放信息包括上述目标角色技能释放时的上述目标虚拟角色的第一实时位置、第一实时方向和第一释放时间。
作为一种可选的实施例,确定单元306可以用于:
在上述碰撞对象碰撞盒关联于静态碰撞对象的情况下,获取上述碰撞对象碰撞盒的固定位置信息;
基于上述第一预设轨迹文件、上述第一实时释放信息以及上述固定位置信息,确定上述目标碰撞盒与上述碰撞对象碰撞盒的碰撞状态。
作为一种可选的实施例,确定单元306可以用于:
在上述碰撞对象碰撞盒关联于动态碰撞对象的情况下,获取上述碰撞对象碰撞盒的第二预设轨迹文件和第二实时释放信息;
基于上述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息,确定上述目标碰撞盒与上述碰撞对象碰撞盒的碰撞状态。
作为一种可选的实施例,确定单元306可以用于:
采用差值法基于上述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息分别计算上述目标碰撞盒的位置和上述碰撞对象碰撞盒的位置,根据上述目标碰撞盒和上述碰撞对象碰撞盒的位置关系,确定上述目标碰撞盒与上述碰撞对象碰撞盒的碰撞状态。
作为一种可选的实施例,上述确定单元306可以用于:
获取上述碰撞盒的碰撞特性,上述碰撞特性包括可碰撞对象类型和/或可碰撞次数;
基于上述时移信息和上述碰撞特性确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态。
作为一种可选的实施例,上述预设轨迹文件包括上述碰撞盒的出现时间、消失时间、轨迹实时位置、缩放信息和旋转信息中的至少一者。
作为一种可选的实施例,上述装置还包括:
修改单元,用于修改上述预设轨迹文件;和/或,修改上述目标碰撞盒与上述预设轨迹文件的关联关系。
作为一种可选的实施例,修改单元还用于:
基于物理可视化调试工具和上述碰撞状态修改上述预设轨迹文件。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的第三方面,还提供了一种用于实施上述碰撞检测方法的电子设备,该电子设备可以是服务器、或者其与终端的组合。
图4是根据本申请实施例的一种可选的电子设备的结构框图,如图4所示,包括处理器402、通信接口404、存储器406和通信总线408,其中,处理器402、通信接口404和存储器406通过通信总线408完成相互间的通信,其中,
存储器406,用于存储计算机程序;
处理器402,用于执行存储器406上所存放的计算机程序时,实现如下步骤:
S1,获取在目标客户端执行的目标操作,其中,上述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能;
S2,响应上述目标操作,获取上述目标角色技能的目标碰撞盒的时移信息,其中,每个上述目标角色技能关联至少一个上述目标碰撞盒,上述时移信息用于确定上述碰撞盒的时间与位置的对应关系;
S3,基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,上述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或上述碰撞对象的对象技能关联的碰撞盒。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器406中可以但不限于包括上述碰撞检测装置中的获取单元302、响应单元304以及确定单元306。此外,还可以包括但不限于上述碰撞检测装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
此外,上述电子设备还包括:显示器,用于显示目标客户端的显示界面。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图4所示的结构仅为示意,实施上述碰撞检测方法的设备可以包括终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图4其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图4中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图4所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行本申请实施例中上述任一项碰撞检测方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取在目标客户端执行的目标操作,其中,上述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能;
S2,响应上述目标操作,获取上述目标角色技能的目标碰撞盒的时移信息,其中,每个上述目标角色技能关联至少一个上述目标碰撞盒,上述时移信息用于确定上述碰撞盒的时间与位置的对应关系;
S3,基于上述时移信息确定上述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,上述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或上述碰撞对象的对象技能关联的碰撞盒。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (11)

1.一种碰撞检测方法,其特征在于,包括:
获取在目标客户端执行的目标操作,其中,所述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能;
响应所述目标操作,获取所述目标角色技能的目标碰撞盒的时移信息,其中,每个所述目标角色技能关联至少一个所述目标碰撞盒,所述时移信息用于确定所述碰撞盒的时间与位置的对应关系;以及
基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,所述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或所述碰撞对象的对象技能关联的碰撞盒。
2.根据权利要求1所述的方法,其特征在于,所述时移信息包括第一预设轨迹文件和第一实时释放信息,所述响应所述目标操作,获取所述目标角色技能的目标碰撞盒的时移信息,包括:
确定与所述目标碰撞盒关联的所述第一预设轨迹文件;以及
基于所述目标角色技能释放时的状态,获取所述第一实时释放信息,所述实时释放信息包括所述目标角色技能释放时的所述目标虚拟角色的第一实时位置、第一实时方向和第一释放时间。
3.根据权利要求2所述的方法,其特征在于,所述基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,包括:
在所述碰撞对象碰撞盒关联于静态碰撞对象的情况下,获取所述碰撞对象碰撞盒的固定位置信息;以及
基于所述第一预设轨迹文件、所述第一实时释放信息以及所述固定位置信息,确定所述目标碰撞盒与所述碰撞对象碰撞盒的碰撞状态。
4.根据权利要求2所述的方法,其特征在于,所述基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,包括:
在所述碰撞对象碰撞盒关联于动态碰撞对象的情况下,获取所述碰撞对象碰撞盒的第二预设轨迹文件和第二实时释放信息;以及
基于所述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息,确定所述目标碰撞盒与所述碰撞对象碰撞盒的碰撞状态。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息,确定所述目标碰撞盒与所述碰撞对象碰撞盒的碰撞状态,包括:
采用差值法基于所述第一预设轨迹文件、第一实时释放信息、第二预设轨迹文件和第二实时释放信息分别计算所述目标碰撞盒的位置和所述碰撞对象碰撞盒的位置,根据所述目标碰撞盒和所述碰撞对象碰撞盒的位置关系,确定所述目标碰撞盒与所述碰撞对象碰撞盒的碰撞状态。
6.根据权利要求2至5中的任一项所述的方法,其特征在于,所述预设轨迹文件包括所述碰撞盒的出现时间、消失时间、轨迹实时位置、缩放信息和旋转信息中的至少一者。
7.根据权利要求2至5中的任一项所述的方法,其特征在于,所述方法还包括:
修改所述预设轨迹文件;和/或,修改所述目标碰撞盒与所述预设轨迹文件的关联关系。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述碰撞盒的碰撞特性,所述碰撞特性包括可碰撞对象类型和/或可碰撞次数;
所述基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,包括:
基于所述时移信息和所述碰撞特性确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态。
9.一种碰撞检测装置,其特征在于,包括:
获取单元,用于获取在目标客户端执行的目标操作,其中,所述目标操作用于触发目标游戏场景中的目标虚拟角色释放目标角色技能;
响应单元,用于响应所述目标操作,获取所述目标角色技能的目标碰撞盒的时移信息,其中,每个所述目标角色技能关联至少一个所述目标碰撞盒,所述时移信息用于确定所述碰撞盒的时间与位置的对应关系;以及
确定单元,用于基于所述时移信息确定所述目标碰撞盒与碰撞对象碰撞盒的碰撞状态,其中,所述碰撞对象碰撞盒包括碰撞对象关联的碰撞盒和/或所述碰撞对象的对象技能关联的碰撞盒。
10.一种电子设备,包括处理器和存储器,其特征在于,
所述存储器,用于存储计算机程序;以及
所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行权利要求1至8中任一项所述的方法步骤。
11.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至8中任一项中所述的方法步骤。
CN202111585025.9A 2021-12-22 2021-12-22 碰撞检测方法、装置、电子设备和存储介质 Pending CN114225413A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111585025.9A CN114225413A (zh) 2021-12-22 2021-12-22 碰撞检测方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111585025.9A CN114225413A (zh) 2021-12-22 2021-12-22 碰撞检测方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN114225413A true CN114225413A (zh) 2022-03-25

Family

ID=80761627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111585025.9A Pending CN114225413A (zh) 2021-12-22 2021-12-22 碰撞检测方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN114225413A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116206026A (zh) * 2023-05-06 2023-06-02 腾讯科技(深圳)有限公司 轨迹信息处理方法、装置、计算机设备和可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116206026A (zh) * 2023-05-06 2023-06-02 腾讯科技(深圳)有限公司 轨迹信息处理方法、装置、计算机设备和可读存储介质
CN116206026B (zh) * 2023-05-06 2023-07-18 腾讯科技(深圳)有限公司 轨迹信息处理方法、装置、计算机设备和可读存储介质

Similar Documents

Publication Publication Date Title
CN107589829B (zh) 一种提供互动游戏体验的***和方法
US7126607B2 (en) Electronic game and method for effecting game features
CN110548288B (zh) 虚拟对象的受击提示方法、装置、终端及存储介质
CN110538455B (zh) 虚拟对象的移动控制方法、装置、终端及存储介质
CN107913521B (zh) 虚拟环境画面的显示方法和装置
CN112807681B (zh) 游戏控制方法、装置、电子设备及存储介质
CN107998654B (zh) 加速度的调整方法和装置、存储介质、电子装置
CN111589145B (zh) 虚拟物品的显示方法、装置、终端和存储介质
CN111921195B (zh) 三维场景的生成方法和装置、存储介质和电子装置
CN111467804A (zh) 一种游戏中的受击处理方法和装置
CN112156459A (zh) 对战游戏的控制方法和装置、存储介质和电子装置
TWI803147B (zh) 虛擬對象控制方法、裝置、設備、儲存媒體及程式産品
CN114377396A (zh) 一种游戏数据的处理方法、装置、电子设备及存储介质
JP2023543519A (ja) 仮想アイテムの投入方法、装置、端末、及びプログラム
CN116672712A (zh) 道具的控制方法和装置、电子设备和存储介质
JP2024511796A (ja) 仮想銃の射撃表示方法及び装置、コンピュータ機器並びにコンピュータプログラム
CN114225413A (zh) 碰撞检测方法、装置、电子设备和存储介质
CN114225393A (zh) 游戏资源的获取方法、装置、介质、设备和程序产品
US7148894B1 (en) Image generation system and program
CN111135566A (zh) 虚拟道具的控制方法和装置、存储介质及电子装置
CN111228806B (zh) 虚拟操作对象的控制方法和装置、存储介质及电子装置
CN116920374A (zh) 虚拟对象显示方法和装置、存储介质及电子设备
JP2024508682A (ja) 仮想オブジェクトの制御方法、仮想オブジェクトの制御装置、コンピュータ機器、及びコンピュータプログラム
CN112057859B (zh) 虚拟对象的控制方法、装置、终端及存储介质
CN114344917A (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