CN110721470A - 虚拟对象移动行为的控制方法、装置及电子设备 - Google Patents
虚拟对象移动行为的控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110721470A CN110721470A CN201911027894.2A CN201911027894A CN110721470A CN 110721470 A CN110721470 A CN 110721470A CN 201911027894 A CN201911027894 A CN 201911027894A CN 110721470 A CN110721470 A CN 110721470A
- Authority
- CN
- China
- Prior art keywords
- virtual object
- state vector
- movement
- virtual
- result
- 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.)
- Granted
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- 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/822—Strategy games; Role-playing games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Feedback Control In General (AREA)
Abstract
本发明提供了一种虚拟对象移动行为的控制方法、装置及电子设备,涉及人机交互技术领域,包括:获取与第一虚拟对象具有干扰关系的第二虚拟对象;获取第一虚拟对象的第一状态向量和第二虚拟对象的第二状态向量;基于第一状态向量、第二状态向量和预先训练得到的神经网络模型,预测第一虚拟对象的目标移动结果,目标移动结果包括目标移动方向角和与目标移动方向角对应的目标移动速度;根据预测的目标移动结果控制第一虚拟对象移动。本发明能够改善虚拟对象之间移动交互的自然度,有效提升第一虚拟对象在移动平滑度、社会规则一致度、自然度等方面的表现效果。
Description
技术领域
本发明涉及人机交互技术领域,尤其是涉及一种虚拟对象移动行为的控制方法、装置及电子设备。
背景技术
当前市面上的诸如游戏人物、游戏车辆等虚拟对象在移动交互时,大多是由行为树等规则定义移动方法。该方法在具体实现时,通常是采用碰撞回避算法来避免虚拟对象在移动交互过程中发生碰撞;典型的例如在RTS(Real-Time Strategy Game,即时战略游戏)游戏中,以一定速度移动的游戏人物采用基于ORCA(Optimal Reciprocal CollisionAvoidance,最佳相互避免碰撞)的相关算法绕开友军的阻挡以实现碰撞回避。
但是,由于需要多个碰撞回避算法才能够满足虚拟对象之间不发生碰撞,所以算法之间会产生矛盾,导致碰撞回避算法在虚拟对象的移动交互过程中表现效果较差,虚拟对象的移动存在抖动、生硬、不符合社会规则等不自然情况。
发明内容
本发明的目的在于提供虚拟对象移动行为的控制方法、装置及电子设备,可以有效改善虚拟对象运动状态不自然的问题。
本发明提供的一种虚拟对象移动行为的控制方法,所述方法包括:获取与第一虚拟对象具有干扰关系的第二虚拟对象;获取第一虚拟对象的第一状态向量和所述第二虚拟对象的第二状态向量;其中,所述第一状态向量为表征所述第一虚拟对象当前移动行为的参数,所述第二状态向量为表征所述第二虚拟对象当前移动行为的参数;基于所述第一状态向量、所述第二状态向量和预先训练得到的神经网络模型,预测所述第一虚拟对象的目标移动结果,所述目标移动结果包括目标移动方向角和与所述目标移动方向角对应的目标移动速度;所述神经网络模型包括长短期记忆网络LSTM和至少两个全连接层FC;根据预测的所述目标移动结果控制所述第一虚拟对象移动。
进一步的,获取与第一虚拟对象具有干扰关系的第二虚拟对象的步骤,包括以下之一:将除第一虚拟对象之外的虚拟对象,确定为与所述第一虚拟对象具有干扰关系的第二虚拟对象;将与第一虚拟对象相距预设距离的虚拟对象,确定为与所述第一虚拟对象具有干扰关系的第二虚拟对象。
进一步的,获取与第一虚拟对象具有干扰关系的第二虚拟对象的步骤,包括:统计第一虚拟对象所在区域内的其它虚拟对象的总数量;其中,所述其它虚拟对象为所述区域内除第一虚拟对象之外的虚拟对象;如果所述总数量大于预设数值,计算第一虚拟对象与所述其它虚拟对象间的距离,根据计算出的所述距离确定与所述第一虚拟对象具有干扰关系的第二虚拟对象;如果所述总数量不大于预设数值,将所述其它虚拟对象均确定为与所述第一虚拟对象具有干扰关系的第二虚拟对象。
进一步的,根据计算出的所述距离确定与所述第一虚拟对象具有干扰关系的第二虚拟对象的步骤,包括:按照计算出的所述距离的大小对所述其它虚拟对象排序,从所述距离最小的其它虚拟对象开始,选取预设数值个所述其它虚拟对象作为与所述第一虚拟对象具有干扰关系的第二虚拟对象;或者,将计算出的所述距离小于预设距离阈值的所述其它虚拟对象,确定为与所述第一虚拟对象具有干扰关系的第二虚拟对象。
进一步的,所述第一虚拟对象所在区域包括:图形用户界面的显示区域,或者,与所述第一虚拟对象的当前位置相距预设半径的圆形区域,或者,与第一虚拟对象的当前位置满足指定条件的区域。
进一步的,基于所述第一状态向量、所述第二状态向量和预先训练得到的神经网络模型,预测所述第一虚拟对象的目标移动结果的步骤,包括:将所述第一状态向量和所述第二状态向量输入至所述LSTM;通过所述LSTM对所述第一状态向量和所述第二状态向量进行处理,得到合并状态向量,并将所述合并状态向量输入至与所述LSTM相连的所述FC;通过至少两个所述FC对所述合并状态向量进行非线性映射处理,得到所述第一虚拟对象的多个运动方向角的概率分布向量和与各所述运动方向角的概率分布向量对应的运动速度;将最大的运动方向角的概率分布向量确定为目标移动方向角,以及将与最大的所述运动方向角的概率分布向量对应的运动速度确定为目标移动速度。
进一步的,通过所述LSTM对所述第一状态向量和所述第二状态向量进行处理,得到合并状态向量的步骤,包括:通过所述LSTM对所述第二状态向量进行编码,得到隐藏状态向量;将所述隐藏状态向量与所述第一状态向量进行拼接,得到合并状态向量。
进一步的,将所述第二状态向量输入至所述LSTM的步骤,包括:获取各个所述第二虚拟对象与所述第一虚拟对象之间的第一距离;将获取的所述第一距离按照由大到小排序,得到降序排序结果;按照所述降序排序结果将各个所述第二虚拟对象的第二状态向量依次输入至所述LSTM。
进一步的,所述第一状态向量包括:所述第一虚拟对象与预设的终点位置之间的第二距离、所述第一虚拟对象的第一半径、所述第一虚拟对象的当前移动方向角以及所述第一虚拟对象的第一当前移动速度;所述第二状态向量包括:所述第二虚拟对象的当前位置坐标、所述第二虚拟对象的第二当前移动速度、所述第二虚拟对象的第二半径、所述第二虚拟对象与所述第一虚拟对象之间的第三距离以及所述第一半径和所述第二半径之和。
进一步的,根据预测的所述目标移动结果控制所述第一虚拟对象移动的步骤,包括:根据预测的所述目标移动结果和预设的全局寻路算法控制所述第一虚拟对象移动;其中,所述全局寻路算法包括A星算法。
进一步的,所述神经网络模型的训练过程包括:将指定数量的运动状态样本输入至初始神经网络模型;其中,所述运动状态样本包括用于训练的第三虚拟对象的第三状态向量、与所述第三虚拟对象具有干扰关系的第四虚拟对象的第四状态向量以及所述第三虚拟对象的基准移动结果;通过所述初始神经网络模型基于所述第三状态向量、所述第四状态向量对所述第三虚拟对象的移动行为进行预测,得到所述第三虚拟对象的预测移动结果;根据所述基准移动结果和所述预测移动结果向所述初始神经网络模型反馈奖励值;根据反馈的所述奖励值对所述初始神经网络模型的参数进行调整,并重复上述训练过程,直至反馈的所述奖励值收敛至预设值时结束训练。
进一步的,根据所述基准移动结果和所述预测移动结果向所述初始神经网络模型反馈奖励值的步骤,包括:
其中,R(Sjn)为反馈的奖励值,S表示所述第三状态向量,表示所述第四状态向量,X表示第一预设值,Y表示第二预设值,λ表示预设的奖励系数,p表示所述第三虚拟对象的当前位置,pg表示所述第三虚拟对象移动的终点位置,dmin为所述第三虚拟对象与所述第四虚拟对象之间的距离最小值,d0为预设的所述第三虚拟对象与所述第四虚拟对象之间的安全距离阈值。
本发明提供的一种虚拟对象移动行为的控制装置,所述装置包括:对象获取模块,用于获取与第一虚拟对象具有干扰关系的第二虚拟对象;状态向量获取模块,用于获取第一虚拟对象的第一状态向量和所述第二虚拟对象的第二状态向量;其中,所述第一状态向量为表征所述第一虚拟对象当前移动行为的参数,所述第二状态向量为表征所述第二虚拟对象当前移动行为的参数;移动结果预测模块,用于基于所述第一状态向量、所述第二状态向量和预先训练得到的神经网络模型,预测所述第一虚拟对象的目标移动结果,所述目标移动结果包括目标移动方向角和与所述目标移动方向角对应的目标移动速度;所述神经网络模型包括LSTM和至少两个全连接层FC;移动行为控制模块,用于根据预测的所述目标移动结果控制所述第一虚拟对象移动。
本发明提供的一种电子设备,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运动时执行上述任一项所述的虚拟对象移动行为的控制方法。
本发明提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运动时执行上述任一项所述的虚拟对象移动行为的控制方法的步骤。
本发明实施例提供的虚拟对象移动行为的控制方法、装置及电子设备,通过首先获取与第一虚拟对象具有干扰关系的第二虚拟对象,并获取第一虚拟对象的第一状态向量和第二虚拟对象的第二状态向量;其中,第一状态向量为表征第一虚拟对象当前移动行为的参数,第二状态向量为表征第二虚拟对象当前移动行为的参数;然后基于第一状态向量、第二状态向量和预先训练得到的神经网络模型,预测第一虚拟对象的目标移动结果,目标移动结果包括目标移动方向角和与目标移动方向角对应的目标移动速度;最后根据预测的目标移动结果控制第一虚拟对象移动。相对于现有基于多个碰撞回避算法的移动交互方式中,因算法间的矛盾导致的移动交互不自然的问题,本实施例提供的上述虚拟对象移动行为的控制方式,通过第一虚拟对象的第一状态向量、与第一虚拟对象具有干扰关系的第二虚拟对象的第二状态向量和神经网络模型对第一虚拟对象的移动行为进行预测,不需要任何碰撞回避算法即可预测虚拟对象的移动行为,避免了算法之间的相互影响,从而能够改善虚拟对象之间移动交互的自然度;进一步的,基于预测得到的移动结果能够有效提升第一虚拟对象在移动平滑度、社会规则一致度、自然度等方面的表现效果。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的虚拟对象移动行为的控制方法流程图;
图2为本发明实施例提供的神经网络模型的结构示意图;
图3为本发明实施例提供的LSTM的结构示意图;
图4为本发明实施例提供的虚拟对象对向移动的场景示意图;
图5为本发明实施例提供的虚拟对象绕圆心移动的场景示意图;
图6为本发明实施例提供的虚拟对象模拟十字路线移动的场景示意图;
图7为本发明实施例提供的存在静止障碍物的场景示意图;
图8为本发明实施例提供的虚拟对象移动行为的控制装置的结构框图;
图9为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有基于碰撞回避算法所实现的虚拟对象移动交互中,存在移动抖动、生硬、不符合社会规则等不自然情况,本发明实施例提供了一种虚拟对象移动行为的控制方法、装置以及电子设备,可以改善虚拟对象之间移动交互的自然度,有效提升第一虚拟对象在移动平滑度、社会规则一致度、自然度等方面的表现效果。该技术可以应用于诸如战术竞技、RTS的游戏等需要控制游戏人物移动的虚拟游戏场景中;例如在一种可能的应用中,该技术可以应用于从图形用户界面上控制虚拟对象移动的游戏场景;该图形用户界面可以为呈现于手机、游戏机或iPad等游戏终端上的界面。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种虚拟对象移动行为的控制方法进行详细介绍。
参照图1所示的虚拟对象移动行为的控制方法流程图,该方法主要包括如下步骤S102至步骤S108:
步骤S102,获取与第一虚拟对象具有干扰关系的第二虚拟对象。
在本实施例中,获取游戏中的第一虚拟对象以及与第一虚拟对象具有干扰关系的第二虚拟对象,或者还可选的是获取图形用户界面上与第一虚拟对象具有干扰关系的第二虚拟对象。第一虚拟对象和第二虚拟对象均为游戏场景中的虚拟对象,且该虚拟对象既包括不受用户操控的非玩家角色虚拟对象,还包括受用户操控的角色虚拟对象。当有多个虚拟对象时,其中任一个虚拟对象均可作为第一虚拟对象,且对于当前的第一虚拟对象,可以从除了当前的第一虚拟对象之外的其它虚拟对象中选取至少一个虚拟对象作为与之具有干扰关系的第二虚拟对象。该干扰关系可理解为:基于第一虚拟对象与第二虚拟对象的移动行为特征而确定的彼此交互和互相感知、影响的关系。
步骤S104,获取第一虚拟对象的第一状态向量和第二虚拟对象的第二状态向量;其中,第一状态向量为表征第一虚拟对象当前移动行为的参数,第二状态向量为表征第二虚拟对象当前移动行为的参数。
在实际应用中,第一状态向量可以通过诸如第一虚拟对象的当前移动方向角以及第一虚拟对象的第一当前移动速度等参数,以表征第一虚拟对象当前移动行为;第二状态向量包括:第二状态向量可以通过诸如第二虚拟对象的当前位置坐标、第二虚拟对象的第二当前移动速度以及第二虚拟对象与第一虚拟对象之间的距离等参数,以表征第二虚拟对象当前移动行为。
步骤S106,基于第一状态向量、第二状态向量和预先训练得到的神经网络模型,预测第一虚拟对象的目标移动结果,目标移动结果包括目标移动方向角和与目标移动方向角对应的目标移动速度。
在一种可能的实现方式中,可参照如图2所示的神经网络模型的结构示意图,神经网络模型包括LSTM(Long Short-Term Memory,长短期记忆网络)和至少两个FC(FullyConnected layer,全连接层)。其中,LSTM的输入为第一状态向量S和第二状态向量LSTM的输出为合并状态向量Se;至少两个FC的输入为合并状态向量Se,至少两个FC的输出为移动结果。该移动结果中的移动方向角π(s)为多个,表示沿各方向角s发生移动的概率,移动速度V(s)为多个,表示沿各方向角s发生移动的速度大小;上述的方向角s可以在0至180°、0至360°等角度范围设置多个,对应的,每个方向角s均对应有一个移动方向角π(s)和一个移动速度V(s)。在实际应用中,通常将概率值最大的移动方向角π(s)确定为目标移动方向角,将与该目标移动方向角对应的移动速度V(s)确定为目标移动速度。
步骤S108,根据预测的目标移动结果控制第一虚拟对象移动。在实际游戏场景中,根据目标移动方向角和目标移动速度控制第一虚拟对象向着目的地移动。
本发明实施例提供的虚拟对象移动行为的控制方法,通过首先获取与第一虚拟对象具有干扰关系的第二虚拟对象,并获取第一虚拟对象的第一状态向量和第二虚拟对象的第二状态向量;其中,第一状态向量为表征第一虚拟对象当前移动行为的参数,第二状态向量为表征第二虚拟对象当前移动行为的参数;然后基于第一状态向量、第二状态向量和预先训练得到的神经网络模型,预测第一虚拟对象的目标移动结果,目标移动结果包括目标移动方向角和与目标移动方向角对应的目标移动速度;最后根据预测的目标移动结果控制第一虚拟对象移动。相对于现有基于多个碰撞回避算法的移动交互方式中,因算法间的矛盾导致的移动交互不自然的问题,本实施例提供的上述虚拟对象移动行为的控制方式,通过第一虚拟对象的第一状态向量、与第一虚拟对象具有干扰关系的第二虚拟对象的第二状态向量和神经网络模型对第一虚拟对象的移动行为进行预测,不需要任何碰撞回避算法即可预测虚拟对象的移动行为,避免了算法之间的相互影响,从而能够改善虚拟对象之间移动交互的自然度;进一步的,基于预测得到的移动结果能够有效提升第一虚拟对象在移动平滑度、社会规则一致度、自然度等方面的表现效果。
在执行上述步骤S102时,可参照以下两种方式之一以获取与第一虚拟对象具有干扰关系的第二虚拟对象:
方式一:将除第一虚拟对象之外的虚拟对象,确定为与第一虚拟对象具有干扰关系的第二虚拟对象。该方式适用于虚拟对象数量较少的场景,诸如在当前的游戏场景中,虚拟对象的数量少于预设数量(如10个),可以直接将除第一虚拟对象之外的虚拟对象确定为第二虚拟对象,该确定第二虚拟对象的方式比较简单。
方式二:将与第一虚拟对象相距预设距离的虚拟对象,确定为与第一虚拟对象具有干扰关系的第二虚拟对象。当虚拟对象较多,诸如在当前的游戏场景中,虚拟对象的数量多于预设数量,如果将除第一虚拟对象之外的虚拟对象确定为第二虚拟对象,将造成较大的运算负担,且与第一虚拟对象距离较远的其它虚拟对象对第一虚拟对象的移动交互影响较小,在实际应用中可以忽略;在此情况下,可以将与第一虚拟对象的相距距离小于或等于预设距离的虚拟对象确定为第二虚拟对象。该方式通过确定对第一虚拟对象有较大影响性的第二虚拟对象,可以减少后续移动行为预测的运算量,提升移动结果预测的准确性。
可以理解的是,在实际应用中除了以上两种获取第二虚拟对象的方式,还可以采用如下所示的另一种实现方式,参照如下步骤1)至步骤3):
1)统计第一虚拟对象所在区域内的其它虚拟对象的总数量;其中,其它虚拟对象为区域内除第一虚拟对象之外的虚拟对象。第一虚拟对象所在区域包括:图形用户界面的显示区域,或者,与第一虚拟对象的当前位置相距预设半径的圆形区域,或者,与第一虚拟对象的当前位置满足指定条件的区域。对于第一虚拟对象所在区域为圆形区域的场景,可以是将第一虚拟对象作为中心点、基于该中心点和预设半径确定圆形区域,将确定的圆形区域作为上述区域。在实际应用中,第一虚拟对象所在区域还可以采用其它形式,在此不做限制,诸如:将第一虚拟对象作为顶点、基于该顶点以及预设的长和宽确定矩形区域,将确定的矩形区域作为上述区域。
2)如果总数量大于预设数值,计算第一虚拟对象与其它虚拟对象间的距离,根据计算出的距离确定与第一虚拟对象具有干扰关系的第二虚拟对象。
本实施例中,可以首先分别获取第一虚拟对象与其它虚拟对象的位置坐标,然后再根据获取到的位置坐标计算第一虚拟对象与其它虚拟对象间的距离。
在根据计算出的距离确定第二虚拟对象时,可以按照计算出的距离的大小对其它虚拟对象排序,从距离最小的其它虚拟对象开始,选取预设数值个其它虚拟对象作为与第一虚拟对象具有干扰关系的第二虚拟对象;诸如选取与第一虚拟对象距离最近的前十个虚拟对象,将选取的前十个虚拟对象作为第二虚拟对象。
或者,还可以将计算出的距离小于预设距离阈值的其它虚拟对象,确定为与第一虚拟对象具有干扰关系的第二虚拟对象。该方式在具体实现时可参照上述的方式二,在此不再赘述。
3)如果总数量不大于预设数值,将其它虚拟对象均确定为与第一虚拟对象具有干扰关系的第二虚拟对象。
基于获取的与第一虚拟对象具有干扰关系的第二虚拟对象,可以进一步获取第一虚拟对象的第一状态向量和第二虚拟对象的第二状态向量。在本实施例中,第一状态向量可以表示为其中,dg表示第一虚拟对象与预设的终点位置之间的第二距离、r表示第一虚拟对象的第一半径、表示第一虚拟对象的当前移动方向角以及Vpref表示第一虚拟对象的第一当前移动速度;第二状态向量可以表示为其中,表示第二虚拟对象的当前位置坐标、表示第二虚拟对象的第二当前移动速度、表示第二虚拟对象的第二半径、表示第二虚拟对象与第一虚拟对象之间的第三距离以及表示第一半径和第二半径之和。相对于现有技术中不考虑虚拟对象体积导致的穿模问题,本实施例通过在第一状态向量中考虑第一虚拟对象的第一半径r,在第二状态向量中考虑第二虚拟对象的第二半径以及第一半径和第二半径之和能够有效避免虚拟对象在移动过程中的穿模现象。
上述实施例所提供的虚拟对象移动行为的控制方法是一个递归的过程,也即通过步骤S108控制第一虚拟对象移动第n-1(n>1)步后,继续采用上述步骤S102至步骤S108控制第一虚拟对象移动第n步。基于此,在控制虚拟对象移动第n步的过程中,上述第一状态向量和第二状态向量中的各项参数可以根据虚拟对象在移动第n-1步时预测到的目标移动结果确定。比如,在控制虚拟对象移动第n步的过程中,将第一虚拟对象在移动第n-1步过程中预测到的概率值最大的移动方向角π(s)确定为第一虚拟对象的当前移动方向角
基于第一状态向量、第二状态向量和预先训练得到的神经网络模型,本实施例提供一种第一虚拟对象的目标移动结果的预测方法,结合图2,该方法可参照如下步骤(1)至步骤(4)所示:
(1)将第一状态向量和第二状态向量输入至LSTM。
在本实施例中,可以认为LSTM包括LSTM部分和向量拼接部分;在具体实现时,将第二状态向量输入至LSTM部分,将第一状态向量输入至向量拼接部分。
考虑到实际应用中第二状态向量为多个,且距离第一虚拟对象越近的第二虚拟对象对第一虚拟对象的移动行为产生的影响越大,基于此,为了增强第一虚拟对象与第二虚拟对象之间的交互性,以提升移动行为预测结果的准确性,本实施例在执行将第二状态向量输入至LSTM部分的步骤时,可以首先获取各个第二虚拟对象与第一虚拟对象之间的第二距离;然后将获取的第二距离按照由大到小排序,得到降序排序结果;最后按照降序排序结果将各个第二虚拟对象的第二状态向量依次输入至LSTM。
(2)通过LSTM对第一状态向量和第二状态向量进行处理,得到合并状态向量,并将合并状态向量输入至与LSTM相连的FC。参照如图3所示的LSTM的结构示意图,按照第二距离由大到小的排序结果,将第二虚拟对象的第二状态向量按顺序依次输入至LSTM的各层细胞中。通过LSTM对第二状态向量进行编码,得到隐藏状态向量。具体的,通过第一层细胞基于本层输入的得到隐藏向量h1,通过第一层细胞基于本层输入的得到隐藏向量h2,以此类推,hn是基于本层细胞输入的第二状态向量和上一层的隐藏状态hn-1得到的。基于多个第二状态向量编码得到的隐藏状态向量hn能够具有每个第二虚拟对象的特征,且通过由大到小的排序使得与第一虚拟对象最近的第二虚拟对象对隐藏状态向量hn产生最大的影响,从而有助于提升预测移动结果的准确性。
在本实施例中,由于第二虚拟对象为与第一虚拟对象具有干扰关系的对象,能够体现出第一虚拟对象与第二虚拟对象之间的社会感知特征,因此,可以将最终得到的隐藏状态向量称为社会感知向量。
在向量拼接部分中,将隐藏状态向量hn与第一状态向量S进行拼接,得到合并状态向量Se。具体的,可以将隐藏状态向量hn与第一状态向量S进行首尾拼接,诸如假设隐藏状态向量hn为五维向量,第一状态向量S为三维向量,则通过首尾拼接可得到八维的合并状态向量Se。
(3)通过至少两个FC对合并状态向量进行非线性映射处理,得到第一虚拟对象的多个运动方向角的概率分布向量π(s)和与各运动方向角的概率分布向量对应的运动速度V(s)。考虑到神经网络模型的层数越深或者输出维度越大,其拟合能力越强,为了使FC更好的解决非线性问题,以具有更强的拟合能力,FC包括至少两层且每层FC的维度可以为256。
(4)将最大的运动方向角的概率分布向量确定为目标移动方向角,以及将与最大的运动方向角的概率分布向量对应的运动速度确定为目标移动速度。
根于上述实施例预测得到的目标移动结果,本实施例可提供一种控制第一虚拟对象移动的实现方式,以使第一虚拟对象能够适应更大范围的移动场景,包括:根据预测的目标移动结果和预设的全局寻路算法控制第一虚拟对象移动;其中,全局寻路算法包括A星算法。
在实际应用中,可参照如下步骤1至步骤4控制第一虚拟对象移动:
步骤1,获取第一虚拟对象的当前位置和预设的终点位置。
步骤2,基于第一虚拟对象的当前位置和预设的终点位置之间的水平距离和垂直距离,确定寻路区域范围;其中,寻路区域范围为控制第一虚拟对象从当前位置移动至预设的终点位置过程中的移动路径范围。
步骤3,根据第一虚拟对象的当前位置以及预设的终点位置,采用A星算法在寻路区域范围内计算得到多个中间位置。
步骤4,中间初始位置将第一虚拟对象的当前位置和预设的终点位置所确定的移动路径划分为多个分段路径,对于每个分段路径,均采用上述实施例所提供的虚拟对象移动行为的控制方法中的步骤,以预测得到目标移动结果。可以理解,从第一虚拟对象的当前位置开始的每个分段路径,均可以按照预测得到目标移动结果控制第一虚拟对象移动,直至移动至预设的终点位置。
基于上述目标移动结果能够避免多个虚拟对象之间发生碰撞,基于A星算法能够减少寻路路径的长度,有效地降低计算量;进一步的,通过上述目标移动结果与预设的全局寻路算法相结合的方式能够有效提升第一虚拟对象在移动平滑度、社会规则一致度、自然度等方面的表现效果。
为了使神经网络模型可以直接应用于预测目标移动结果,需要事先训练该神经网络模型,神经网络模型的参数需要经过训练得到,对神经网络模型进行训练的目的,是最终确定可满足要求的参数。利用已训练得到的参数,神经网络模型能够得到预期的目标移动结果。本实施例给出了一种神经网络模型的训练方法,包括如下步骤A至步骤D:
步骤A、将指定数量的运动状态样本输入至初始神经网络模型;其中,运动状态样本包括用于训练的第三虚拟对象的第三状态向量、与第三虚拟对象具有干扰关系的第四虚拟对象的第四状态向量以及第三虚拟对象的基准移动结果。在实际训练中,可以先采用较少数量(如4个)的运动状态样本,以使基于此训练后的神经网络模型能够适用于虚拟对象较少的预测场景;然后再增加运动状态样本的数量,如增加至10个运动状态样本,以使基于此训练后的神经网络模型能够适用于虚拟对象较多的预测场景。
步骤B、通过初始神经网络模型基于第三状态向量、第四状态向量对第三虚拟对象的移动行为进行预测,得到第三虚拟对象的预测移动结果。
步骤C、根据基准移动结果和预测移动结果向初始神经网络模型反馈奖励值。
其中,反馈奖励值如下所示:
其中,R(Sjn)为反馈的奖励值,S表示第三状态向量,表示第四状态向量,X表示第一预设值,Y表示第二预设值,λ表示预设的奖励系数,p表示第三虚拟对象的当前位置,pg表示第三虚拟对象移动的终点位置,dmin为第三虚拟对象与第四虚拟对象之间的距离最小值,d0为预设的第三虚拟对象与第四虚拟对象之间的安全距离阈值。
在实际应用中,当上述奖励值中X具体取值为0.25、Y具体取值为0.1和λ具体取值为0.05时,神经网络模型的训练效果较好,参照如下表示方式:
步骤D、根据反馈的奖励值对初始神经网络模型的参数进行调整,并重复上述训练过程,直至反馈的奖励值收敛至预设值时结束训练。
通过上述实施例所提供的虚拟对象移动行为的控制方法,能够实现虚拟对象社会感知与移动行为预测的过程。对每个虚拟对象,获取其当前位置和目标位置(也即终点位置)之后,采用上述虚拟对象移动行为的控制方法模拟该多个虚拟对象的移动行为,实现虚拟对象之间能够感知并做出合理的移动行为以避免碰撞并最终到达目标位置。
为了便于理解,本发明实施例提供如下四种应用上述方法模拟控制虚拟对象移动的实际场景。
场景一:参照如图4所示的虚拟对象对向移动的场景示意图,包括随时间变化的多个虚拟对象运动的轨迹,选取了其中3帧移动轨迹的图像;采用实心圆表示当前帧虚拟对象的位置,箭头表示运动方向。以虚拟对象1和虚拟对象2为例,虚拟对象1和虚拟对象2互为具有干扰关系的虚拟对象,一方面基于虚拟对象1的第一状态向量、虚拟对象2的第二状态向量和神经网络模型,预测虚拟对象1的初始移动结果;另一方面,基于虚拟对象2的第一状态向量、虚拟对象1的第二状态向量和神经网络模型,预测虚拟对象2的初始移动结果。虚拟对象1和虚拟对象2相互干扰下的最终移动结果显示虚拟对象1和虚拟对象2互相感知从而提前变更运动方向,经过之后再回到原来的方向,最终到达各自的目标位置。
以虚拟对象1和虚拟对象3为例,虚拟对象3同时受到来自上方虚拟对象1与下方的虚拟对象4的影响,在一定程度上虚拟对象1和虚拟对象4对虚拟对象3的影响相互抵消,基于此,可通过移动轨迹显示出,虚拟对象1比虚拟对象3更早地改变移动方向。
场景二:参照如图5所示的虚拟对象绕圆心移动的场景示意图,包括均匀分布在圆环上的多个虚拟对象;可以理解的是,该场景是一种理想状态下的场景,在实际应用中,虚拟对象可以非均匀分布,且分布位置也可以为接近圆环的不规则形状,均可以模拟得到如图5所示的移动行为。
图5为选取的9帧随时间变化的20个虚拟对象移动行为,采用实心圆表示当前帧虚拟对象的位置。20个虚拟对象的初始位置均匀分布在半径为10、原点为圆心的圆环上,终点位置为初始坐标关于圆心的对称位置。
虚拟对象的移动行为可以分为3个阶段。第1至4帧为第一个时间段,表示虚拟对象向终点位置的方向近似作直线运动,具体的:对于任意一个虚拟对象,基于当前的虚拟对象第一状态向量、与其具有交互关系的第二虚拟对象的第二状态向量和神经网络模型,预测当前的虚拟对象的第一移动结果;第一移动结果包括由所述起点位置指向终点位置的第一移动方向角和与第一移动方向角对应的第一移动速度。
第5至8帧为第二个时间段,表示虚拟对象感知周围的虚拟对象,为了避免碰撞从而同时变化各自的方向,形成了自动地绕着原点同时作相同绕行方向(如顺时针)的圆周运动的场景。具体的:当当前的虚拟对象基于所述第一移动结果移动至圆环内部的预设圆周处时,将第一状态向量和第二状态向量分别对应更新为第五状态向量和第六状态向量;基于第五状态向量、第六状态向量和神经网络模型,预测当前的虚拟对象的第二移动结果;第二移动结果包括沿预设圆周的预设绕行方向的第二移动方向角和与所述第二移动方向角对应的第二移动速度。
第9至12帧为第三个时间段,表示虚拟对象向目标位置作近似直线运动。具体的,当当前的虚拟对象基于第二移动结果移动至预设圆周的预设关键位置时,将第五状态向量和第六状态向量分别对应更新为第七状态向量和第八状态向量;基于第七状态向量、第八状态向量和神经网络模型,预测当前的虚拟对象的第三移动结果;第三移动结果包括由预设关键位置指向终点位置的第三移动方向角和与第三移动方向角对应的第三移动速度。上述预设关键位置可以为由虚拟对象向预设圆周引切线时在预设圆周上形成的切点。
场景三:参照如图6所示的虚拟对象模拟十字路线移动的场景示意图。包括多个虚拟对象从四个方向朝对面运动。图6选取了9帧随时间变化的12个虚拟对象的移动行为。采用实心圆表示当前帧虚拟对象的位置。在上下左右四个方向的每个方向上,分别有3个虚拟对象朝对面运动;对于任意一个方向(诸如向上的方向)控制虚拟对象移动的实现方式可参照上述场景一,在此不再赘述。最终的移动行为显示在该复杂的移动场景下,每个虚拟对象都能感知周围情况对自身的移动行为做出微调来实现避免碰撞。
场景四:参照如图7所示的存在静止障碍物的场景示意图,第1至3帧表示随时间变化的两个虚拟对象的移动行为。较大的黑色实心圆表示当前场景中预设的静态的障碍物,中间留有可容单个虚拟对象通过的空间。第1帧图中带箭头的两条线段表示两个虚拟对象相对直线运动,第2帧图表示向上移动的虚拟对象感知了障碍物与向下移动的虚拟对象,向左移动以避让向下移动的虚拟对象,第3帧表示待向下移动的虚拟对象通过静止的障碍物之后,向上移动的虚拟对象再通过静止的障碍物。
综上,上述实施例提供的虚拟对象移动行为的控制方法,通过第一虚拟对象的第一状态向量、与第一虚拟对象具有干扰关系的第二虚拟对象的第二状态向量和神经网络模型对第一虚拟对象的移动行为进行预测,不需要任何碰撞回避算法即可预测虚拟对象的移动行为,避免了算法之间的相互影响,从而能够改善虚拟对象之间移动交互的自然度;进一步的,基于预测得到的移动结果能够有效提升第一虚拟对象在移动平滑度、社会规则一致度、自然度等方面的表现效果。
基于上述实施例所提供的虚拟对象移动行为的控制方法,本发明实施例提供了一种虚拟对象移动行为的控制装置,参见如图8所示的虚拟对象移动行为的控制装置,包括:
对象获取模块802,用于获取与第一虚拟对象具有干扰关系的第二虚拟对象;
状态向量获取模块804,用于获取第一虚拟对象的第一状态向量和第二虚拟对象的第二状态向量;其中,第一状态向量为表征第一虚拟对象当前移动行为的参数,第二状态向量为表征第二虚拟对象当前移动行为的参数;
移动结果预测模块806,用于基于第一状态向量、第二状态向量和预先训练得到的神经网络模型,预测第一虚拟对象的目标移动结果,目标移动结果包括目标移动方向角和与目标移动方向角对应的目标移动速度;神经网络模型包括LSTM和至少两个全连接层FC;
移动行为控制模块808,用于根据预测的目标移动结果控制第一虚拟对象移动。
本发明实施例提供的虚拟对象移动行为的控制装置,通过首先获取与第一虚拟对象具有干扰关系的第二虚拟对象,并获取第一虚拟对象的第一状态向量和第二虚拟对象的第二状态向量;其中,第一状态向量为表征第一虚拟对象当前移动行为的参数,第二状态向量为表征第二虚拟对象当前移动行为的参数;然后基于第一状态向量、第二状态向量和预先训练得到的神经网络模型,预测第一虚拟对象的目标移动结果,目标移动结果包括目标移动方向角和与目标移动方向角对应的目标移动速度;最后根据预测的目标移动结果控制第一虚拟对象移动。相对于现有基于多个碰撞回避算法的移动交互方式中,因算法间的矛盾导致的移动交互不自然的问题,本实施例提供的上述虚拟对象移动行为的控制方式,通过第一虚拟对象的第一状态向量、与第一虚拟对象具有干扰关系的第二虚拟对象的第二状态向量和神经网络模型对第一虚拟对象的移动行为进行预测,不需要任何碰撞回避算法即可预测虚拟对象的移动行为,避免了算法之间的相互影响,从而能够改善虚拟对象之间移动交互的自然度;进一步的,基于预测得到的移动结果能够有效提升第一虚拟对象在移动平滑度、社会规则一致度、自然度等方面的表现效果。
在一些实施例中,上述对象获取模块802用于以下之一:将除第一虚拟对象之外的虚拟对象,确定为与第一虚拟对象具有干扰关系的第二虚拟对象;将与第一虚拟对象相距预设距离的虚拟对象,确定为与第一虚拟对象具有干扰关系的第二虚拟对象。
在一些实施例中,上述对象获取模块802用于:统计第一虚拟对象所在区域内的其它虚拟对象的总数量;其中,其它虚拟对象为区域内除第一虚拟对象之外的虚拟对象;如果总数量大于预设数值,计算第一虚拟对象与其它虚拟对象间的距离,根据计算出的距离确定与第一虚拟对象具有干扰关系的第二虚拟对象;如果总数量不大于预设数值,将其它虚拟对象均确定为与第一虚拟对象具有干扰关系的第二虚拟对象。
在一些实施例中,上述对象获取模块802具体用于:按照计算出的距离的大小对其它虚拟对象排序,从距离最小的其它虚拟对象开始,选取预设数值个其它虚拟对象作为与第一虚拟对象具有干扰关系的第二虚拟对象;或者,将计算出的距离小于预设距离阈值的其它虚拟对象,确定为与第一虚拟对象具有干扰关系的第二虚拟对象。
在一些实施例中,第一虚拟对象所在区域包括:图形用户界面的显示区域,或者,与第一虚拟对象的当前位置相距预设半径的圆形区域,或者,与第一虚拟对象的当前位置满足指定条件的区域。
在一些实施例中,上述移动结果预测模块806用于:将第一状态向量和第二状态向量输入至LSTM;通过LSTM对第一状态向量和第二状态向量进行处理,得到合并状态向量,并将合并状态向量输入至与LSTM相连的FC;通过至少两个FC对合并状态向量进行非线性映射处理,得到第一虚拟对象的多个运动方向角的概率分布向量和与各运动方向角的概率分布向量对应的运动速度;将最大的运动方向角的概率分布向量确定为目标移动方向角,以及将与最大的运动方向角的概率分布向量对应的运动速度确定为目标移动速度。
在一些实施例中,上述移动结果预测模块806具体用于:通过LSTM对第二状态向量进行编码,得到隐藏状态向量;将隐藏状态向量与第一状态向量进行拼接,得到合并状态向量。
在一些实施例中,上述移动结果预测模块806具体用于:获取各个第二虚拟对象与第一虚拟对象之间的第二距离;将获取的第二距离按照由大到小排序,得到降序排序结果;按照降序排序结果将各个第二虚拟对象的第二状态向量依次输入至LSTM。
在一些实施例中,第一状态向量包括:第一虚拟对象与预设的终点位置之间的第三距离、第一虚拟对象的第一半径、第一虚拟对象的当前移动方向角以及第一虚拟对象的第一当前移动速度;第二状态向量包括:第二虚拟对象的当前位置坐标、第二虚拟对象的第二当前移动速度、第二虚拟对象的第二半径、第二虚拟对象与第一虚拟对象之间的第二距离以及第一半径和第二半径之和。
在一些实施例中,上述移动行为控制模块808用于:根据预测的目标移动结果和预设的全局寻路算法控制第一虚拟对象移动;其中,全局寻路算法包括A星算法。
在一些实施例中,上述虚拟对象移动行为的控制装置还包括模型训练模块(图中未示出),该模型训练模块用于:将指定数量的运动状态样本输入至初始神经网络模型;其中,运动状态样本包括用于训练的第三虚拟对象的第三状态向量、与第三虚拟对象具有干扰关系的第四虚拟对象的第四状态向量以及第三虚拟对象的基准移动结果;通过初始神经网络模型基于第三状态向量、第四状态向量对第三虚拟对象的移动行为进行预测,得到第三虚拟对象的预测移动结果;根据基准移动结果和预测移动结果向初始神经网络模型反馈奖励值;根据反馈的奖励值对初始神经网络模型的参数进行调整,并重复上述训练过程,直至反馈的奖励值收敛至预设值时结束训练。
在一些实施例中,上述模型训练模块包括:反馈奖励值:
其中,R(Sjn)为反馈的奖励值,S表示第三状态向量,表示第四状态向量,X表示第一预设值,Y表示第二预设值,λ表示预设的奖励系数,p表示第三虚拟对象的当前位置,pg表示第三虚拟对象移动的终点位置,dmin为第三虚拟对象与第四虚拟对象之间的距离最小值,d0为预设的第三虚拟对象与第四虚拟对象之间的安全距离阈值。
基于前述实施例,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述实施例中虚拟对象移动行为的控制方法的步骤。
具体的,参见如图9所示的电子设备的结构示意图,还包括总线903和通信接口904,处理器902、通信接口904和存储器901通过总线903连接。
其中,存储器901可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口904(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线903可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器902可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器902中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器902可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器901,处理器902读取存储器901中的信息,结合其硬件完成前述实施例的方法的步骤。
进一步,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述实施例中的虚拟对象移动行为的控制方法的步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种虚拟对象移动行为的控制方法,其特征在于,所述方法包括:
获取与第一虚拟对象具有干扰关系的第二虚拟对象;
获取第一虚拟对象的第一状态向量和所述第二虚拟对象的第二状态向量;其中,所述第一状态向量为表征所述第一虚拟对象当前移动行为的参数,所述第二状态向量为表征所述第二虚拟对象当前移动行为的参数;
基于所述第一状态向量、所述第二状态向量和预先训练得到的神经网络模型,预测所述第一虚拟对象的目标移动结果,所述目标移动结果包括目标移动方向角和与所述目标移动方向角对应的目标移动速度;所述神经网络模型包括长短期记忆网络LSTM和至少两个全连接层FC;
根据预测的所述目标移动结果控制所述第一虚拟对象移动。
2.根据权利要求1所述的方法,其特征在于,获取与第一虚拟对象具有干扰关系的第二虚拟对象的步骤,包括以下之一:
将除第一虚拟对象之外的虚拟对象,确定为与所述第一虚拟对象具有干扰关系的第二虚拟对象;
将与第一虚拟对象相距预设距离的虚拟对象,确定为与所述第一虚拟对象具有干扰关系的第二虚拟对象。
3.根据权利要求1所述的方法,其特征在于,获取与第一虚拟对象具有干扰关系的第二虚拟对象的步骤,包括:
统计第一虚拟对象所在区域内的其它虚拟对象的总数量;其中,所述其它虚拟对象为所述区域内除第一虚拟对象之外的虚拟对象;
如果所述总数量大于预设数值,计算第一虚拟对象与所述其它虚拟对象间的距离,根据计算出的所述距离确定与所述第一虚拟对象具有干扰关系的第二虚拟对象;
如果所述总数量不大于预设数值,将所述其它虚拟对象均确定为与所述第一虚拟对象具有干扰关系的第二虚拟对象。
4.根据权利要求3所述的方法,其特征在于,根据计算出的所述距离确定与所述第一虚拟对象具有干扰关系的第二虚拟对象的步骤,包括:
按照计算出的所述距离的大小对所述其它虚拟对象排序,从所述距离最小的其它虚拟对象开始,选取预设数值个所述其它虚拟对象作为与所述第一虚拟对象具有干扰关系的第二虚拟对象;或者,
将计算出的所述距离小于预设距离阈值的所述其它虚拟对象,确定为与所述第一虚拟对象具有干扰关系的第二虚拟对象。
5.根据权利要求3所述的方法,其特征在于,所述第一虚拟对象所在区域包括:图形用户界面的显示区域,或者,与所述第一虚拟对象的当前位置相距预设半径的圆形区域,或者,与第一虚拟对象的当前位置满足指定条件的区域。
6.根据权利要求1所述的方法,其特征在于,基于所述第一状态向量、所述第二状态向量和预先训练得到的神经网络模型,预测所述第一虚拟对象的目标移动结果的步骤,包括:
将所述第一状态向量和所述第二状态向量输入至所述LSTM;
通过所述LSTM对所述第一状态向量和所述第二状态向量进行处理,得到合并状态向量,并将所述合并状态向量输入至与所述LSTM相连的所述FC;
通过至少两个所述FC对所述合并状态向量进行非线性映射处理,得到所述第一虚拟对象的多个运动方向角的概率分布向量和与各所述运动方向角的概率分布向量对应的运动速度;
将最大的运动方向角的概率分布向量确定为目标移动方向角,以及将与最大的所述运动方向角的概率分布向量对应的运动速度确定为目标移动速度。
7.根据权利要求6所述的方法,其特征在于,通过所述LSTM对所述第一状态向量和所述第二状态向量进行处理,得到合并状态向量的步骤,包括:
通过所述LSTM对所述第二状态向量进行编码,得到隐藏状态向量;
将所述隐藏状态向量与所述第一状态向量进行拼接,得到合并状态向量。
8.根据权利要求6所述的方法,其特征在于,将所述第二状态向量输入至所述LSTM的步骤,包括:
获取各个所述第二虚拟对象与所述第一虚拟对象之间的第一距离;
将获取的所述第一距离按照由大到小排序,得到降序排序结果;
按照所述降序排序结果将各个所述第二虚拟对象的第二状态向量依次输入至所述LSTM。
9.根据权利要求1所述的方法,其特征在于,所述第一状态向量包括:所述第一虚拟对象与预设的终点位置之间的第二距离、所述第一虚拟对象的第一半径、所述第一虚拟对象的当前移动方向角以及所述第一虚拟对象的第一当前移动速度;
所述第二状态向量包括:所述第二虚拟对象的当前位置坐标、所述第二虚拟对象的第二当前移动速度、所述第二虚拟对象的第二半径、所述第二虚拟对象与所述第一虚拟对象之间的第三距离以及所述第一半径和所述第二半径之和。
10.根据权利要求1所述的方法,其特征在于,根据预测的所述目标移动结果控制所述第一虚拟对象移动的步骤,包括:
根据预测的所述目标移动结果和预设的全局寻路算法控制所述第一虚拟对象移动;其中,所述全局寻路算法包括A星算法。
11.根据权利要求1所述的方法,其特征在于,所述神经网络模型的训练过程包括:
将指定数量的运动状态样本输入至初始神经网络模型;其中,所述运动状态样本包括用于训练的第三虚拟对象的第三状态向量、与所述第三虚拟对象具有干扰关系的第四虚拟对象的第四状态向量以及所述第三虚拟对象的基准移动结果;
通过所述初始神经网络模型基于所述第三状态向量、所述第四状态向量对所述第三虚拟对象的移动行为进行预测,得到所述第三虚拟对象的预测移动结果;
根据所述基准移动结果和所述预测移动结果向所述初始神经网络模型反馈奖励值;
根据反馈的所述奖励值对所述初始神经网络模型的参数进行调整,并重复上述训练过程,直至反馈的所述奖励值收敛至预设值时结束训练。
13.一种虚拟对象移动行为的控制装置,其特征在于,所述装置包括:
对象获取模块,用于获取与第一虚拟对象具有干扰关系的第二虚拟对象;
状态向量获取模块,用于获取第一虚拟对象的第一状态向量和所述第二虚拟对象的第二状态向量;其中,所述第一状态向量为表征所述第一虚拟对象当前移动行为的参数,所述第二状态向量为表征所述第二虚拟对象当前移动行为的参数;
移动结果预测模块,用于基于所述第一状态向量、所述第二状态向量和预先训练得到的神经网络模型,预测所述第一虚拟对象的目标移动结果,所述目标移动结果包括目标移动方向角和与所述目标移动方向角对应的目标移动速度;所述神经网络模型包括LSTM和至少两个全连接层FC;
移动行为控制模块,用于根据预测的所述目标移动结果控制所述第一虚拟对象移动。
14.一种电子设备,其特征在于,包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运动时执行如权利要求1至12任一项所述的方法。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运动时执行上述权利要求1至12任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911027894.2A CN110721470B (zh) | 2019-10-25 | 2019-10-25 | 虚拟对象移动行为的控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911027894.2A CN110721470B (zh) | 2019-10-25 | 2019-10-25 | 虚拟对象移动行为的控制方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110721470A true CN110721470A (zh) | 2020-01-24 |
CN110721470B CN110721470B (zh) | 2022-11-11 |
Family
ID=69222159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911027894.2A Active CN110721470B (zh) | 2019-10-25 | 2019-10-25 | 虚拟对象移动行为的控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110721470B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111282279A (zh) * | 2020-02-05 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 模型训练的方法、基于交互式应用的对象控制方法及装置 |
CN112973123A (zh) * | 2021-04-08 | 2021-06-18 | 网易(杭州)网络有限公司 | 游戏中的寻路方法及装置、计算机存储介质、电子设备 |
CN114011071A (zh) * | 2021-11-05 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 虚拟角色的控制方法和装置、存储介质及电子设备 |
CN114146420A (zh) * | 2022-02-10 | 2022-03-08 | 中国科学院自动化研究所 | 一种资源分配方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018053246A1 (en) * | 2016-09-15 | 2018-03-22 | Google Llc | Control policies for robotic agents |
CN108537818A (zh) * | 2018-03-07 | 2018-09-14 | 上海交通大学 | 基于集群压力lstm的人群轨迹预测方法 |
WO2018211144A1 (en) * | 2017-05-19 | 2018-11-22 | Deepmind Technologies Limited | Making object-level predictions of the future state of a physical system |
CN109529338A (zh) * | 2018-11-15 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、电子设计及计算机可读介质 |
CN109663359A (zh) * | 2018-12-06 | 2019-04-23 | 广州多益网络股份有限公司 | 游戏智能体训练的优化方法、装置、终端设备与存储介质 |
CN109893857A (zh) * | 2019-03-14 | 2019-06-18 | 腾讯科技(深圳)有限公司 | 一种操作信息预测的方法、模型训练的方法及相关装置 |
CN110251942A (zh) * | 2019-06-04 | 2019-09-20 | 腾讯科技(成都)有限公司 | 控制游戏场景中虚拟角色的方法及装置 |
-
2019
- 2019-10-25 CN CN201911027894.2A patent/CN110721470B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018053246A1 (en) * | 2016-09-15 | 2018-03-22 | Google Llc | Control policies for robotic agents |
WO2018211144A1 (en) * | 2017-05-19 | 2018-11-22 | Deepmind Technologies Limited | Making object-level predictions of the future state of a physical system |
CN108537818A (zh) * | 2018-03-07 | 2018-09-14 | 上海交通大学 | 基于集群压力lstm的人群轨迹预测方法 |
CN109529338A (zh) * | 2018-11-15 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 对象控制方法、装置、电子设计及计算机可读介质 |
CN109663359A (zh) * | 2018-12-06 | 2019-04-23 | 广州多益网络股份有限公司 | 游戏智能体训练的优化方法、装置、终端设备与存储介质 |
CN109893857A (zh) * | 2019-03-14 | 2019-06-18 | 腾讯科技(深圳)有限公司 | 一种操作信息预测的方法、模型训练的方法及相关装置 |
CN110251942A (zh) * | 2019-06-04 | 2019-09-20 | 腾讯科技(成都)有限公司 | 控制游戏场景中虚拟角色的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111282279A (zh) * | 2020-02-05 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 模型训练的方法、基于交互式应用的对象控制方法及装置 |
CN111282279B (zh) * | 2020-02-05 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 模型训练的方法、基于交互式应用的对象控制方法及装置 |
CN112973123A (zh) * | 2021-04-08 | 2021-06-18 | 网易(杭州)网络有限公司 | 游戏中的寻路方法及装置、计算机存储介质、电子设备 |
CN112973123B (zh) * | 2021-04-08 | 2024-05-28 | 网易(杭州)网络有限公司 | 游戏中的寻路方法及装置、计算机存储介质、电子设备 |
CN114011071A (zh) * | 2021-11-05 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 虚拟角色的控制方法和装置、存储介质及电子设备 |
CN114146420A (zh) * | 2022-02-10 | 2022-03-08 | 中国科学院自动化研究所 | 一种资源分配方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110721470B (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110721470B (zh) | 虚拟对象移动行为的控制方法、装置及电子设备 | |
CN113039563B (zh) | 学习生成用于训练神经网络的合成数据集 | |
CN108121986B (zh) | 目标检测方法及装置、计算机装置和计算机可读存储介质 | |
CN112052787B (zh) | 基于人工智能的目标检测方法、装置及电子设备 | |
Lee et al. | Crowd simulation by deep reinforcement learning | |
CN111998864B (zh) | 无人车局部路径规划方法、装置、设备及存储介质 | |
US9858496B2 (en) | Object detection and classification in images | |
Karamouzas et al. | Simulating and evaluating the local behavior of small pedestrian groups | |
EP3992857A1 (en) | Method and device for generating neural network model, and computer-readable storage medium | |
WO2017206400A1 (zh) | 图像处理方法、装置及电子设备 | |
JP5303068B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
CN109583509B (zh) | 数据生成方法、装置及电子设备 | |
CN110998663B (zh) | 一种仿真场景的图像生成方法、电子设备和存储介质 | |
KR20220081261A (ko) | 객체 포즈 추정 방법 및 장치 | |
JP2020098587A (ja) | ワッサースタイン距離を使用する物体形状回帰 | |
CN110141862A (zh) | 游戏中移动控制的方法及装置、电子设备、存储介质 | |
KR20200106754A (ko) | 타겟 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램 | |
CN112102364A (zh) | 目标物跟踪方法、装置、电子设备及存储介质 | |
CN113807460A (zh) | 智能体动作的确定方法和装置、电子设备和介质 | |
CN112528904A (zh) | 一种用于砂石颗粒物粒径检测***的图像分割方法 | |
CN113694528A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112328880A (zh) | 地理区域聚类方法、装置、存储介质和电子设备 | |
Makarov et al. | Smoothing Voronoi-Based Path with Minimized Length and Visibility Using Composite Bezier Curves. | |
CN113413601B (zh) | 寻路方法及装置 | |
CN115743168A (zh) | 用于换道决策的模型训练方法、目标车道确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |