CN111389004B - 虚拟角色的控制方法、存储介质及处理器 - Google Patents
虚拟角色的控制方法、存储介质及处理器 Download PDFInfo
- Publication number
- CN111389004B CN111389004B CN202010220205.6A CN202010220205A CN111389004B CN 111389004 B CN111389004 B CN 111389004B CN 202010220205 A CN202010220205 A CN 202010220205A CN 111389004 B CN111389004 B CN 111389004B
- Authority
- CN
- China
- Prior art keywords
- time
- target object
- virtual character
- target
- parameter
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000010845 search algorithm Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 62
- 230000008569 process Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 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
-
- 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/573—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
-
- 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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/812—Ball games, e.g. soccer or baseball
-
- 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
- A63F2300/646—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 for calculating the trajectory of an object
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/8005—Athletics
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/8011—Ball
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种虚拟角色的控制方法、存储介质及处理器。其中,该方法包括:获取目标对象的第一参数,以及虚拟角色的第二参数,其中,第一参数包括目标对象在水平面上的初始速度和第一初始位置,以及目标对象在水平面上运动到达的多个目标位置,第二参数包括虚拟角色在水平面上的第二初始位置和预设的最大运动速度;根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数;根据时间函数获得目标对象和虚拟对象到达目标位置的时间结果;根据时间结果数量,确定是否控制虚拟角色对目标对象进行拦截。本发明解决了相关技术中游戏对象的处理方法复杂度较高的技术问题。
Description
技术领域
本发明涉及游戏算法领域,具体而言,涉及一种虚拟角色的控制方法、存储介质及处理器。
背景技术
在足球游戏中,对于非操作球员,面临一个智能决策的阶段,既在球员身上会附着一个AI(Artificial Intelligence)脚本,用于判断这个球员现阶段要做的一些操作,比如关键的一个操作就是,当对方球员发动踢球、传球、射门等进攻操作时,这个球员是否处在有利的范围内,是否能干扰到对方的球员对球的操作,从而达到防守的效果。
但是,上述需要主动判断运动的球是否在某一时刻,或者是否存在能拦截的情况往往比较复杂,对于PC端的游戏,这方面的计算可能并不会影响到游戏的整体体验,但是对于手游端,复杂度较高的算法往往会带来游戏卡顿的不良体验。
针对关技术中游戏对象的处理方法复杂度较高的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种虚拟角色的控制方法、存储介质及处理器,以至少解决相关技术中游戏对象的处理方法复杂度较高的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟角色的控制方法,通过终端设备提供图形用户界面,图形用户界面包括游戏画面,其中,游戏画面中包括虚拟角色和目标对象,该方法包括:获取目标对象的第一参数,以及虚拟角色的第二参数,其中,第一参数包括目标对象在水平面上的初始速度和第一初始位置,以及目标对象在水平面上运动到达的多个目标位置,第二参数包括虚拟角色在水平面上的第二初始位置和预设的最大运动速度;根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数;根据时间函数获得目标对象和虚拟对象到达目标位置的时间结果;根据时间结果数量,确定是否控制虚拟角色对目标对象进行拦截。
可选地,根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数,包括:根据第一参数,确定目标对象的第一轨迹方程;根据第二参数,确定虚拟角色的第二轨迹方程;获取目标对象的第一轨迹方程和虚拟角色的第二轨迹方程的交点,并根据交点确定目标位置;根据初始速度和第一初始位置,确定目标对象关于时间的轨迹函数;根据目标对象关于时间的轨迹函数和目标位置,得到时间函数。
可选地,根据第二参数,确定虚拟角色的第二轨迹方程,包括:根据第二参数中的预设的最大运动速度和运动时间,确定虚拟角色的第一运动距离;根据第二参数中的第二初始位置和第一运动距离,确定第二轨迹方程。
可选地,根据初始速度和第一初始位置,确定目标对象关于时间的轨迹函数,包括:根据初始速度和运动时间,确定目标对象的第二运动距离;根据第一初始位置和第二运动距离,确定目标对象关于时间的轨迹函数。
可选地,第一轨迹方程为直线方程,第二轨迹方程为圆的方程。
可选地,第二轨迹方程为以第二初始位置为圆心,以第一运动距离为半径的圆的方程。
可选地,根据时间结果数量,确定是否控制虚拟角色对目标对象进行拦截包括:如果时间结果的数量为0,则确定禁止控制虚拟角色拦截目标对象;如果时间结果的数量为1或2,则确定控制虚拟角色拦截目标对象;如果时间结果的数量为3或4,则对时间函数进行转换,并基于转换后的时间结果数量,确定是否控制虚拟角色拦截目标对象。
可选地,对时间函数进行转换,包括:将时间函数中的时间参数置换为目标参数,其中,目标参数为时间参数的平方。
可选地,在确定控制虚拟角色拦截目标对象之前,该方法还包括:基于目标对象在垂直面上的初始速度和时间结果,得到目标对象到达目标位置的目标高度;将目标高度与虚拟角色的最大跳跃高度进行比较,得到比较结果;基于比较结果,确定是否控制虚拟角色拦截目标对象。
可选地,该方法还包括:在确定控制虚拟角色拦截目标对象之后,控制虚拟角色向目标位置运动,以使虚拟角色对目标对象进行拦截。
根据本发明实施例的另一方面,还提供了一种虚拟角色的控制方法,通过终端设备提供图形用户界面,图形用户界面包括游戏画面,其中,游戏画面中包括虚拟角色和目标对象,该方法包括:获取目标对象的第一参数和虚拟角色的第二参数,其中,第一参数包括目标对象在水平面上的初始速度和第一初始位置,第二参数包括虚拟对象在水平面上预设的最大运动速度和第二初始位置;根据第一参数确定目标对象运动至目标位置的第一时间,并基于第二参数确定虚拟角色运动至目标位置的第二时间;根据第一时间和第二时间的第一比较结果,确定是否控制虚拟角色拦截目标对象。
可选地,根据第一时间和第二时间的第一比较结果,确定是否控制虚拟角色拦截目标对象包括:如果第一比较结果为第一时间大于或等于第二时间,则确定控制虚拟角色拦截目标对象;如果第一比较结果为第一时间小于第二时间,则确定禁止控制虚拟角色拦截目标对象。
可选地,在确定控制虚拟角色拦截目标对象之前,该方法还包括:基于目标对象在垂直面上的初始速度和第一时间,得到目标对象到达目标位置的目标高度;将目标高度与虚拟角色的最大跳跃高度进行比较,得到比较结果;基于比较结果,确定是否控制虚拟角色拦截目标对象。
可选地,在确定控制虚拟角色拦截目标对象之后,该方法还包括:获取目标对象的运动轨迹上的第一位置,其中,第一位置位于第一初始位置与目标位置之间;根据第一参数确定目标对象运动至第一位置的第三时间,并基于第二参数确定虚拟角色运动至第一位置的第四时间;根据第三时间和第四时间,确定虚拟角色的目标运动方向;控制虚拟角色按照目标运动方向运动,以使虚拟角色对目标对象进行拦截。
可选地,根据第三时间和第四时间,确定虚拟角色的目标运动方向包括:获取第三时间和第四时间的时间差;如果时间差处于预设时间范围内,则确定虚拟角色至第一位置的方向为目标运动方向;如果时间差未处于预设时间范围内,则从第一位置与目标位置之间,或第一位置与第一初始位置之间重新获取一位置作为第一位置,直到目标对象运动至重新获取的第一位置的时间和虚拟角色运动至重新获取的第一位置的时间差在预设时间范围内,则确定虚拟角色至重新获取的第一位置的方向为目标运动方向。
可选地,通过二分查找算法获取第一位置。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的虚拟角色的控制方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的虚拟角色的控制方法。
在本发明实施例中,可以获取目标对象的第一参数,以及虚拟角色的第二参数,进一步根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数,并根据时间函数获得目标对象和虚拟对象到达目标位置的时间结果的数量,确定是否控制虚拟角色对目标对象进行拦截,从而实现足球游戏中的足球拦截的目的。与相关技术相比,通过构建目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数,并计算目标对象和虚拟角色到达目标位置的时间结果,实现足球拦截,可以大大降低计算复杂度,提高处理效率,适用于手游端的足球游戏,进而解决了相关技术中游戏对象的处理方法复杂度较高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种虚拟角色的控制方法的流程图;
图2是根据本发明实施例的一种可选的足球轨迹拦截的示意图;
图3是根据本发明实施例的另一种虚拟角色的控制方法的流程图;
图4是根据本发明实施例的一种可选的足球轨迹试探拦截求解的示意图;
图5是根据本发明实施例的又一种虚拟角色的控制方法的流程图;
图6是根据本发明实施例的一种虚拟角色的控制装置的示意图;以及
图7是根据本发明实施例的另一种虚拟角色的控制装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种虚拟角色的控制方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
可选地,通过终端设备提供图形用户界面,图形用户界面包括游戏画面,其中,游戏画面中包括虚拟角色和目标对象。
图1是根据本发明实施例的一种虚拟角色的控制方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取目标对象的第一参数,以及虚拟角色的第二参数;
具体地,上述步骤中的目标对象可以是球类游戏中的目标球,例如,在足球游戏中,该目标球为足球。对于球类游戏,球场上的所有球员被划分为两个阵营,一个阵营的球员由玩家进行控制,可以称为操作球员,另一个阵营的球员由游戏服务器进行控制,可以称为非操作球员。由于服务器可以通过人工智能算法对非操作球员进行控制,因此,非操作球员也可以被称为人工智能机器人。对于操作球员,球员的所有动作由用户控制,无需服务器通过算法进行计算,而对于非操作球员,球员的所有动作由服务器控制,需要服务器通算法进行计算,因此,本发明实施例主要针对非操作球员拦截足球的方案,上述步骤中的虚拟角色可以是非操作球员。
在本发明实施例中,以足球游戏为例进行详细说明。足球会在三维空间内运动,可以划分为水平方向的运动和垂直方向的运动,上述步骤中的第一参数包括目标对象在水平面上的初始速度和第一初始位置,例如,如图2所示,可以将球场左下角的位置作为原点建立坐标系,分别为x轴和z轴,其中,第一参数可以包括:足球在水平面上的初始速度vstart和初始位置(xstart,zstart)。非操作球员只在水平面内运动,第二参数包括虚拟角色在水平面内的第二初始位置和预设的最大运动速度,例如,如图2所示,第二参数可以包括非操作球员的最大运动速度vmax和第二初始位置(a,b)。其中,a对应x轴,b对应y轴。
需要说明的是,上述的第一初始位置和第二初始位置均表示初始位置,通过增加“第一”和“第二”可以将目标对象的初始位置和虚拟角色的初始位置进行区分。
步骤S104,根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数;
为了能够实现主动判断非操作球员是否能够拦截足球,在本发明实施例中,可以基于足球拦截规则,预先构建一个非操作球员和足球以相同运动时间到达目标位置的求解模型,得到上述的时间函数,从而通过该模型可以确定一个非操作球员是否能够成功拦截足球。
在一种可选的实施例中,可以基于虚拟角色拦截目标对象的拦截规则,构建拦截模型。具体地,如图2所示,假定球100以某一方向做规则运行(可切分为三维的不同坐标的运动),人工智能机器人200在以当前自身位置为中心以最大运动速度乘以球体运动时间为半径画圆。
首先利用运动的可拆分性质将球体的运动拆分为垂直方向的抛物线运动与水平的直线匀减速运动。因此,拦截规则可以包括两个方面,一是球体的水平运动是否与人的运动圆相交,二是当球体在与圆相交的范围内高度是否大于人的最大高度。
具体地,可以将足球的运动分为两部分,水平+垂直。其中,水平面上的速度为v=vstart*dump,其中,dump为速度的衰减因素,例如,可以是0.99。垂直面上的运动轨迹是不同的抛物线h=kd2,其中,h表示高度、d表示水平面上球的运动距离(与x和z相关),k表示足球运动方向,然后针对不同的抛物线计算具体情况下的拦截高度。因此,判断一个球是否能够被拦截只有两个因素,相关伪代码如下:
上述两个因素中,足球在水平面上运动时间的求解是关键,在本发明实施例中,主要针对足球在水平面上的运动进行处理,构建出时间函数。
如图2所示,假设球和人的运动时间同为t,非操作球员以最大运动速度vmax*t为半径画圆,然后如果与足球的运动轨迹相交,则视为存在拦截可能。具体公式如下:
通过简化可得
其中,dir表示球的运动方向,n表示常数,V(t)表示球速关于时间函数;P(t)ball表示球轨迹方程,该方程是关于时间的轨迹函数,具体某点的位置为(x_ball,z_ball),pstart表示球的初始位置(xstart,zstart);P(t)man表示非操作球员的运动轨迹方程,该方程是关于时间的轨迹函数,具体某点的位置为(x_man,z_man)。
最后等式可以化为
上述公式具有如下特点:直线方程不变;时间只影响该直线是否有效,也即球的轨迹方程可以判断该直线是否有效,或者求出给定时间的最远点;非操作球员的轨迹方程是一个圆,随时间变化。
步骤S106,根据时间函数获得目标对象和虚拟对象到达目标位置的时间结果;
上述的时间函数可以通过上述方程组化简得到,并通过求解时间函数得到方程组中时间参数t的解(即上述的时间结果)。
步骤S108,根据时间结果数量,确定是否控制虚拟角色对目标对象进行拦截。
在一种可选的实施例中,可以时间函数的解的数量确定是否可以计算出足球和非操作球员到达目标位置的运动时间,其中,如果可以计算出足球和非操作球员到达目标位置的时间,则确定该球员可以拦截到足球,可以控制该球员运动,进行拦截操作;如果无法计算出足球和非操作球员到达目标位置的时间,则确定该球员无法拦截到足球,需要继续判断其他非操作球员是否能拦截该足球。
采用本发明上述实施例,可以获取目标对象的第一参数,以及虚拟角色的第二参数,进一步根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数,并根据时间函数获得目标对象和虚拟对象到达目标位置的时间结果的数量,确定是否控制虚拟角色对目标对象进行拦截,从而实现足球游戏中的足球拦截的目的。与相关技术相比,通过构建目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数,并计算目标对象和虚拟角色到达目标位置的时间结果,实现足球拦截,可以大大降低计算复杂度,提高处理效率,适用于手游端的足球游戏,进而解决了相关技术中游戏对象的处理方法复杂度较高的技术问题。
可选地,在本发明上述实施例中,根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数,包括:根据第一参数,确定目标对象的第一轨迹方程;根据第二参数,确定虚拟角色的第二轨迹方程;获取目标对象的第一轨迹方程和虚拟角色的第二轨迹方程的交点,并根据交点确定目标位置;根据初始速度和第一初始位置,确定目标对象关于时间的轨迹函数;根据目标对象关于时间的轨迹函数和目标位置,得到时间函数。
上述步骤中的第一运动轨迹可以是公式(3)中的球的轨迹方程,也即是直线方程,第二运动轨迹可以是公式(3)中的球员的运动轨迹方程,也即是圆的方程,关于时间的轨迹函数可以是公式(3)中的球的轨迹与时间方程。
在一种可选的实施例中,公式(3)的求解过程如下:
Ax+Bz+C=0,
通过单元变换利用x表示z,如下:
将其带入公式
(x-a)2-(z-b)2=r2,
求得x。
化解为
解得
此时,x与z都是关于t的方程,并且x、z、t的值都大于0,此时解的意义表示,球的轨迹方程与球员的轨迹方程有等值的可能解。上述的(x1,z1)和(x2,z2)可以是t1和t2时刻采集到的足球在水平面上的位置。
将A、B、C的值带入得
但是球的轨迹和人的轨迹都受时间t的影响。将x、z带入球的轨迹与时间的方程得到上述的时间函数:
通过对公式(7)进行求解,可以得到时间t(即上述的时间结果),并通过分析t的取值可以确定虚拟角色是否能够成功拦截目标对象。
可选地,根据第二参数,确定虚拟角色的第二轨迹方程,包括:根据第二参数中的预设的最大运动速度和运动时间,确定虚拟角色的第一运动距离;根据第二参数中的第二初始位置和第一运动距离,确定第二轨迹方程。
上述的第一运动距离可以是公式(3)中球员的运动轨迹方程中的vmax*t,可选地,第二轨迹方程为以第二初始位置为圆心,以第一运动距离为半径的圆的方程,如公式(3)中球员的运动轨迹方程所示。
可选地,根据初始速度和第一初始位置,确定目标对象关于时间的轨迹函数,包括:根据初始速度和运动时间,确定目标对象的第二运动距离;根据第一初始位置和第二运动距离,确定目标对象关于时间的轨迹函数。
可选地,在本发明上述实施例中,根据时间结果数量,确定是否控制虚拟角色对目标对象进行拦截包括:如果时间结果的数量为0,则确定禁止控制虚拟角色拦截目标对象;如果时间结果的数量为1或2,则确定控制虚拟角色拦截目标对象;如果时间结果的数量为3或4,则对时间函数进行转换,并基于转换后的时间结果数量,确定是否控制虚拟角色拦截目标对象。
对于公式(7),其求解结果包括如下几种情况:无解、1个解、2个解、3个解和4个解,其中,对于3个解和4个解的情况,可以对其进行转换,转换为无解、1个解或2个解的情况。由于求解结果用于表征球的轨迹方程与球员的轨迹方程有等值的可能解,如果公式(7)无解,则表明球的轨迹方程与球员的轨迹方程无等值,可以确定非操作球员无法拦截到足球,从而确定拦截失败;如果公式(7)有1个解或2个解,则表明球的轨迹方程与球员的轨迹方程有等值,可以确定非操作球员可以拦截到足球,从而确定拦截成功。
从而伪代码简化为:
可选地,对时间函数进行转换,包括:将时间函数中的时间参数置换为目标参数,其中,目标参数为时间参数的平方。
由公式(7)可知,时间函数是一个关于时间参数t的四次方程,在该时间函数有3个解或4个解的情况下,可以利用替换法对时间函数进行处理,将时间参数t替换为目标参数T,其中,T=t2,从而四次方程可以转换为关于目标参数T的二次方程,从而转换为无解、1个解或2个解的情况。
可选地,在确定控制虚拟角色拦截目标对象之前,该方法还包括:基于目标对象在垂直面上的初始速度和时间结果,得到目标对象到达目标位置的目标高度;将目标高度与虚拟角色的最大跳跃高度进行比较,得到比较结果;基于比较结果,确定是否控制虚拟角色拦截目标对象。
上述的最大跳跃高度可以是预先设定的非操作球员能够跳跃的最大高度,对于不同的非操作球员,可以设置不同的值,也可以是设置相同的值。
在一种可选的实施例中,在通过时间函数确定虚拟角色存在拦截可能之后,可以确定足球在水平面上能够被拦截,需要进一步判断足球在垂直面上是否能够被拦截,也即,足球达到目标位置的高度是否大于非操作球员的最大跳跃高度,如果是,则确定非操作球员无法拦截到足球,因此,需要继续判断其他非操作球员是否能够拦截到足球;如果否,则确定非操作球员可以拦截到足球,因此,可以控制非操作球员进行拦截。
足球在垂直面上的运动轨迹是抛物线,可以基于垂直面上的初始速度和足球的运行时间,可以得到相应的高度,也即,得到足球到达目标位置的目标高度。
可选地,该方法还包括:在确定控制虚拟角色拦截目标对象之后,控制虚拟角色向目标位置运动,以使虚拟角色对目标对象进行拦截。
针对公式(7)的不同解,可以得到不同的目标运动方向,对于1个解的情况,包含两种情况,一种为唯一的解,则根据该解可以确定唯一的目标位置,并且需要以最大的速度才可以到达水平拦截点;另一种是双解得特例,球在第一个解的时候未停止,而在另一个解之前停止,也即,球在圆内停止,同样可以根据双解确定非操作球员的目标位置。对于2个解得情况,非操作球员可以在最小解和最大解之间均可以成功拦截足球,此时,可以根据2个解确定非操作球员的目标位置。
根据本发明实施例,还提供了一种虚拟角色的控制方法。
图3是根据本发明实施例的另一种虚拟角色的控制方法的流程图,如图3所示,该方法包括如下步骤:
步骤S302,获取目标对象的第一参数和虚拟角色的第二参数,其中,第一参数包括目标对象在水平面上的初始速度和第一初始位置,第二参数包括虚拟对象在水平面上预设的最大运动速度和第二初始位置;
上述步骤中的目标对象、第一参数、虚拟角色和第二参数与上述实施例中相同,在此不做赘述。
步骤S304,根据第一参数确定目标对象运动至目标位置的第一时间,并基于第二参数确定虚拟角色运动至目标位置的第二时间;
步骤S306,根据第一时间和第二时间的第一比较结果,确定是否控制虚拟角色拦截目标对象。
针对如公式(3)所示的方程组,其求解过程是复杂度较高的四次方程求解过程,该过程伴随着大量的运算与方程根判断。为了进一步降低复杂度,针对上述公式(2)中的球的轨迹方程进行求解,如图4所示,求解过程可以是针对轨迹方程中每个位置,判断非操作球员是否能够拦截到足球。
基于点与直线的关系可知,点到直线的最短距离是直线垂直方向上的距离,也即,非操作球员沿着足球运动轨迹垂直方向上运动的距离最短,所耗时间最短,如果非操作球员运动到该位置,而足球还未到达该位置时,可以确定非操作球员可以拦截到足球;如果足球运动到该位置,而非操作球员还未到达该位置,可以确定非操作球员无法拦截到足球。上述步骤中的目标位置可以是非操作球员沿着足球运动轨迹垂直移动到该轨迹上的位置,也即,足球运动轨迹与非操作球员运动轨迹相切时的切点,进一步通过比较足球和非操作球员到达该位置的时间,确定非操作球员是否能够拦截到足球。
采用本发明上述实施例,可以获取目标对象的第一参数,以及虚拟角色的第二参数,进一步根据第一参数确定目标对象运动至目标位置的第一时间,并根据第一时间和第二时间的第一比较结果,确定是否控制虚拟角色拦截目标对象,从而实现足球游戏中的足球拦截的目的。与相关技术相比,通过计算目标对象和虚拟角色到达目标位置的运动时间,实现足球拦截,可以大大降低计算复杂度,提高处理效率,适用于手游端的足球游戏,进而解决了相关技术中游戏对象的处理方法复杂度较高的技术问题。
可选地,在本发明上述实施例中,根据第一时间和第二时间的第一比较结果,确定是否控制虚拟角色拦截目标对象包括:如果第一比较结果为第一时间大于或等于第二时间,则确定控制虚拟角色拦截目标对象;如果第一比较结果为第一时间小于第二时间,则确定禁止控制虚拟角色拦截目标对象。
在一种可选的实施例中,如果足球运动到该位置的时间比非操作球员运动到该位置的时间长,则表明非操作球员运动到该位置,而足球还未到达该位置,因此可以确定非操作球员可以拦截到足球;如果足球运动到该位置的时间比非操作球员运动到该位置的时间段,则表明足球运动到该位置,而非操作球员还未到达该位置,因此可以确定非操作球员无法拦截到足球。
可选地,在确定控制虚拟角色拦截目标对象之前,该方法还包括:基于目标对象在垂直面上的初始速度和时间结果,得到目标对象到达目标位置的目标高度;将目标高度与虚拟角色的最大跳跃高度进行比较,得到比较结果;基于比较结果,确定是否控制虚拟角色拦截目标对象。
上述的最大跳跃高度与上述实施例相同,在此不做赘述。
可选地,在本发明上述实施例中,在确定控制虚拟角色拦截目标对象之后,该方法还包括:获取目标对象的运动轨迹上的第一位置,其中,第一位置位于第一初始位置与目标位置之间;根据第一参数确定目标对象运动至第一位置的第三时间,并基于第二参数确定虚拟角色运动至第一位置的第四时间;根据第三时间和第四时间,确定虚拟角色的目标运动方向;控制虚拟角色按照目标运动方向运动,以使虚拟角色对目标对象进行拦截。
其中,根据第三时间和第四时间,确定虚拟角色的目标运动方向包括:获取第三时间和第四时间的时间差;如果时间差处于预设时间范围内,则确定虚拟角色至第一位置的方向为目标运动方向;如果时间差未处于预设时间范围内,则从第一位置与目标位置之间,或第一位置与第一初始位置之间重新获取一位置作为第一位置,直到目标对象运动至重新获取的第一位置的时间和虚拟角色运动至重新获取的第一位置的时间差在预设时间范围内,则确定虚拟角色至重新获取的第一位置的方向为目标运动方向。
上述的预设时间范围可以表征非操作球员能够拦截到足球,并且不同等待太久的时间范围,可以根据实际需要进行设定,本发明对此不作具体限定。如果足球的运动时间和球员的运动时间的时间差未处于该范围内,则可能是足球的运动时间比球员的运动时间大很多,也即,球员需要等待较长时间,也可能是足球的运动时间比球员的运动时间小,也即,球员无法拦截到足球。
在一种可选的实施例中,可以获取足球运动到该位置的时间和非操作球员运动到该位置的时间的时间差,并将时间差与预设时间范围进行比较,如果时间差处于预设时间范围之内,则可以确定球员与该位置的方相为目标运动方向。如果未处于预设时间范围之内,则确定需要重新确定一个新的位置,其中,如果足球运动到该位置的时间大于球员运动到该位置的时间,为了避免非操作球员需要等待较久的时间,并在足球到达该位置之后才能进行拦截,可以调整非操作球员的运动方向,增加非操作球员的运动时间而减少足球的运动时间,因此,可以在足球运动反方向(也即足球的初始位置和第一位置之间)上重新确定一个新的位置,并再次比较非操作球员和足球的运动时间,如果非操作球员的运动时间仍然较短,则继续重新确定一个新位置,直到非操作球员和足球的运动时间的时间差处于预设时间范围内,从而可以根据该位置确定非操作球员的运动方向。如果足球运动到该位置的时间小于球员运动到该位置的时间,也即非操作球员无法拦截到足球,则在足球运动方向(也即第一位置和目标位置之间)上重新确定一个新的位置,并再次比较非操作球员和足球的运动时间,直到非操作球员和足球的运动时间的时间差处于预设时间范围内。
需要说明的是,为了进一步提高处理效率,可以通过二分查找算法获取第一位置或第二位置。例如,如图4所示,第一次可以沿着数字1指示的方向运动,如果确定非操作球员到达的时间较短,则可以沿着数字2指示的方向运动,如果确定非操作球员到达的时间较长,则可以沿着数字3指示的方向运动,如果确定非操作球员到达的时间仍然较长,则可以沿着数字4指示的方向运动,如果确定非操作球员到达的时间较短,则可以沿着数字5指示的方向运动。
根据本发明实施例,还提供了一种虚拟角色的控制方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图5是根据本发明实施例的又一种虚拟角色的控制方法的流程图,如图5所示,该方法包括如下步骤:
步骤S502,在接收到客户端发送的操作指令之后,基于操作指令控制相应的控制角色对目标对象进行进攻操作,以使目标对象开始运动;
上述步骤中的客户端可以是球类游戏玩家的智能手机(包括:Android手机和IOS手机)、平板电脑、IPAD、掌上电脑等移动终端,可以是笔记本电脑、PC等计算机终端,在本发明实施例中,以智能手机为例进行说明。
对于球类游戏,球场上的所有球员可以划分为两个阵营,一个阵营的球员由玩家进行控制,另一个阵营的球员由游戏服务器进行控制,其中,由玩家控制的球员为操作球员或控制球员(即上述的控制角色),而由游戏服务器控制的球员为非操作球员(即上述的虚拟角色)。在本发明实施例中,以足球游戏为例进行说明。在足球游戏中,玩家可以自行控制自己阵营的任意一个球员,发动踢球、传球、射门等进攻操作,具体实现通过玩家对球员进行指定操作,客户端生成相应的操作指令并发送给游戏服务器,游戏服务器在接收到该操作指令之后,可以控制相应的球员运动,对足球执行相应的操作,使足球运动起来。
步骤S504,获取目标对象的第一参数,以及虚拟角色的第二参数,其中,虚拟角色与控制角色分别属于两个不同的阵营,第一参数包括目标对象在水平面上的初始速度和第一初始位置,以及目标对象在水平面上运动到达的多个目标位置,第二参数包括虚拟角色在水平面上的第二初始位置和预设的最大运动速度;
步骤S506,根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数;
步骤S508,根据时间函数获得目标对象和虚拟对象到达目标位置的时间结果;
步骤S510,根据时间结果数量确定是否控制虚拟角色对目标对象进行拦截,并返回控制结果至客户端。
玩家在控制球员发动进攻操作之后,游戏服务器需要控制另一方阵营的球员进行相应的拦截、抢断、扑救等防守操作,对足球进行拦截。为了能够实现拦截足球,游戏服务器可以获取足球的第一参数和非操作球员的第二参数,进一步通过构建好的时间函数确定是否控制非操作球员拦截足球。
在确定是否控制非操作球员拦截足球之后,可以返回控制结果给客户端,告知用户此次进攻是否被防守。上述步骤中的控制结果可以是基于非操作球员运动所生成的画面,更加直观地展示给玩家此次进攻失败。
可选地,在本发明上述实施例中,根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数,包括:根据第一参数,确定目标对象的第一轨迹方程;根据第二参数,确定虚拟角色的第二轨迹方程;获取目标对象的第一轨迹方程和虚拟角色的第二轨迹方程的交点,并根据交点确定目标位置;根据初始速度和第一初始位置,确定目标对象关于时间的轨迹函数;根据目标对象关于时间的轨迹函数和目标位置,得到时间函数。
可选地,在本发明上述实施例中,根据第二参数,确定虚拟角色的第二轨迹方程,包括:根据第二参数中的预设的最大运动速度和运动时间,确定虚拟角色的第一运动距离;根据第二参数中的第二初始位置和第一运动距离,确定第二轨迹方程。
可选地,在本发明上述实施例中,根据初始速度和第一初始位置,确定目标对象关于时间的轨迹函数,包括:根据初始速度和运动时间,确定目标对象的第二运动距离;根据第一初始位置和第二运动距离,确定目标对象关于时间的轨迹函数。
可选地,在本发明上述实施例中,根据时间结果数量,确定是否控制虚拟角色对目标对象进行拦截包括:如果时间结果的数量为0,则确定禁止控制虚拟角色拦截目标对象;如果时间结果的数量为1或2,则确定控制虚拟角色拦截目标对象;如果时间结果的数量为3或4,则对时间函数进行转换,并基于转换后的时间结果数量,确定是否控制虚拟角色拦截目标对象。
可选地,在本发明上述实施例中,对时间函数进行转换,包括:将时间函数中的时间参数置换为目标参数,其中,目标参数为时间参数的平方。
可选地,在本发明上述实施例中,在确定控制虚拟角色拦截目标对象之前,该方法还包括:基于目标对象在垂直面上的初始速度和时间结果,得到目标对象到达目标位置的目标高度;将目标高度与虚拟角色的最大跳跃高度进行比较,得到比较结果;基于比较结果,确定是否控制虚拟角色拦截目标对象。
其中,该方法还包括:在确定控制虚拟角色拦截目标对象之后,控制虚拟角色向目标位置运动,以使虚拟角色对目标对象进行拦截。
需要说明的是,本实施例中提供的优选实施方案与上述实施例中相关描述相同,在此不做赘述。
根据本发明实施例,提供了一种虚拟角色的控制装置。
图6是根据本发明实施例的一种虚拟角色的控制装置的示意图,如图6所示,该装置包括:
第一获取模块62,用于获取目标对象的第一参数,以及虚拟角色的第二参数,其中,第一参数包括目标对象在水平面上的初始速度和第一初始位置,以及目标对象在水平面上运动到达的多个目标位置,第二参数包括虚拟角色在水平面上的第二初始位置和预设的最大运动速度;
第一处理模块64,用于根据第一参数和第二参数,得到目标对象和虚拟对象以相同运动时间分别到达每个目标位置的时间函数;
第二处理模块66,用于根据时间函数获得目标对象和虚拟对象到达目标位置的时间结果;
第一确定模块68,用于根据时间结果数量,确定是否控制虚拟角色对目标对象进行拦截。
可选地,在本发明上述实施例中,第一处理模块包括:第一确定单元,用于根据第一参数,确定目标对象的第一轨迹方程;第二确定单元,用于根据第二参数,确定虚拟角色的第二轨迹方程;获取单元,用于获取目标对象的第一轨迹方程和虚拟角色的第二轨迹方程的交点,并根据交点确定目标位置;第三确定单元,用于根据初始速度和第一初始位置,确定目标对象关于时间的轨迹函数;处理单元,用于根据目标对象关于时间的轨迹函数和目标位置,得到时间函数。
可选地,在本发明上述实施例中,第二确定单元具体用于根据第二参数中的预设的最大运动速度和运动时间,确定虚拟角色的第一运动距离,根据第二参数中的第二初始位置和第一运动距离,确定第二轨迹方程。
可选地,在本发明上述实施例中,第三确定单元具体用于根据初始速度和运动时间,确定目标对象的第二运动距离,根据第一初始位置和第二运动距离,确定目标对象关于时间的轨迹函数。
可选地,在本发明上述实施例中,第一确定模块包括:第四确定单元,用于如果时间结果的数量为0,则确定禁止控制虚拟角色拦截目标对象;第五确定单元,用于如果时间结果的数量为1或2,则确定控制虚拟角色拦截目标对象;第六确定单元,用于如果时间结果的数量为3或4,则对时间函数进行转换,并基于转换后的时间结果数量,确定是否控制虚拟角色拦截目标对象。
可选地,第六确定单元具体用于将时间函数中的时间参数置换为目标参数,其中,目标参数为时间参数的平方。
可选地,在本发明上述实施例中,该装置还包括:第三处理模块,用于基于目标对象在垂直面上的初始速度和时间结果,得到目标对象到达目标位置的目标高度;比较模块,用于将目标高度与虚拟角色的最大跳跃高度进行比较,得到比较结果;第二确定模块,用于基于比较结果,确定是否控制虚拟角色拦截目标对象。
可选地,在本发明上述实施例中,该装置还包括:控制模块,用于在确定控制虚拟角色拦截目标对象之后,控制虚拟角色向目标位置运动,以使虚拟角色对目标对象进行拦截。
根据本发明实施例,还提供了一种虚拟角色的控制装置。
图7是根据本发明实施例的另一种虚拟角色的控制装置的示意图,如图7所示,该装置包括:
第一获取模块72,用于获取目标对象的第一参数和虚拟角色的第二参数,其中,第一参数包括目标对象在水平面上的初始速度和第一初始位置,第二参数包括虚拟对象在水平面上预设的最大运动速度和第二初始位置;
第一确定模块74,用于根据第一参数确定目标对象运动至目标位置的第一时间,并基于第二参数确定虚拟角色运动至目标位置的第二时间;
第二确定模块76,用于根据第一时间和第二时间的第一比较结果,确定是否控制虚拟角色拦截目标对象。
可选地,在本发明上述实施例中,第二确定模块具体用于如果第一比较结果为第一时间大于或等于第二时间,则确定控制虚拟角色拦截目标对象;如果第一比较结果为第一时间小于第二时间,则确定禁止控制虚拟角色拦截目标对象。
可选地,在本发明上述实施例中,该装置还包括:处理模块,用于基于目标对象在垂直面上的初始速度和时间结果,得到目标对象到达目标位置的目标高度;比较模块,用于将目标高度与虚拟角色的最大跳跃高度进行比较,得到比较结果;第三确定模块,用于基于比较结果,确定是否控制虚拟角色拦截目标对象。
可选地,在本发明上述实施例中,该装置还包括:第二获取模块,用于获取目标对象的运动轨迹上的第一位置,其中,第一位置位于第一初始位置与目标位置之间;第一确定模块还用于根据第一参数确定目标对象运动至第一位置的第三时间,并基于第二参数确定虚拟角色运动至第一位置的第四时间;第四确定模块,用于根据第三时间和第四时间,确定虚拟角色的目标运动方向;控制模块,用于控制虚拟角色按照目标运动方向运动,以使虚拟角色对目标对象进行拦截。
可选地,在本发明上述实施例中,第四确定模块包括:获取单元,用于获取第三时间和第四时间的时间差;第一确定单元,用于如果时间差处于预设时间范围内,则确定虚拟角色至第一位置的方向为目标运动方向;第二确定单元,用于如果时间差未处于预设时间范围内,则从第一位置与目标位置之间,或第一位置与第一初始位置之间重新获取一位置作为第一位置,直到目标对象运动至重新获取的第一位置的时间和虚拟角色运动至重新获取的第一位置的时间差在预设时间范围内,则确定虚拟角色至重新获取的第一位置的方向为目标运动方向。
根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例中的虚拟角色的控制方法。
根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例中的虚拟角色的控制方法。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RaM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种虚拟角色的控制方法,其特征在于,通过终端设备提供图形用户界面,所述图形用户界面包括游戏画面,其中,所述游戏画面中包括虚拟角色和目标对象,所述方法包括:
获取所述目标对象的第一参数,以及所述虚拟角色的第二参数,其中,所述第一参数包括所述目标对象在水平面上的初始速度和第一初始位置,以及所述目标对象在所述水平面上运动到达的多个目标位置,所述第二参数包括所述虚拟角色在所述水平面上的第二初始位置和预设的最大运动速度;
根据所述第一参数和所述第二参数,得到所述目标对象和所述虚拟角色以相同运动时间分别到达每个目标位置的时间函数;
根据所述时间函数获得所述目标对象和所述虚拟角色到达目标位置的时间结果,其中,所述时间结果用于表征所述目标对象和所述虚拟角色分别从所述第一初始位置和所述第二初始位置到达所述目标位置的时长;
根据所述时间结果的数量,确定是否控制所述虚拟角色对所述目标对象进行拦截;
其中,根据所述第一参数和所述第二参数,得到所述目标对象和所述虚拟角色以相同运动时间分别到达所述每个目标位置的时间函数,包括:根据所述第一参数,确定所述目标对象的第一轨迹方程;根据所述第二参数,确定所述虚拟角色的第二轨迹方程;获取所述目标对象的第一轨迹方程和所述虚拟角色的第二轨迹方程的交点,并根据所述交点确定所述目标位置;根据所述初始速度和所述第一初始位置,确定所述目标对象关于时间的轨迹函数;根据所述目标对象关于时间的轨迹函数和所述目标位置,得到所述时间函数。
2.根据权利要求1所述的方法,其特征在于,根据所述第二参数,确定所述虚拟角色的第二轨迹方程,包括:
根据所述第二参数中的预设的最大运动速度和所述运动时间的积,确定所述虚拟角色的第一运动距离;
根据所述第二参数中的第二初始位置和所述第一运动距离,确定所述第二轨迹方程。
3.根据权利要求1所述的方法,其特征在于,根据所述初始速度和所述第一初始位置,确定所述目标对象关于时间的轨迹函数,包括:
根据所述初始速度、速度的衰减因素和所述运动时间,确定所述目标对象的第二运动距离;
根据所述第一初始位置和所述第二运动距离,确定所述目标对象关于时间的轨迹函数。
4.根据权利要求1所述的方法,其特征在于,所述第一轨迹方程为直线方程,所述第二轨迹方程为圆的方程。
5.根据权利要求2所述的方法,其特征在于,所述第二轨迹方程为以所述第二初始位置为圆心,以所述第一运动距离为半径的圆的方程。
6.根据权利要求1所述的方法,其特征在于,根据所述时间结果的数量,确定是否控制所述虚拟角色对所述目标对象进行拦截包括:
如果所述时间结果的数量为0,则确定禁止控制所述虚拟角色拦截所述目标对象;
如果所述时间结果的数量为1或2,则确定控制所述虚拟角色拦截所述目标对象;
如果所述时间结果的数量为3或4,则对所述时间函数进行转换,并基于转换后的时间结果的数量,确定是否控制所述虚拟角色拦截所述目标对象。
7.根据权利要求6所述的方法,其特征在于,所述对所述时间函数进行转换,包括:
将所述时间函数中的时间参数置换为目标参数,其中,所述目标参数为所述时间参数的平方。
8.根据权利要求1所述的方法,其特征在于,在确定控制所述虚拟角色拦截所述目标对象之前,所述方法还包括:
基于所述目标对象在垂直面上的初始速度和所述时间结果,得到所述目标对象到达所述目标位置的目标高度;
将所述目标高度与所述虚拟角色的最大跳跃高度进行比较,得到比较结果;
基于所述比较结果,确定是否控制所述虚拟角色拦截所述目标对象。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定控制所述虚拟角色拦截所述目标对象之后,控制所述虚拟角色向所述目标位置运动,以使所述虚拟角色对所述目标对象进行拦截。
10.一种虚拟角色的控制方法,其特征在于,通过终端设备提供图形用户界面,所述图形用户界面包括游戏画面,其中,所述游戏画面中包括虚拟角色和目标对象,所述方法包括:
获取所述目标对象的第一参数和所述虚拟角色的第二参数,其中,所述第一参数包括所述目标对象在水平面上的初始速度和第一初始位置,所述第二参数包括所述虚拟角色在水平面上预设的最大运动速度和第二初始位置;
根据所述第一参数确定所述目标对象运动至目标位置的第一时间,并基于所述第二参数确定所述虚拟角色运动至所述目标位置的第二时间;
根据所述第一时间和所述第二时间的第一比较结果,确定是否控制所述虚拟角色拦截所述目标对象;
在确定控制所述虚拟角色拦截所述目标对象之后,所述方法还包括:获取所述目标对象的运动轨迹上的第一位置,其中,所述第一位置位于所述第一初始位置与所述目标位置之间;根据所述第一参数确定所述目标对象运动至所述第一位置的第三时间,并基于所述第二参数确定所述虚拟角色运动至所述第一位置的第四时间;根据所述第三时间和所述第四时间,确定所述虚拟角色的目标运动方向;控制所述虚拟角色按照目标运动方向运动,以使所述虚拟角色对所述目标对象进行拦截;
根据所述第三时间和所述第四时间,确定所述虚拟角色的目标运动方向包括:获取所述第三时间和所述第四时间的时间差;如果所述时间差处于预设时间范围内,则确定所述虚拟角色至所述第一位置的方向为所述目标运动方向;如果所述时间差未处于预设时间范围内,则从所述第一位置与所述目标位置之间,或所述第一位置与所述第一初始位置之间重新获取一位置作为新的第一位置,直到所述目标对象运动至重新获取的新的第一位置的时间和所述虚拟角色运动至所述重新获取的新的第一位置的时间的时间差在所述预设时间范围内,则确定所述虚拟角色至所述重新获取的新的第一位置的方向为所述目标运动方向。
11.根据权利要求10所述的方法,其特征在于,根据所述第一时间和所述第二时间的第一比较结果,确定是否控制所述虚拟角色拦截所述目标对象包括:
如果所述第一比较结果为所述第一时间大于或等于所述第二时间,则确定控制所述虚拟角色拦截所述目标对象;
如果所述第一比较结果为所述第一时间小于所述第二时间,则确定禁止控制所述虚拟角色拦截所述目标对象。
12.根据权利要求10所述的方法,其特征在于,在确定控制所述虚拟角色拦截所述目标对象之前,所述方法还包括:
基于所述目标对象在垂直面上的初始速度和所述第一时间,得到所述目标对象到达所述目标位置的目标高度;
将所述目标高度与所述虚拟角色的最大跳跃高度进行比较,得到比较结果;
基于所述比较结果,确定是否控制所述虚拟角色拦截所述目标对象。
13.根据权利要求10所述的方法,其特征在于,通过二分查找算法获取所述第一位置。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至13中任意一项所述的虚拟角色的控制方法。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至13中任意一项所述的虚拟角色的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010220205.6A CN111389004B (zh) | 2020-03-25 | 2020-03-25 | 虚拟角色的控制方法、存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010220205.6A CN111389004B (zh) | 2020-03-25 | 2020-03-25 | 虚拟角色的控制方法、存储介质及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111389004A CN111389004A (zh) | 2020-07-10 |
CN111389004B true CN111389004B (zh) | 2023-05-26 |
Family
ID=71417317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010220205.6A Active CN111389004B (zh) | 2020-03-25 | 2020-03-25 | 虚拟角色的控制方法、存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111389004B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111803959B (zh) * | 2020-07-21 | 2022-05-31 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、游戏服务器及介质 |
CN112426717B (zh) * | 2020-09-21 | 2024-10-11 | 成都完美天智游科技有限公司 | 生成帧数据的方法及装置、存储介质、计算机设备 |
CN112426719B (zh) * | 2020-11-27 | 2024-05-10 | 网易(杭州)网络有限公司 | 一种足球游戏控制方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109550242A (zh) * | 2018-11-19 | 2019-04-02 | 网易(杭州)网络有限公司 | 游戏中虚拟角色的控制方法和装置 |
CN109821238A (zh) * | 2019-03-29 | 2019-05-31 | 网易(杭州)网络有限公司 | 游戏中的瞄准方法及装置、存储介质、电子装置 |
CN109847361A (zh) * | 2019-02-27 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 运动状态的同步方法和装置、存储介质、电子装置 |
-
2020
- 2020-03-25 CN CN202010220205.6A patent/CN111389004B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109550242A (zh) * | 2018-11-19 | 2019-04-02 | 网易(杭州)网络有限公司 | 游戏中虚拟角色的控制方法和装置 |
CN109847361A (zh) * | 2019-02-27 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 运动状态的同步方法和装置、存储介质、电子装置 |
CN109821238A (zh) * | 2019-03-29 | 2019-05-31 | 网易(杭州)网络有限公司 | 游戏中的瞄准方法及装置、存储介质、电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111389004A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102688040B1 (ko) | 가상 객체 컨트롤 방법 및 장치, 디바이스 및 저장 매체 | |
CN111389004B (zh) | 虚拟角色的控制方法、存储介质及处理器 | |
KR102397507B1 (ko) | 비디오 게임에서 자동 플레이어 제어의 인계 | |
KR102629359B1 (ko) | 가상 객체 공격 프롬프트 방법 및 장치, 그리고 단말 및 저장 매체 | |
CN108022301A (zh) | 一种图像处理方法、装置以及存储介质 | |
US11836841B2 (en) | Animation video processing method and apparatus, electronic device, and storage medium | |
CN112807681B (zh) | 游戏控制方法、装置、电子设备及存储介质 | |
CN110465087B (zh) | 虚拟物品的控制方法、装置、终端及存储介质 | |
WO2010004787A1 (ja) | ゲームシステム、ゲーム装置の制御方法、プログラム及び情報記憶媒体 | |
EP3025769A1 (en) | Image processing program, server device, image processing system, and image processing method | |
US20230330530A1 (en) | Prop control method and apparatus in virtual scene, device, and storage medium | |
US20230057151A1 (en) | Virtual object control method and apparatus, device, storage medium, and program product | |
US20230030619A1 (en) | Method and apparatus for displaying aiming mark | |
CN115430153A (zh) | 虚拟环境中的碰撞检测方法、装置、设备、介质及程序 | |
CN114225413A (zh) | 碰撞检测方法、装置、电子设备和存储介质 | |
CN113694515B (zh) | 界面显示方法、装置、终端及存储介质 | |
US11691072B2 (en) | Aiming display automation for head mounted display applications | |
CN112791418B (zh) | 拍摄对象的确定方法、装置、电子设备及存储介质 | |
US20230338845A1 (en) | Game processing method and recording medium | |
US20240325921A1 (en) | Real-time interactable environment geometry detection | |
CN117982892A (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN118416471A (zh) | 虚拟场景中的投球方法、装置、设备、介质及程序产品 | |
CN116116001A (zh) | 虚拟对象的控制方法、装置、终端设备及存储介质 | |
CN117479985A (zh) | 计算机程序、用于该计算机程序的游戏系统和控制方法 | |
EP4433181A1 (en) | Heads up display in virtual reality |
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 |