CN114011069A - 虚拟对象的控制方法、存储介质和电子设备 - Google Patents

虚拟对象的控制方法、存储介质和电子设备 Download PDF

Info

Publication number
CN114011069A
CN114011069A CN202111307446.5A CN202111307446A CN114011069A CN 114011069 A CN114011069 A CN 114011069A CN 202111307446 A CN202111307446 A CN 202111307446A CN 114011069 A CN114011069 A CN 114011069A
Authority
CN
China
Prior art keywords
virtual object
target
angle
information
condition
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
CN202111307446.5A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111307446.5A priority Critical patent/CN114011069A/zh
Publication of CN114011069A publication Critical patent/CN114011069A/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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8076Shooting

Landscapes

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

Abstract

本发明公开了一种虚拟对象的控制方法、存储介质和电子设备。其中,该方法包括:响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息;在目标位置信息满足第一触发条件的情况下,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果;在目标检测结果满足第二触发条件的情况下,播放目标动画,其中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面。本发明解决了虚拟对象的控制效率较低的技术问题。

Description

虚拟对象的控制方法、存储介质和电子设备
技术领域
本发明涉及计算机领域,具体而言,涉及一种虚拟对象的控制方法、存储介质和电子设备。
背景技术
在虚拟游戏中,玩家往往可以控制虚拟对象执行多种多样的攻击操作,而强度越高的攻击操作,且控制方式往往更苛刻。例如设置更复杂的判断机制以判断是否达到该攻击操作的执行条件,但复杂的判断机制也意味着更多的运算量,而更多的运算量也自然而言地会降低虚拟对象的控制效率。因此,存在虚拟对象的控制效率较低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟对象的控制方法、存储介质和电子设备,以至少解决虚拟对象的控制效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟对象的控制方法,包括:响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,上述目标攻击指令用于指示上述第一虚拟对象执行目标攻击操作,上述第二虚拟对象与上述第一虚拟对象处于不同阵营,上述目标位置信息用于表示上述第二虚拟对象相对于上述第一虚拟对象的位置信息;在上述目标位置信息满足第一触发条件的情况下,对上述第一虚拟对象与上述第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,上述目标检测结果为对上述第一虚拟对象与上述第二虚拟对象之间存在的障碍物的检测结果;在上述目标检测结果满足第二触发条件的情况下,播放目标动画,其中,上述目标动画包括上述第一虚拟对象对上述第二虚拟对象执行上述目标攻击操作的画面、以及上述第二虚拟对象被上述目标攻击操作击败的画面。
根据本发明实施例的另一方面,还提供了一种虚拟对象的控制装置,包括:获取单元,用于响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,上述目标攻击指令用于指示上述第一虚拟对象执行目标攻击操作,上述第二虚拟对象与上述第一虚拟对象处于不同阵营,上述目标位置信息用于表示上述第二虚拟对象相对于上述第一虚拟对象的位置信息;检测单元,用于在上述目标位置信息满足第一触发条件的情况下,对上述第一虚拟对象与上述第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,上述目标检测结果为对上述第一虚拟对象与上述第二虚拟对象之间存在的障碍物的检测结果;播放单元,用于在上述目标检测结果满足第二触发条件的情况下,播放目标动画,其中,上述目标动画包括上述第一虚拟对象对上述第二虚拟对象执行上述目标攻击操作的画面、以及上述第二虚拟对象被上述目标攻击操作击败的画面。
作为一种可选的方案,上述获取单元,包括:第一获取模块,用于获取相对距离信息,其中,上述相对距离信息用于表示上述第二虚拟对象与上述第一虚拟对象之间的相对距离;第二获取模块,用于在上述相对距离信息满足第一触发子条件的情况下,获取目标高度信息,其中,上述目标高度信息用于表示上述第二虚拟对象与上述第一虚拟对象之间的高度差;第三获取模块,用于在上述目标高度信息满足第二触发子条件的情况下,获取目标角度信息,其中,上述目标角度信息为上述第二虚拟对象和/或上述第一虚拟对象的视野角度所关联的信息,上述第一触发条件包括上述目标角度信息满足第三触发子条件。
作为一种可选的方案,上述第一获取模块,包括:第一确定子模块,用于确定上述第一虚拟对象关联的多个第一位置点;第二确定子模块,用于确定上述第二虚拟对象关联的多个第二位置点;第一获取子模块,用于获取上述多个第一位置点中的每个第一位置点,与上述多个第二位置点中的每个第二位置点之间的M个相对距离,其中,M为自然数;第二获取子模块,用于获取上述M个相对距离中的最小相对距离,其中,上述相对距离信息包括上述最小相对距离,第一触发子条件包括上述最小相对距离小于或等于第一阈值。
作为一种可选的方案,上述第二获取模块,包括:第三确定子模块,用于确定上述第一虚拟对象关联的多个第三位置点;第四确定子模块,用于确定上述第二虚拟对象关联的多个第四位置点;第三获取子模块,用于获取上述多个第三位置点中的每个第三位置点,与上述多个第四位置点中的每个第四位置点之间的N个相对高度差,其中,N为自然数;第四获取子模块,用于获取上述N个相对高度差中的最大相对高度差,其中,上述目标高度信息包括上述最大相对高度差,上述第二触发子条件包括上述最大相对高度差小于或等于第二阈值。
作为一种可选的方案,上述第三获取模块,包括:第五确定子模块,用于确定上述第一虚拟对象的视野角度;第五获取子模块,用于获取第一角度信息,其中,上述第一角度信息用于表示上述第二虚拟对象是否位于上述第一虚拟对象的视野角度所对应的第一区域范围,上述第三触发子条件包括上述第一角度信息指示上述第二虚拟对象位于上述第一区域范围内。
作为一种可选的方案,上述第五获取子模块,包括:第一获取子单元,用于获取上述第一虚拟对象的当前朝向向量;第二获取子单元,用于获取上述第二虚拟对象与上述第一虚拟对象之间的位置差向量;第一计算子单元,用于计算上述第一虚拟对象的当前朝向向量与上述位置差向量之间的夹角,得到第一目标角度;第三获取子单元,用于获取上述第二虚拟对象的视野角度与上述第一目标角度之间的第一角度比较结果,其中,上述第一角度信息包括上述第一角度比较结果,上述第三触发子条件包括上述第一角度比较结果指示上述第一目标角度小于或等于上述第一虚拟对象的视野角度。
作为一种可选的方案,上述第三获取模块,包括:第六确定子模块,用于确定上述第二虚拟对象的视野角度;第六获取子模块,用于获取第二角度信息,其中,上述第二角度信息用于确定上述第一虚拟对象是否位于上述第二虚拟对象的视野角度所对应的第二区域范围,上述第三触发子条件包括上述第二角度信息指示上述第一虚拟对象位于上述第二区域范围外。
作为一种可选的方案,上述第六获取子模块,包括:第四获取子单元,用于获取上述第二虚拟对象的当前朝向向量;第五获取子单元,用于获取上述第二虚拟对象与上述第一虚拟对象之间的位置差向量;第二计算子单元,用于计算上述第二虚拟对象的当前朝向向量与上述位置差向量之间的夹角,得到第二目标角度;第六获取子单元,用于获取上述第二虚拟对象的视野角度与上述第二目标角度之间的第二角度比较结果,其中,上述第二角度信息包括上述第二角度比较结果,上述第三触发子条件包括上述第二角度比较结果指示上述第二目标角度大于上述第二虚拟对象的视野角度。
作为一种可选的方案,上述检测单元,包括:第一确定模块,用于在上述第一虚拟对象与上述第二虚拟对象位于目标区域上的情况下,确定上述第一虚拟对象与上述目标区域的第一接触点、以及上述第二虚拟对象与上述目标区域的第二接触点;第二确定模块,用于从上述第一接触点发射一条或多条射线至上述第二接触点,并检测与上述一条或多条射线发生碰撞的障碍物,得到上述目标检测结果。
作为一种可选的方案,上述装置还包括:第一触发单元,用于在获取到对第一虚拟按钮的选中操作、且上述目标位置信息满足上述第一触发条件、上述目标检测结果满足上述第二触发条件的情况下,触发上述目标攻击指令;或,第二触发单元,用于在获取到对上述第一虚拟按钮的选中操作、且上述目标位置信息不满足上述第一触发条件的情况下,触发目标操作指令,其中,上述目标操作指令用于指示上述第一虚拟对象执行目标操作;或,第三触发单元,用于在获取到对上述第一虚拟按钮的选中操作、且上述目标位置信息满足上述第一触发条件、但上述目标检测结果不满足上述第二触发条件的情况下,触发上述目标操作指令。
作为一种可选的方案,上述装置还包括:第四触发单元,用于在获取到对第二虚拟按钮的选中操作、且上述目标位置信息满足上述第一触发条件、上述目标检测结果满足上述第二触发条件的情况下,触发上述目标攻击指令;或,第五触发单元,用于在获取到对上述第二虚拟按钮的选中操作、且上述目标位置信息不满足上述第一触发条件的情况下,不触发任一指令;或,第六触发单元,用于在获取到对上述第二虚拟按钮的选中操作、且上述目标位置信息满足上述第一触发条件、但上述目标检测结果不满足上述第二触发条件的情况下,不触发上述任一指令。
作为一种可选的方案,上述目标位置信息,包括以下至少之一:相对距离信息,其中,上述相对距离信息用于表示上述第二虚拟对象与上述第一虚拟对象之间的相对距离;目标高度信息,其中,上述目标高度信息用于表示上述第二虚拟对象与上述第一虚拟对象之间的高度差;目标角度信息,其中,上述目标角度信息为上述第二虚拟对象和/或上述第一虚拟对象的视野角度所关联的信息。
根据本申请实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上虚拟对象的控制方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的虚拟对象的控制方法。
在本发明实施例中,响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,上述目标攻击指令用于指示上述第一虚拟对象执行目标攻击操作,上述第二虚拟对象与上述第一虚拟对象处于不同阵营,上述目标位置信息用于表示上述第二虚拟对象相对于上述第一虚拟对象的位置信息;在上述目标位置信息满足第一触发条件的情况下,对上述第一虚拟对象与上述第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,上述目标检测结果为对上述第一虚拟对象与上述第二虚拟对象之间存在的障碍物的检测结果;在上述目标检测结果满足第二触发条件的情况下,播放目标动画,其中,上述目标动画包括上述第一虚拟对象对上述第二虚拟对象执行上述目标攻击操作的画面、以及上述第二虚拟对象被上述目标攻击操作击败的画面,在响应于目标攻击指令后开始对是否满足触发条件进行判断的过程中,先对运算量较小的目标位置信息进行判断,再对运算量较大的障碍物的检测结果进行判断,如此一来如果对目标位置信息的判断结果是不满足的情况下,就无需再付出较大的运算量以判断障碍物的检测结果是否满足了,节省了大量的运算资源,进而达到了提高虚拟对象的控制过程中对运算资源的利用率的目的,从而实现了提高虚拟对象的控制效率的技术效果,进而解决了虚拟对象的控制效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的虚拟对象的控制方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的虚拟对象的控制方法的流程的示意图;
图3是根据本发明实施例的一种可选的虚拟对象的控制方法的示意图;
图4是根据本发明实施例的另一种可选的虚拟对象的控制方法的示意图;
图5是根据本发明实施例的另一种可选的虚拟对象的控制方法的示意图;
图6是根据本发明实施例的另一种可选的虚拟对象的控制方法的示意图;
图7是根据本发明实施例的另一种可选的虚拟对象的控制方法的示意图;
图8是根据本发明实施例的另一种可选的虚拟对象的控制方法的示意图;
图9是根据本发明实施例的另一种可选的虚拟对象的控制方法的示意图;
图10是根据本发明实施例的另一种可选的虚拟对象的控制方法的示意图;
图11是根据本发明实施例的另一种可选的虚拟对象的控制方法的示意图;
图12是根据本发明实施例的另一种可选的虚拟对象的控制方法的示意图;
图13是根据本发明实施例的一种可选的虚拟对象的控制装置的示意图;
图14是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,为方便理解本发明实施例,下面对本发明中所涉及的部分术语或名词进行解释说明:
移动端:一般指手机端,包含但不仅限于此的所有手持便携式游戏设备。
射击游戏:包含第一人称射击游戏、第三人称射击游戏等包含但不仅限于此的所有使用热兵器类进行远程攻击的游戏。
处决交互:一种适用于两名角色间交互的方式,具有一名发起者和一名受害者,发起者发起后,进入一段强制的动画播放最终击杀对方。
根据本发明实施例的一个方面,提供了一种虚拟对象的控制方法,可选地,作为一种可选的实施方式,上述虚拟对象的控制方法可以但不限于应用于如图1所示的环境中。其中,可以但不限于包括用户设备102、网络110及服务器112,其中,该用户设备102上可以但不限于包括显示器108、处理器106及存储器104。
具体过程可如下步骤:
步骤S102,用户设备102获取对第一虚拟对象(A)触发的目标攻击指令,其中,目标攻击指令用于指示第一虚拟对象(A)对第二虚拟对象(B)执行目标攻击操作;
步骤S104-S106,用户设备102通过网络110将目标攻击指令发送给服务器112,其中,目标攻击指令中还携带有第二虚拟对象(B)关联的目标位置信息;
步骤S108,服务器112通过数据库114查找目标攻击操作的第一触发条件以及第二触发条件,并在目标位置信息满足第一触发条件的情况下,再通过网络110将射线检测指令发送给用户设备102,并接收用户设备102响应该射线检测指令而反馈的目标检测结果;进一步在上述目标检测结果满足第二触发条件的情况下,通过处理引擎116生成目标攻击操作对应的目标动画;
步骤S110-S112,服务器112通过网络110将目标动画发送给用户设备102,用户设备102中的处理器106将目标动画显示在显示器108中,并将目标动画存储在存储器104中。
除图1示出的示例之外,上述步骤可以由用户设备102独立完成,即由用户设备102执行目标攻击操作对应的目标动画的生成等步骤,从而减轻服务器的处理压力。该用户设备102包括但不限于手持设备(如手机)、笔记本电脑、台式电脑、车载设备等,本发明并不限制用户设备102的具体实现方式。
可选地,作为一种可选的实施方式,如图2所示,虚拟对象的控制方法包括:
S202,响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,目标攻击指令用于指示第一虚拟对象执行目标攻击操作,第二虚拟对象与第一虚拟对象处于不同阵营,目标位置信息用于表示第二虚拟对象相对于第一虚拟对象的位置信息;
S204,在目标位置信息满足第一触发条件的情况下,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,目标检测结果为对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果;
S206,在目标检测结果满足第二触发条件的情况下,播放目标动画,其中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面。
可选地,在本实施例中,上述虚拟对象的控制方法可以但不限于应用在目标游戏场景中的处决交互过程中,具体的例如用户控制第一虚拟对象移动至第二虚拟对象附近的位置处,并触发目标攻击指令,进而在判断相关信息满足触发条件的情况下,播放第二虚拟对象被处决的游戏画面,其中,相关信息至少包括第二虚拟对象关联的目标位置信息、以及第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果,且判断相关信息满足触发条件的过程中,判断顺序为先对第二虚拟对象关联的目标位置信息进行判断,再对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果进行判断,这样做的好处在于第二虚拟对象关联的目标位置信息可直接获取,其所付出的运算资源较小,而第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果需对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,其所付出的运算资源较多,进而如何对第二虚拟对象关联的目标位置信息进行判断后,结论是不满足触发条件,则就无需再对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果进行判断,节省了所需付出的多数运算资源,提高了运算资源的利用率,实现了提高虚拟对象的控制效率的效果。
可选地,在本实施例中,上述目标游戏场景包含第一人称射击游戏、第三人称射击游戏等包含但不仅限于此的所有使用热兵器类进行远程攻击的游戏。其中,上述目标射击应用可以为多人在线战术竞技游戏(Multiplayer Online Battle Arena简称为MOBA)或者为单人游戏(Single-Player Game简称为SPG)。需要说明的是,上述游戏应用的类型可以包括但不限于以下至少之一:二维(Two Dimension,简称2D)游戏应用、三维(ThreeDimension,简称3D)游戏应用、虚拟现实(Virtual Reality,简称VR)游戏应用、增强现实(Augmented Reality,简称AR)游戏应用、混合现实(Mixed Reality,简称MR)游戏应用。以上只是一种示例,本实施例对此不作任何限定。
可选地,在本实施例中,第二虚拟对象关联的目标位置信息可以但不限于理解为与第二虚拟对象有关的位置信息,如第二虚拟对象本身的位置信息,例如第二虚拟对象的高度、第二虚拟对象的位置坐标、第二虚拟对象当前朝向的视野角度等;再如第二虚拟对象与其他虚拟对象之间的相对位置信息,例如第二虚拟对象与第一虚拟对象之间的相对距离、第二虚拟对象与第一虚拟对象之间的相对高度等,或更复杂的信息模式,如第二虚拟对象在第一虚拟对象的视野角度的范围内/外,第一虚拟对象在第二虚拟对象的视野角度的范围内/外。
可选地,在本实施例中,目标攻击操作可以但不限于理解为指定对第二虚拟对象执行的攻击操作,也可以理解为对目标范围内的全部(敌方)虚拟对象执行的攻击操作,或可理解为对目标范围内与第一虚拟对象距离最近的(敌方)虚拟对象执行的攻击操作,或可理解为对目标范围内第一虚拟对象正对着的(敌方)虚拟对象执行的攻击操作,其中,目标范围可以但不限于为目标攻击操作的操作范围。
可选地,在本实施例中,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测可以但不限于利用Unity的射线检测***实现,其中可以但不限于还涉及到空间内线与3D空间的相交性检测,属于运算量最大的计算,例如根据第一虚拟对象的BoundingBox(8个点)和第二虚拟对象的BoundingBox(8个点)之间互相做射线检测是否有障碍物。
可选地,在本实施例中,第二触发条件可以但不限于包括目标检测结果指示第一虚拟对象与第二虚拟对象之间不存在障碍物,或目标检测结果指示第一虚拟对象与第二虚拟对象之间不存在目标障碍物,其中,目标障碍物为阻碍属性值达到障碍阈值的障碍物,阻碍属性值可以但不限于包括以下至少之一:障碍物尺寸、障碍物占地面积、障碍物材质等。
可选地,在本实施例中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面,或可以但不限于将目标动画理解为强制播放的第一段处决交互动画。
可选地,在本实施例中,第一触发条件和/或第二触发条件可以但不限于由第二虚拟对象或第一虚拟对象本身决定,例如相对于第一虚拟对象来说,可以设置第一属性,该第一属性用于降低第一触发条件和/或第二触发条件的判断难度;而相对于第而虚拟对象来说,可以设置第而属性,该第一属性用于提高第一触发条件和/或第二触发条件的判断难度。
需要说明的是,响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,目标攻击指令用于指示第一虚拟对象执行目标攻击操作,第二虚拟对象与第一虚拟对象处于不同阵营,目标位置信息用于表示第二虚拟对象相对于第一虚拟对象的位置信息;在目标位置信息满足第一触发条件的情况下,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,目标检测结果为对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果;在目标检测结果满足第二触发条件的情况下,播放目标动画,其中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面。
进一步举例说明,可选的例如图3所示,响应于对第一虚拟对象302触发的目标攻击指令,获取第二虚拟对象304关联的目标位置信息,其中,目标攻击指令用于指示第一虚拟对象302执行目标攻击操作,第二虚拟对象304与第一虚拟对象302处于不同阵营,目标位置信息用于表示第二虚拟对象304相对于第一虚拟对象302的位置信息;在目标位置信息满足第一触发条件的情况下,对第一虚拟对象302与第二虚拟对象304之间的区域进行射线检测,得到目标检测结果,如图3中的(a)所示,其中,目标检测结果为对第一虚拟对象302与第二虚拟对象304之间存在的障碍物的检测结果;进一步在目标检测结果满足第二触发条件的情况下,如图3中的(b)所示,播放目标动画306,其中,目标动画306包括第一虚拟对象302对第二虚拟对象304执行目标攻击操作的画面、以及第二虚拟对象304被目标攻击操作击败的画面。
可选的,在本实施例中,按照运算的复杂度进行排序,这样能在一定程度上降低***的运算量。而对于位置信息的判断是根据虚拟对象的位置进行的简单计算,属于简单判断,所需的运算资源量较小;而障碍物的判断往往需要依赖于Unity的射线检测***,涉及到空间内线与3D空间的相交性检测,属于运算量最大的计算,所需的运算资源量较大,若放在检测***的最后一步,则可实现运算资源的高利用率,具体步骤可图4所示:
步骤S402,获取目标位置信息;
步骤S404,判断目标位置信息是否满足第一触发条件,若是,则执行步骤S406,若否,则执行步骤S412;
步骤S406,获取目标检测结果;
步骤S408,判断目标检测结果是否满足第二触发条件,若是,则执行步骤S410,若否,则执行步骤S412;
步骤S410,播放目标动画;
步骤S412,触发条件判断失败,不响应。
通过本申请提供的实施例,响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,目标攻击指令用于指示第一虚拟对象执行目标攻击操作,第二虚拟对象与第一虚拟对象处于不同阵营,目标位置信息用于表示第二虚拟对象相对于第一虚拟对象的位置信息;在目标位置信息满足第一触发条件的情况下,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,目标检测结果为对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果;在目标检测结果满足第二触发条件的情况下,播放目标动画,其中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面,在响应于目标攻击指令后开始对是否满足触发条件进行判断的过程中,先对运算量较小的目标位置信息进行判断,再对运算量较大的障碍物的检测结果进行判断,如此一来如果对目标位置信息的判断结果是不满足的情况下,就无需再付出较大的运算量以判断障碍物的检测结果是否满足了,节省了大量的运算资源,进而达到了提高虚拟对象的控制过程中对运算资源的利用率的目的,从而实现了提高虚拟对象的控制效率的技术效果。
作为一种可选的方案,获取第二虚拟对象关联的目标位置信息,包括:
S1,获取相对距离信息,其中,相对距离信息用于表示第二虚拟对象与第一虚拟对象之间的相对距离;
S2,在相对距离信息满足第一触发子条件的情况下,获取目标高度信息,其中,目标高度信息用于表示第二虚拟对象与第一虚拟对象之间的高度差;
S3,在目标高度信息满足第二触发子条件的情况下,获取目标角度信息,其中,目标角度信息为第二虚拟对象和/或第一虚拟对象的视野角度所关联的信息,第一触发条件包括目标角度信息满足第三触发子条件。
可选的,在本实施例中,按照运算的复杂度进行排序,这样能在一定程度上降低***的运算量。而对于位置信息的判断是根据虚拟对象的位置进行的简单计算,属于简单判断,但细分的话,相对距离信息是根据虚拟对象之间的相对位置进行简单计算,而目标高度信息是根据虚拟对象之间的相对高度进行简单计算,更复杂的是目标角度信息,需借助虚拟对象的视野角度、以及虚拟对象所处于的位置进行综合判断,复杂度更高。基于此,以先执行较为简单的判断、再执行较为复杂的判断为原则,对相对距离信息、相对高度信息以及目标角度信息进行优先级的排序。
进一步举例说明,可选的例如图5所示,具体步骤如下:
步骤S502,获取目标距离信息;
步骤S504,判断目标距离信息是否满足第一触发子条件,若是,则执行步骤S506,若否,则执行步骤S520;
步骤S506,获取目标高度信息;
步骤S508,判断目标高度信息是否满足第二触发子条件,若是,则执行步骤S510,若否,则执行步骤S520;
步骤S510,获取目标角度信息;
步骤S512,判断目标角度信息是否满足第三触发子条件,若是,则执行步骤S514,若否,则执行步骤S520;
步骤S514,获取目标检测结果;
步骤S516,判断目标检测结果是否满足第二触发条件,若是,则执行步骤S518,若否,则执行步骤S520;
步骤S518,播放目标动画;
步骤S520,触发条件判断失败,不响应。
通过本申请提供的实施例,获取相对距离信息,其中,相对距离信息用于表示第二虚拟对象与第一虚拟对象之间的相对距离;在相对距离信息满足第一触发子条件的情况下,获取目标高度信息,其中,目标高度信息用于表示第二虚拟对象与第一虚拟对象之间的高度差;在目标高度信息满足第二触发子条件的情况下,获取目标角度信息,其中,目标角度信息为第二虚拟对象和/或第一虚拟对象的视野角度所关联的信息,第一触发条件包括目标角度信息满足第三触发子条件,达到了优化虚拟对象的控制过程中的判断步骤的目的,实现了提高虚拟对象的控制效率的效果。
作为一种可选的方案,获取相对距离信息,包括:
S1,确定第一虚拟对象关联的多个第一位置点;
S2,确定第二虚拟对象关联的多个第二位置点;
S3,获取多个第一位置点中的每个第一位置点,与多个第二位置点中的每个第二位置点之间的M个相对距离,其中,M为自然数;
S4,获取M个相对距离中的最小相对距离,其中,相对距离信息包括最小相对距离,第一触发子条件包括最小相对距离小于或等于第一阈值。
可选地,在本实施例中,第一位置点可以为第一虚拟对象身上的某一节点,也可以是第一虚拟对象附近的某一节点。同理,第二位置点可以为第二虚拟对象身上的某一节点,也可以是第二虚拟对象附近的某一节点。
需要说明的是,确定第一虚拟对象关联的多个第一位置点;确定第二虚拟对象关联的多个第二位置点;获取多个第一位置点中的每个第一位置点,与多个第二位置点中的每个第二位置点之间的M个相对距离,其中,M为自然数;获取M个相对距离中的最小相对距离,其中,相对距离信息包括最小相对距离,第一触发子条件包括最小相对距离小于或等于第一阈值。
进一步举例说明,可选的例如图6所示,确定第一虚拟对象602关联的2个第一位置点,如第一位置点6022、以及第一位置点6024;确定第二虚拟对象604关联的2个第二位置点,如第二位置点6042、以及第二位置点6044;获取第一位置点6022、以及第一位置点6024中的每个第一位置点,与第二位置点6042、以及第二位置点6044之间的4个相对距离;获取4个相对距离中的最小相对距离,进而在该最小相对距离小于或等于第一阈值的情况下,确定相对距离信息满足第一触发子条件。
通过本申请提供的实施例,确定第一虚拟对象关联的多个第一位置点;确定第二虚拟对象关联的多个第二位置点;获取多个第一位置点中的每个第一位置点,与多个第二位置点中的每个第二位置点之间的M个相对距离,其中,M为自然数;获取M个相对距离中的最小相对距离,其中,相对距离信息包括最小相对距离,第一触发子条件包括最小相对距离小于或等于第一阈值,实现了提高相对距离信息的信息准确性的效果。
作为一种可选的方案,获取目标高度信息,包括:
S1,确定第一虚拟对象关联的多个第三位置点;
S2,确定第二虚拟对象关联的多个第四位置点;
S3,获取多个第三位置点中的每个第三位置点,与多个第四位置点中的每个第四位置点之间的N个相对高度差,其中,N为自然数;
S4,获取N个相对高度差中的最大相对高度差,其中,目标高度信息包括最大相对高度差,第二触发子条件包括最大相对高度差小于或等于第二阈值。
可选地,在本实施例中,第三位置点可以为第一虚拟对象身上的某一节点,也可以是第一虚拟对象附近的某一节点。同理,第四位置点可以为第二虚拟对象身上的某一节点,也可以是第二虚拟对象附近的某一节点。
需要说明的是,确定第一虚拟对象关联的多个第三位置点;确定第二虚拟对象关联的多个第四位置点;获取多个第三位置点中的每个第三位置点,与多个第四位置点中的每个第四位置点之间的N个相对高度差,其中,N为自然数;获取N个相对高度差中的最大相对高度差,其中,目标高度信息包括最大相对高度差,第二触发子条件包括最大相对高度差小于或等于第二阈值。
进一步举例说明,可选的基于图6所示场景,继续例如图7示,确定第一虚拟对象602关联的2个第三位置点,如第三位置点7022、第三位置点7024;确定第二虚拟对象604关联的2个第四位置点,如第四位置点7042、第四位置点7044;获取第三位置点7022、第三位置点7024中的每个第三位置点,与第四位置点7042、第四位置点7044中的每个第四位置点之间的4个相对高度差;获取4个相对高度差中的最大相对高度差,其中,目标高度信息包括最大相对高度差,进而在该最大相对高度差小于或等于第二阈值的情况下,确定最大相对高度差满足第二触发子条件。
通过本申请提供的实施例,确定第一虚拟对象关联的多个第三位置点;确定第二虚拟对象关联的多个第四位置点;获取多个第三位置点中的每个第三位置点,与多个第四位置点中的每个第四位置点之间的N个相对高度差,其中,N为自然数;获取N个相对高度差中的最大相对高度差,其中,目标高度信息包括最大相对高度差,第二触发子条件包括最大相对高度差小于或等于第二阈值,实现了提高相对距离信息的信息准确性的效果。
作为一种可选的方案,获取目标角度信息,包括:
S1,确定第一虚拟对象的视野角度;
S2,获取第一角度信息,其中,第一角度信息用于表示第二虚拟对象是否位于第一虚拟对象的视野角度所对应的第一区域范围,第三触发子条件包括第一角度信息指示第二虚拟对象位于第一区域范围内。
可选地,在本实施例中,第一虚拟对象的视野角度可以但不限于理解为第一虚拟对象所能观察到的范围角度。
需要说明的是,确定第一虚拟对象的视野角度;获取第一角度信息,其中,第一角度信息用于表示第二虚拟对象是否位于第一虚拟对象的视野角度所对应的第一区域范围,第三触发子条件包括第一角度信息指示第二虚拟对象位于第一区域范围内。
进一步举例说明,可选的基于图6所示场景,继续例如图8所示,确定第一虚拟对象602的视野角度;获取第一角度信息,其中,第一角度信息用于表示第二虚拟对象604是否位于第一虚拟对象602的视野角度所对应的第一区域范围802,第三触发子条件包括第一角度信息指示第二虚拟对象604位于第一区域范围802内。
通过本申请提供的实施例,确定第一虚拟对象的视野角度;获取第一角度信息,其中,第一角度信息用于表示第二虚拟对象是否位于第一虚拟对象的视野角度所对应的第一区域范围,第三触发子条件包括第一角度信息指示第二虚拟对象位于第一区域范围内,实现了提高目标角度信息的信息准确性的效果。
作为一种可选的方案,获取目标角度信息,包括:
S1,确定第二虚拟对象的视野角度;
S2,获取第二角度信息,其中,第二角度信息用于确定第一虚拟对象是否位于第二虚拟对象的视野角度所对应的第二区域范围,第三触发子条件包括第二角度信息指示第一虚拟对象位于第二区域范围外。
可选地,在本实施例中,第二虚拟对象的视野角度可以但不限于理解为第二虚拟对象所能观察到的范围角度。
需要说明的是,确定第二虚拟对象的视野角度;获取第二角度信息,其中,第二角度信息用于确定第一虚拟对象是否位于第二虚拟对象的视野角度所对应的第二区域范围,第三触发子条件包括第二角度信息指示第一虚拟对象位于第二区域范围外。
进一步举例说明,可选的基于图6所示,继续例如图9所示,确定第二虚拟对象604的视野角度;获取第二角度信息,其中,第二角度信息用于确定第一虚拟对象602是否位于第二虚拟对象604的视野角度所对应的第二区域范围902,第三触发子条件包括第二角度信息指示第一虚拟对象602位于第二区域范围902外。
通过本申请提供的实施例,确定第二虚拟对象的视野角度;获取第二角度信息,其中,第二角度信息用于确定第一虚拟对象是否位于第二虚拟对象的视野角度所对应的第二区域范围,第三触发子条件包括第二角度信息指示第一虚拟对象位于第二区域范围外,实现了提高目标角度信息的信息准确性的效果。
作为一种可选的方案,获取第一角度信息,包括:
S1,获取第一虚拟对象的当前朝向向量;
S2,获取第二虚拟对象与第一虚拟对象之间的位置差向量;
S3,计算第一虚拟对象的当前朝向向量与位置差向量之间的夹角,得到第一目标角度;
S4,获取第二虚拟对象的视野角度与第一目标角度之间的第一角度比较结果,其中,第一角度信息包括第一角度比较结果,第三触发子条件包括第一角度比较结果指示第一目标角度小于或等于第一虚拟对象的视野角度。
可选地,在本实施例中,第一虚拟对象的当前朝向向量可以但不限位于第二虚拟对象的视野角度的中间位置,进而在对第二虚拟对象的视野角度与第一目标角度进行角度比较时,选取1/2的第二虚拟对象的视野角度与第一目标角度进行角度比较,比较第一目标角度是否小于或大于或等于1/2的第二虚拟对象的视野角度。
需要说明的是,获取第一虚拟对象的当前朝向向量;获取第二虚拟对象与第一虚拟对象之间的位置差向量;计算第一虚拟对象的当前朝向向量与位置差向量之间的夹角,得到第一目标角度;获取第二虚拟对象的视野角度与第一目标角度之间的第一角度比较结果,其中,第一角度信息包括第一角度比较结果,第三触发子条件包括第一角度比较结果指示第一目标角度小于或等于第一虚拟对象的视野角度。
进一步举例说明,可选的例如图10所示,获取第一虚拟对象1002的当前朝向向量;获取第二虚拟对象1004与第一虚拟对象1002之间的位置差向量;计算第一虚拟对象1002的当前朝向向量与位置差向量之间的夹角,得到第一目标角度1006;获取第二虚拟对象1002的视野角度1008与第一目标角度1006之间的第一角度比较结果,其中,第一角度信息包括第一角度比较结果,第三触发子条件包括第一角度比较结果指示第一目标角度1006小于或等于第一虚拟对象的视野角度1008。
通过本申请提供的实施例,获取第一虚拟对象的当前朝向向量;获取第二虚拟对象与第一虚拟对象之间的位置差向量;计算第一虚拟对象的当前朝向向量与位置差向量之间的夹角,得到第一目标角度;获取第二虚拟对象的视野角度与第一目标角度之间的第一角度比较结果,其中,第一角度信息包括第一角度比较结果,第三触发子条件包括第一角度比较结果指示第一目标角度小于或等于第一虚拟对象的视野角度,实现了提高目标角度信息的计算准确性效果。
作为一种可选的方案,获取第二角度信息,包括:
S1,获取第二虚拟对象的当前朝向向量;
S2,获取第二虚拟对象与第一虚拟对象之间的位置差向量;
S3,计算第二虚拟对象的当前朝向向量与位置差向量之间的夹角,得到第二目标角度;
S4,获取第二虚拟对象的视野角度与第二目标角度之间的第二角度比较结果,其中,第二角度信息包括第二角度比较结果,第三触发子条件包括第二角度比较结果指示第二目标角度大于第二虚拟对象的视野角度。
可选地,在本实施例中,第一虚拟对象的当前朝向向量可以但不限位于第二虚拟对象的视野角度的中间位置,进而在对第二虚拟对象的视野角度与第一目标角度进行角度比较时,选取1/2的第二虚拟对象的视野角度与第一目标角度进行角度比较,比较第一目标角度是否小于或大于或等于1/2的第二虚拟对象的视野角度。
需要说明的是,获取第二虚拟对象的当前朝向向量;获取第二虚拟对象与第一虚拟对象之间的位置差向量;计算第二虚拟对象的当前朝向向量与位置差向量之间的夹角,得到第二目标角度;获取第二虚拟对象的视野角度与第二目标角度之间的第二角度比较结果,其中,第二角度信息包括第二角度比较结果,第三触发子条件包括第二角度比较结果指示第二目标角度大于第二虚拟对象的视野角度。
进一步举例说明,可选的例如图11所示,获取第二虚拟对象1104的当前朝向向量;获取第二虚拟对象1104与第一虚拟对象1102之间的位置差向量;计算第二虚拟对象1104的当前朝向向量与位置差向量之间的夹角,得到第二目标角度1108;获取第二虚拟对象1104的视野角度1106与第二目标角度1108之间的第二角度比较结果,其中,第二角度信息包括第二角度比较结果,第三触发子条件包括第二角度比较结果指示第二目标角度1108大于第二虚拟对象1104的视野角度1106。
通过本申请提供的实施例,获取第二虚拟对象的当前朝向向量;获取第二虚拟对象与第一虚拟对象之间的位置差向量;计算第二虚拟对象的当前朝向向量与位置差向量之间的夹角,得到第二目标角度;获取第二虚拟对象的视野角度与第二目标角度之间的第二角度比较结果,其中,第二角度信息包括第二角度比较结果,第三触发子条件包括第二角度比较结果指示第二目标角度大于第二虚拟对象的视野角度,实现了提高目标角度信息的计算准确性效果。
作为一种可选的方案,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果,包括:
S1,在第一虚拟对象与第二虚拟对象位于目标区域上的情况下,确定第一虚拟对象与目标区域的第一接触点、以及第二虚拟对象与目标区域的第二接触点;
S2,从第一接触点发射一条或多条射线至第二接触点,并检测与一条或多条射线发生碰撞的障碍物,得到目标检测结果。
可选地,在本实施例中,目标区域可以但不限于理解为第一虚拟对象与第二虚拟对象共同位于的一块或类区域,如地面、建筑物等。
可选地,在本实施例中,对于障碍物的检测,一般较为精确的检测算法是根据第一虚拟对象的BoundingBox(8个点)和第二虚拟对象的BoundingBox(8个点)之间互相做射线检测是否有障碍物。这样精确的算法检测是需要8*8条射线。但对于移动终端(如***)而言,显然是不能接受的性能开销。考虑到障碍物一般都是着地的,所以可以但不限于只要判断两个虚拟对象的着地点之间是否存在障碍物即可,也就是只要检测一条射线之间是否有碰撞即可。
需要说明的是,在第一虚拟对象与第二虚拟对象位于目标区域上的情况下,确定第一虚拟对象与目标区域的第一接触点、以及第二虚拟对象与目标区域的第二接触点;从第一接触点发射一条或多条射线至第二接触点,并检测与一条或多条射线发生碰撞的障碍物,得到目标检测结果。
进一步举例说明,可选的例如图12所示,在第一虚拟对象1202与第二虚拟对象1206位于目标区域1206上的情况下,确定第一虚拟对象1202与目标区域1206的第一接触点1208、以及第二虚拟对象1204与目标区域1206的第二接触点1210;从第一接触点1208发射一条或多条射线1212至第二接触点1210,并检测与一条或多条射线1212发生碰撞的障碍物,得到目标检测结果。
通过本申请提供的实施例,在第一虚拟对象与第二虚拟对象位于目标区域上的情况下,确定第一虚拟对象与目标区域的第一接触点、以及第二虚拟对象与目标区域的第二接触点;从第一接触点发射一条或多条射线至第二接触点,并检测与一条或多条射线发生碰撞的障碍物,得到目标检测结果,实现了提高障碍物的检测效率的效果。
作为一种可选的方案,方法还包括:
S1,在获取到对第一虚拟按钮的选中操作、且目标位置信息满足第一触发条件、目标检测结果满足第二触发条件的情况下,触发目标攻击指令;或,
S2,在获取到对第一虚拟按钮的选中操作、且目标位置信息不满足第一触发条件的情况下,触发目标操作指令,其中,目标操作指令用于指示第一虚拟对象执行目标操作;或,
S3,在获取到对第一虚拟按钮的选中操作、且目标位置信息满足第一触发条件、但目标检测结果不满足第二触发条件的情况下,触发目标操作指令。
可选地,在本实施例中,第一虚拟按钮可以但不限用于触发目标攻击指令或目标操作指令。换言之,在第一触发条件以及第二触发条件都满足的情况下,第一虚拟按钮可触发目标攻击指令,而在第一触发条件或第二触发条件不满足的情况下,则第一虚拟按钮触发目标操作指令。
通过本申请提供的实施例,在获取到对第一虚拟按钮的选中操作、且目标位置信息不满足第一触发条件的情况下,触发目标操作指令,其中,目标操作指令用于指示第一虚拟对象执行目标操作;或,S3,在获取到对第一虚拟按钮的选中操作、且目标位置信息满足第一触发条件、但目标检测结果不满足第二触发条件的情况下,触发目标操作指令,进而实现了提高虚拟按钮的利用率的效果。
作为一种可选的方案,方法还包括:
S1,在获取到对第二虚拟按钮的选中操作、且目标位置信息满足第一触发条件、目标检测结果满足第二触发条件的情况下,触发目标攻击指令;或,
S2,在获取到对第二虚拟按钮的选中操作、且目标位置信息不满足第一触发条件的情况下,不触发任一指令;或,
S3,在获取到对第二虚拟按钮的选中操作、且目标位置信息满足第一触发条件、但目标检测结果不满足第二触发条件的情况下,不触发任一指令。
可选地,在本实施例中,第而虚拟按钮可以但不限用于只触发目标攻击指令或目标操作指令。换言之,在第一触发条件以及第二触发条件都满足的情况下,第二虚拟按钮可触发目标攻击指令,而在第一触发条件或第二触发条件不满足的情况下,则第二虚拟按钮不触发任何指令。
作为一种可选的方案,目标位置信息,包括以下至少之一:
相对距离信息,其中,相对距离信息用于表示第二虚拟对象与第一虚拟对象之间的相对距离;
目标高度信息,其中,目标高度信息用于表示第二虚拟对象与第一虚拟对象之间的高度差;
目标角度信息,其中,目标角度信息为第二虚拟对象和/或第一虚拟对象的视野角度所关联的信息。
可选地,在本实施例中,考虑到目标位置信息的获取都是较为简单的,进而也可以选取多种信息作为目标位置信息,或组合多种信息作为目标位置信息。例如将相对距离信息作为目标位置信息,进而在对目标位置信息的判断过程中,只需判断相对距离信息是否满足触发条件即可。
作为一种可选的方案,为方便理解,以上述虚拟对象的控制方法应用在移动端的第一人称视角射击(First-person Shooting,简称FPS)游戏为例说明,FPS游戏中玩家以主观视角来进行射击游戏。玩家跟追求身临其境的游戏体验。这自然对游戏的自由度和真实性提出了更高的要求。为游戏添加更富有自由度的新体验,处决交互更适合该场景下的游戏风格,但由于处决是一个涉及两名角色的强制交互流程,且两名角色的状态和动作行为是自由变化的,所以在实际的过程中,处决的检测往往会面临巨大的挑战。本发明旨在提出一种创新的检测机制,帮助***更精确、更友好的完成处决检测,同时带来更小的性能消耗。
对于处决交互的触发判断,需满足以下条件至少之一:
条件1)需要满足处决的距离,其中,允许处决的距离是属于处决者的属性,不同角色会拥有不同的处决距离,处决距离可灵活设定。此外,处决距离计算方式为计算我方与敌方胶囊体的最小水平距离。
条件2)处决者与被处决者的高度差不能过大,两者需要高度差需要在一个区间内才能进行处决,高度差可灵活设定。此外,处决高度计算方式可以但不限于也是计算我方与敌方胶囊体的最大垂直距离。
条件3)允许处决的角度是属于处决者的属性,不同角色会拥有不同的处决角度,处决角度可灵活设定;处决只能在敌人的背后进行,故需要判断我方是否处于敌人的背后;背后的定义为敌人当前视角朝向的余集区域。敌人的视角取最大的fov为基准,且不同品质角色会有不同的处决角度。
条件4)处决者和被处决者之间允许有较小的障碍物存在,例如可被允许的障碍物条件为障碍物高度不超过30cm(仅为举例说明)宽度不超过15cm(仅为举例说明)。
可选的,在本实施例中,在进行处决检测时,需要记录交互者双方的动作状态阶段,便于后续根据状态阶段适配动作;此外,还可以但不限于使用射线检测和坐标检测代替碰撞和物理检测。
进一步举例说明,在运行时检测开始前,根据当前角色的ID值读取策划为该角色配置的属性值。目前的设计里,处决***的判定成功需要依赖于四个条件全部满足,也就是说距离判断、高度判断、角度判断、障碍物判断是处决***的四个充分必要条件。所以需要依次对四个条件进行检测,如果有不满足的条件,那么我们可以直接认为失败。
对于四种条件,可以按照运算的复杂度进行排序,这样能在一定程度上降低***的运算量。距离判断和高度判断都是根据两个角色之间的位置差进行计算,属于最简单的判断。而障碍物的判断则需要依赖于Unity的射线检测***,涉及到空间内线与3D空间的相交性检测,属于运算量最大的计算,应该放在检测***的最后一步。所以,整个检测***的流程如下述所示:
对于距离条件的判断,分别取处决者和被处决者的头顶节点与脚底节点的坐标,分别计算距离。判断获得的四个距离中的最小值即为两个角色胶囊体的最小距离间隔。与策划配置在角色配置里的最大处决距离进行对比,如果距离的最小值大于配置值,那么就认为无法处决。反之,则满足距离条件的判断。
对于高度条件的判断,与距离条件的检测类似。这里不再赘述。
对于角度判断,需要检测被处决者的视野内是否能看到处决者。以被处决者当前的朝向正方向为n1向量,以被处决者与处决者之间的位置差向量为n2向量。
计算n1与n2之间的夹角,将获得的夹角与被处决者当前的FoV/2进行判断,如果超过FoV/2,那么就可以认为处决者位于被处决者的背后,也就是满足角度判断的要求。视野内的判断,可以忽略Y轴(高度)方向的影响,在XZ平面上进行计算,两个向量之间的夹角计算公式如下:
Figure BDA0003340634880000271
对于障碍物的检测,一般较为精确的检测算法是根据处决者的BoundingBox(8个点)和被处决者的BoundingBox(8个点)之间互相做射线检测是否有障碍物。这样精确的算法检测是需要8*8条射线。对于***而言,显然是不能接受的性能开销。由于使命召唤手游里,障碍物一般都是着地的,所以我们这里其实只要判断两个角色的着地点之间是否存在障碍物即可。也就是只要检测一条射线之间是否有碰撞即可。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述虚拟对象的控制方法的虚拟对象的控制装置。如图13所示,该装置包括:
获取单元1302,用于响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,目标攻击指令用于指示第一虚拟对象执行目标攻击操作,第二虚拟对象与第一虚拟对象处于不同阵营,目标位置信息用于表示第二虚拟对象相对于第一虚拟对象的位置信息;
检测单元1304,用于在目标位置信息满足第一触发条件的情况下,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,目标检测结果为对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果;
播放单元1306,用于在目标检测结果满足第二触发条件的情况下,播放目标动画,其中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面。
可选地,在本实施例中,上述虚拟对象的控制方法可以但不限于应用在目标游戏场景中的处决交互过程中,具体的例如用户控制第一虚拟对象移动至第二虚拟对象附近的位置处,并触发目标攻击指令,进而在判断相关信息满足触发条件的情况下,播放第二虚拟对象被处决的游戏画面,其中,相关信息至少包括第二虚拟对象关联的目标位置信息、以及第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果,且判断相关信息满足触发条件的过程中,判断顺序为先对第二虚拟对象关联的目标位置信息进行判断,再对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果进行判断,这样做的好处在于第二虚拟对象关联的目标位置信息可直接获取,其所付出的运算资源较小,而第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果需对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,其所付出的运算资源较多,进而如何对第二虚拟对象关联的目标位置信息进行判断后,结论是不满足触发条件,则就无需再对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果进行判断,节省了所需付出的多数运算资源,提高了运算资源的利用率,实现了提高虚拟对象的控制效率的效果。
可选地,在本实施例中,上述目标游戏场景包含第一人称射击游戏、第三人称射击游戏等包含但不仅限于此的所有使用热兵器类进行远程攻击的游戏。其中,上述目标射击应用可以为多人在线战术竞技游戏(Multiplayer Online Battle Arena简称为MOBA)或者为单人游戏(Single-Player Game简称为SPG)。需要说明的是,上述游戏应用的类型可以包括但不限于以下至少之一:二维(Two Dimension,简称2D)游戏应用、三维(ThreeDimension,简称3D)游戏应用、虚拟现实(Virtual Reality,简称VR)游戏应用、增强现实(Augmented Reality,简称AR)游戏应用、混合现实(Mixed Reality,简称MR)游戏应用。以上只是一种示例,本实施例对此不作任何限定。
可选地,在本实施例中,第二虚拟对象关联的目标位置信息可以但不限于理解为与第二虚拟对象有关的位置信息,如第二虚拟对象本身的位置信息,例如第二虚拟对象的高度、第二虚拟对象的位置坐标、第二虚拟对象当前朝向的视野角度等;再如第二虚拟对象与其他虚拟对象之间的相对位置信息,例如第二虚拟对象与第一虚拟对象之间的相对距离、第二虚拟对象与第一虚拟对象之间的相对高度等,或更复杂的信息模式,如第二虚拟对象在第一虚拟对象的视野角度的范围内/外,第一虚拟对象在第二虚拟对象的视野角度的范围内/外。
可选地,在本实施例中,目标攻击操作可以但不限于理解为指定对第二虚拟对象执行的攻击操作,也可以理解为对目标范围内的全部(敌方)虚拟对象执行的攻击操作,或可理解为对目标范围内与第一虚拟对象距离最近的(敌方)虚拟对象执行的攻击操作,或可理解为对目标范围内第一虚拟对象正对着的(敌方)虚拟对象执行的攻击操作,其中,目标范围可以但不限于为目标攻击操作的操作范围。
可选地,在本实施例中,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测可以但不限于利用Unity的射线检测***实现,其中可以但不限于还涉及到空间内线与3D空间的相交性检测,属于运算量最大的计算,例如根据第一虚拟对象的BoundingBox(8个点)和第二虚拟对象的BoundingBox(8个点)之间互相做射线检测是否有障碍物。
可选地,在本实施例中,第二触发条件可以但不限于包括目标检测结果指示第一虚拟对象与第二虚拟对象之间不存在障碍物,或目标检测结果指示第一虚拟对象与第二虚拟对象之间不存在目标障碍物,其中,目标障碍物为阻碍属性值达到障碍阈值的障碍物,阻碍属性值可以但不限于包括以下至少之一:障碍物尺寸、障碍物占地面积、障碍物材质等。
可选地,在本实施例中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面,或可以但不限于将目标动画理解为强制播放的第一段处决交互动画。
可选地,在本实施例中,第一触发条件和/或第二触发条件可以但不限于由第二虚拟对象或第一虚拟对象本身决定,例如相对于第一虚拟对象来说,可以设置第一属性,该第一属性用于降低第一触发条件和/或第二触发条件的判断难度;而相对于第而虚拟对象来说,可以设置第而属性,该第一属性用于提高第一触发条件和/或第二触发条件的判断难度。
需要说明的是,响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,目标攻击指令用于指示第一虚拟对象执行目标攻击操作,第二虚拟对象与第一虚拟对象处于不同阵营,目标位置信息用于表示第二虚拟对象相对于第一虚拟对象的位置信息;在目标位置信息满足第一触发条件的情况下,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,目标检测结果为对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果;在目标检测结果满足第二触发条件的情况下,播放目标动画,其中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
通过本申请提供的实施例,响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,目标攻击指令用于指示第一虚拟对象执行目标攻击操作,第二虚拟对象与第一虚拟对象处于不同阵营,目标位置信息用于表示第二虚拟对象相对于第一虚拟对象的位置信息;在目标位置信息满足第一触发条件的情况下,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,目标检测结果为对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果;在目标检测结果满足第二触发条件的情况下,播放目标动画,其中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面,在响应于目标攻击指令后开始对是否满足触发条件进行判断的过程中,先对运算量较小的目标位置信息进行判断,再对运算量较大的障碍物的检测结果进行判断,如此一来如果对目标位置信息的判断结果是不满足的情况下,就无需再付出较大的运算量以判断障碍物的检测结果是否满足了,节省了大量的运算资源,进而达到了提高虚拟对象的控制过程中对运算资源的利用率的目的,从而实现了提高虚拟对象的控制效率的技术效果。
作为一种可选的方案,获取单元1302,包括:
第一获取模块,用于获取相对距离信息,其中,相对距离信息用于表示第二虚拟对象与第一虚拟对象之间的相对距离;
第二获取模块,用于在相对距离信息满足第一触发子条件的情况下,获取目标高度信息,其中,目标高度信息用于表示第二虚拟对象与第一虚拟对象之间的高度差;
第三获取模块,用于在目标高度信息满足第二触发子条件的情况下,获取目标角度信息,其中,目标角度信息为第二虚拟对象和/或第一虚拟对象的视野角度所关联的信息,第一触发条件包括目标角度信息满足第三触发子条件。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第一获取模块,包括:
第一确定子模块,用于确定第一虚拟对象关联的多个第一位置点;
第二确定子模块,用于确定第二虚拟对象关联的多个第二位置点;
第一获取子模块,用于获取多个第一位置点中的每个第一位置点,与多个第二位置点中的每个第二位置点之间的M个相对距离,其中,M为自然数;
第二获取子模块,用于获取M个相对距离中的最小相对距离,其中,相对距离信息包括最小相对距离,第一触发子条件包括最小相对距离小于或等于第一阈值。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第二获取模块,包括:
第三确定子模块,用于确定第一虚拟对象关联的多个第三位置点;
第四确定子模块,用于确定第二虚拟对象关联的多个第四位置点;
第三获取子模块,用于获取多个第三位置点中的每个第三位置点,与多个第四位置点中的每个第四位置点之间的N个相对高度差,其中,N为自然数;
第四获取子模块,用于获取N个相对高度差中的最大相对高度差,其中,目标高度信息包括最大相对高度差,第二触发子条件包括最大相对高度差小于或等于第二阈值。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第三获取模块,包括:
第五确定子模块,用于确定第一虚拟对象的视野角度;
第五获取子模块,用于获取第一角度信息,其中,第一角度信息用于表示第二虚拟对象是否位于第一虚拟对象的视野角度所对应的第一区域范围,第三触发子条件包括第一角度信息指示第二虚拟对象位于第一区域范围内。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第五获取子模块,包括:
第一获取子单元,用于获取第一虚拟对象的当前朝向向量;
第二获取子单元,用于获取第二虚拟对象与第一虚拟对象之间的位置差向量;
第一计算子单元,用于计算第一虚拟对象的当前朝向向量与位置差向量之间的夹角,得到第一目标角度;
第三获取子单元,用于获取第二虚拟对象的视野角度与第一目标角度之间的第一角度比较结果,其中,第一角度信息包括第一角度比较结果,第三触发子条件包括第一角度比较结果指示第一目标角度小于或等于第一虚拟对象的视野角度。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第三获取模块,包括:
第六确定子模块,用于确定第二虚拟对象的视野角度;
第六获取子模块,用于获取第二角度信息,其中,第二角度信息用于确定第一虚拟对象是否位于第二虚拟对象的视野角度所对应的第二区域范围,第三触发子条件包括第二角度信息指示第一虚拟对象位于第二区域范围外。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,第六获取子模块,包括:
第四获取子单元,用于获取第二虚拟对象的当前朝向向量;
第五获取子单元,用于获取第二虚拟对象与第一虚拟对象之间的位置差向量;
第二计算子单元,用于计算第二虚拟对象的当前朝向向量与位置差向量之间的夹角,得到第二目标角度;
第六获取子单元,用于获取第二虚拟对象的视野角度与第二目标角度之间的第二角度比较结果,其中,第二角度信息包括第二角度比较结果,第三触发子条件包括第二角度比较结果指示第二目标角度大于第二虚拟对象的视野角度。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,检测单元1304,包括:
第一确定模块,用于在第一虚拟对象与第二虚拟对象位于目标区域上的情况下,确定第一虚拟对象与目标区域的第一接触点、以及第二虚拟对象与目标区域的第二接触点;
第二确定模块,用于从第一接触点发射一条或多条射线至第二接触点,并检测与一条或多条射线发生碰撞的障碍物,得到目标检测结果。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,装置还包括:
第一触发单元,用于在获取到对第一虚拟按钮的选中操作、且目标位置信息满足第一触发条件、目标检测结果满足第二触发条件的情况下,触发目标攻击指令;或,
第二触发单元,用于在获取到对第一虚拟按钮的选中操作、且目标位置信息不满足第一触发条件的情况下,触发目标操作指令,其中,目标操作指令用于指示第一虚拟对象执行目标操作;或,
第三触发单元,用于在获取到对第一虚拟按钮的选中操作、且目标位置信息满足第一触发条件、但目标检测结果不满足第二触发条件的情况下,触发目标操作指令。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,装置还包括:
第四触发单元,用于在获取到对第二虚拟按钮的选中操作、且目标位置信息满足第一触发条件、目标检测结果满足第二触发条件的情况下,触发目标攻击指令;或,
第五触发单元,用于在获取到对第二虚拟按钮的选中操作、且目标位置信息不满足第一触发条件的情况下,不触发任一指令;或,
第六触发单元,用于在获取到对第二虚拟按钮的选中操作、且目标位置信息满足第一触发条件、但目标检测结果不满足第二触发条件的情况下,不触发任一指令。
具体实施例可以参考上述虚拟对象的控制方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,目标位置信息,包括以下至少之一:
相对距离信息,其中,相对距离信息用于表示第二虚拟对象与第一虚拟对象之间的相对距离;
目标高度信息,其中,目标高度信息用于表示第二虚拟对象与第一虚拟对象之间的高度差;
目标角度信息,其中,目标角度信息为第二虚拟对象和/或第一虚拟对象的视野角度所关联的信息。
根据本发明实施例的又一个方面,还提供了一种用于实施上述虚拟对象的控制方法的电子设备,如图14所示,该电子设备包括存储器1402和处理器1404,该存储器1402中存储有计算机程序,该处理器1404被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,目标攻击指令用于指示第一虚拟对象执行目标攻击操作,第二虚拟对象与第一虚拟对象处于不同阵营,目标位置信息用于表示第二虚拟对象相对于第一虚拟对象的位置信息;
S2,在目标位置信息满足第一触发条件的情况下,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,目标检测结果为对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果;
S3,在目标检测结果满足第二触发条件的情况下,播放目标动画,其中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面。
可选地,本领域普通技术人员可以理解,图14所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图14其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图14中所示更多或者更少的组件(如网络接口等),或者具有与图14所示不同的配置。
其中,存储器1402可用于存储软件程序以及模块,如本发明实施例中的虚拟对象的控制方法和装置对应的程序指令/模块,处理器1404通过运行存储在存储器1402内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟对象的控制方法。存储器1402可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1402可进一步包括相对于处理器1404远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1402具体可以但不限于用于存储目标位置信息、目标检测结果以及目标动画等信息。作为一种示例,如图14所示,上述存储器1402中可以但不限于包括上述虚拟对象的控制装置中的获取单元1302、检测单元1304及播放单元1306。此外,还可以包括但不限于上述虚拟对象的控制装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1406包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1406为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1408,用于显示上述目标位置信息、目标检测结果以及目标动画等信息;和连接总线1410,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式***中的一个节点,其中,该分布式***可以为区块链***,该区块链***可以是由该多个节点通过网络通信的形式连接形成的分布式***。其中,节点之间可以组成点对点(Peer To Peer,简称P2P)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链***中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理器执行时,执行本申请实施例提供的各种功能。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,电子设备的计算机***仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
计算机***包括中央处理器(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)中的程序或者从存储部分加载到随机访问存储器(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器中,还存储有***操作所需的各种程序和数据。中央处理器、在只读存储器以及随机访问存储器通过总线彼此相连。输入/输出接口(Input/Output接口,即I/O接口)也连接至总线。
以下部件连接至输入/输出接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至输入/输出接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理器执行时,执行本申请的***中限定的各种功能。
根据本申请的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,目标攻击指令用于指示第一虚拟对象执行目标攻击操作,第二虚拟对象与第一虚拟对象处于不同阵营,目标位置信息用于表示第二虚拟对象相对于第一虚拟对象的位置信息;
S2,在目标位置信息满足第一触发条件的情况下,对第一虚拟对象与第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,目标检测结果为对第一虚拟对象与第二虚拟对象之间存在的障碍物的检测结果;
S3,在目标检测结果满足第二触发条件的情况下,播放目标动画,其中,目标动画包括第一虚拟对象对第二虚拟对象执行目标攻击操作的画面、以及第二虚拟对象被目标攻击操作击败的画面。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种虚拟对象的控制方法,其特征在于,包括:
响应于对第一虚拟对象触发的目标攻击指令,获取第二虚拟对象关联的目标位置信息,其中,所述目标攻击指令用于指示所述第一虚拟对象执行目标攻击操作,所述第二虚拟对象与所述第一虚拟对象处于不同阵营,所述目标位置信息用于表示所述第二虚拟对象相对于所述第一虚拟对象的位置信息;
在所述目标位置信息满足第一触发条件的情况下,对所述第一虚拟对象与所述第二虚拟对象之间的区域进行射线检测,得到目标检测结果,其中,所述目标检测结果为对所述第一虚拟对象与所述第二虚拟对象之间存在的障碍物的检测结果;
在所述目标检测结果满足第二触发条件的情况下,播放目标动画,其中,所述目标动画包括所述第一虚拟对象对所述第二虚拟对象执行所述目标攻击操作的画面、以及所述第二虚拟对象被所述目标攻击操作击败的画面。
2.根据权利要求1所述的方法,其特征在于,所述获取第二虚拟对象关联的目标位置信息,包括:
获取相对距离信息,其中,所述相对距离信息用于表示所述第二虚拟对象与所述第一虚拟对象之间的相对距离;
在所述相对距离信息满足第一触发子条件的情况下,获取目标高度信息,其中,所述目标高度信息用于表示所述第二虚拟对象与所述第一虚拟对象之间的高度差;
在所述目标高度信息满足第二触发子条件的情况下,获取目标角度信息,其中,所述目标角度信息为所述第二虚拟对象和/或所述第一虚拟对象的视野角度所关联的信息,所述第一触发条件包括所述目标角度信息满足第三触发子条件。
3.根据权利要求2所述的方法,其特征在于,所述获取相对距离信息,包括:
确定所述第一虚拟对象关联的多个第一位置点;
确定所述第二虚拟对象关联的多个第二位置点;
获取所述多个第一位置点中的每个第一位置点,与所述多个第二位置点中的每个第二位置点之间的M个相对距离,其中,M为自然数;
获取所述M个相对距离中的最小相对距离,其中,所述相对距离信息包括所述最小相对距离,第一触发子条件包括所述最小相对距离小于或等于第一阈值。
4.根据权利要求2所述的方法,其特征在于,所述获取目标高度信息,包括:
确定所述第一虚拟对象关联的多个第三位置点;
确定所述第二虚拟对象关联的多个第四位置点;
获取所述多个第三位置点中的每个第三位置点,与所述多个第四位置点中的每个第四位置点之间的N个相对高度差,其中,N为自然数;
获取所述N个相对高度差中的最大相对高度差,其中,所述目标高度信息包括所述最大相对高度差,所述第二触发子条件包括所述最大相对高度差小于或等于第二阈值。
5.根据权利要求2所述的方法,其特征在于,所述获取目标角度信息,包括:
确定所述第一虚拟对象的视野角度;
获取第一角度信息,其中,所述第一角度信息用于表示所述第二虚拟对象是否位于所述第一虚拟对象的视野角度所对应的第一区域范围,所述第三触发子条件包括所述第一角度信息指示所述第二虚拟对象位于所述第一区域范围内。
6.根据权利要求5所述的方法,其特征在于,所述获取第一角度信息,包括:
获取所述第一虚拟对象的当前朝向向量;
获取所述第二虚拟对象与所述第一虚拟对象之间的位置差向量;
计算所述第一虚拟对象的当前朝向向量与所述位置差向量之间的夹角,得到第一目标角度;
获取所述第二虚拟对象的视野角度与所述第一目标角度之间的第一角度比较结果,其中,所述第一角度信息包括所述第一角度比较结果,所述第三触发子条件包括所述第一角度比较结果指示所述第一目标角度小于或等于所述第一虚拟对象的视野角度。
7.根据权利要求2所述的方法,其特征在于,所述获取目标角度信息,包括:
确定所述第二虚拟对象的视野角度;
获取第二角度信息,其中,所述第二角度信息用于确定所述第一虚拟对象是否位于所述第二虚拟对象的视野角度所对应的第二区域范围,所述第三触发子条件包括所述第二角度信息指示所述第一虚拟对象位于所述第二区域范围外。
8.根据权利要求7所述的方法,其特征在于,所述获取所述第二角度信息,包括:
获取所述第二虚拟对象的当前朝向向量;
获取所述第二虚拟对象与所述第一虚拟对象之间的位置差向量;
计算所述第二虚拟对象的当前朝向向量与所述位置差向量之间的夹角,得到第二目标角度;
获取所述第二虚拟对象的视野角度与所述第二目标角度之间的第二角度比较结果,其中,所述第二角度信息包括所述第二角度比较结果,所述第三触发子条件包括所述第二角度比较结果指示所述第二目标角度大于所述第二虚拟对象的视野角度。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述对所述第一虚拟对象与所述第二虚拟对象之间的区域进行射线检测,得到目标检测结果,包括:
在所述第一虚拟对象与所述第二虚拟对象位于目标区域上的情况下,确定所述第一虚拟对象与所述目标区域的第一接触点、以及所述第二虚拟对象与所述目标区域的第二接触点;
从所述第一接触点发射一条或多条射线至所述第二接触点,并检测与所述一条或多条射线发生碰撞的障碍物,得到所述目标检测结果。
10.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
在获取到对第一虚拟按钮的选中操作、且所述目标位置信息满足所述第一触发条件、所述目标检测结果满足所述第二触发条件的情况下,触发所述目标攻击指令;或,
在获取到对所述第一虚拟按钮的选中操作、且所述目标位置信息不满足所述第一触发条件的情况下,触发目标操作指令,其中,所述目标操作指令用于指示所述第一虚拟对象执行目标操作;或,
在获取到对所述第一虚拟按钮的选中操作、且所述目标位置信息满足所述第一触发条件、但所述目标检测结果不满足所述第二触发条件的情况下,触发所述目标操作指令。
11.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
在获取到对第二虚拟按钮的选中操作、且所述目标位置信息满足所述第一触发条件、所述目标检测结果满足所述第二触发条件的情况下,触发所述目标攻击指令;或,
在获取到对所述第二虚拟按钮的选中操作、且所述目标位置信息不满足所述第一触发条件的情况下,不触发任一指令;或,
在获取到对所述第二虚拟按钮的选中操作、且所述目标位置信息满足所述第一触发条件、但所述目标检测结果不满足所述第二触发条件的情况下,不触发所述任一指令。
12.根据权利要求1至8中任一项所述的方法,其特征在于,所述目标位置信息,包括以下至少之一:
相对距离信息,其中,所述相对距离信息用于表示所述第二虚拟对象与所述第一虚拟对象之间的相对距离;
目标高度信息,其中,所述目标高度信息用于表示所述第二虚拟对象与所述第一虚拟对象之间的高度差;
目标角度信息,其中,所述目标角度信息为所述第二虚拟对象和/或所述第一虚拟对象的视野角度所关联的信息。
13.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至12任一项中所述的方法。
14.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至12任一项中所述方法的步骤。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至12任一项中所述的方法。
CN202111307446.5A 2021-11-05 2021-11-05 虚拟对象的控制方法、存储介质和电子设备 Pending CN114011069A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111307446.5A CN114011069A (zh) 2021-11-05 2021-11-05 虚拟对象的控制方法、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111307446.5A CN114011069A (zh) 2021-11-05 2021-11-05 虚拟对象的控制方法、存储介质和电子设备

Publications (1)

Publication Number Publication Date
CN114011069A true CN114011069A (zh) 2022-02-08

Family

ID=80061764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111307446.5A Pending CN114011069A (zh) 2021-11-05 2021-11-05 虚拟对象的控制方法、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN114011069A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114849238A (zh) * 2022-06-02 2022-08-05 北京新唐思创教育科技有限公司 动画执行方法、装置、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114849238A (zh) * 2022-06-02 2022-08-05 北京新唐思创教育科技有限公司 动画执行方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
JP7206398B2 (ja) ユーザインターフェース表示方法、ユーザインターフェース表示装置、端末、コンピュータ装置、およびプログラム
US10525354B2 (en) Game apparatus, game controlling method and storage medium for determining a terrain based on a distribution of collision positions
CN113440846B (zh) 游戏的显示控制方法、装置、存储介质及电子设备
CN111228802B (zh) 信息提示方法和装置、存储介质及电子装置
US20230076343A1 (en) Virtual item selection interface
US20220305384A1 (en) Data processing method in virtual scene, device, storage medium, and program product
CN110665230A (zh) 虚拟世界中的虚拟角色控制方法、装置、设备及介质
KR20230098650A (ko) 가상 객체 제어 방법 및 장치, 단말, 및 저장 매체
US20230082060A1 (en) Method and apparatus for displaying virtual scene, method and apparatus for processing virtual scene, and device
US20230054065A1 (en) Delivery of virtual effect
CN109983424B (zh) 虚拟现实场景中的对象选中方法和装置以及虚拟现实设备
US11020663B2 (en) Video game with automated screen shots
EP3025769A1 (en) Image processing program, server device, image processing system, and image processing method
US20220161144A1 (en) Image display method and apparatus, storage medium, and electronic device
WO2023103615A1 (zh) 虚拟对象的切换方法、装置、设备、介质及程序产品
WO2023134272A1 (zh) 视野画面的显示方法、装置及设备
US20240207741A1 (en) Cloud game starting methods, apparatuses, and systems, computer device and storage media
CN112107857A (zh) 虚拟道具的控制方法和装置、存储介质及电子设备
CN110801629B (zh) 虚拟对象生命值提示图形的显示方法、装置、终端及介质
CN111265861A (zh) 虚拟道具的显示方法和装置、存储介质及电子装置
CN114011069A (zh) 虚拟对象的控制方法、存储介质和电子设备
CN114159785A (zh) 虚拟道具丢弃方法、装置、电子设备和存储介质
CN111035929B (zh) 基于虚拟环境的淘汰信息反馈方法、装置、设备及介质
CN111265871A (zh) 虚拟对象的控制方法及装置、设备、存储介质
WO2023071808A1 (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