虚拟场景中的虚拟对象控制方法、装置、设备及存储介质制造方法及图纸

技术编号:21701062 阅读:35 留言:0更新日期:2019-07-27 16:25
本申请是关于一种虚拟场景中的虚拟对象控制方法、装置、设备及存储介质,涉及虚拟场景技术领域。该方法包括:获取虚拟对象在目标位置点处的目标运动状态;获取虚拟对象在当前位置点处的当前运动状态;获取差异数据,所述差异数据包括位置差异数据和运动状态差异数据;根据差异数据获取控制信息;根据控制信息控制虚拟对象转向。本申请在控制虚拟对象的转向操作时,综合考虑转向操作对虚拟对象的矢量速度方向和朝向的影响,以使得虚拟对象移动到指定移动路径上时,其矢量速度方向和朝向能够与指定移动路径的延伸方向保持一致,从而提高对虚拟对象的转向控制的效果。

【技术实现步骤摘要】
虚拟场景中的虚拟对象控制方法、装置、设备及存储介质
本申请涉及虚拟场景
,特别涉及一种虚拟场景中的虚拟对象控制方法、装置、设备及存储介质。
技术介绍
目前很多构建虚拟场景的应用能够实现对虚拟场景中的虚拟对象进行自动控制。而对虚拟对象的转向控制,是对虚拟对象进行自动控制过程中的重要环节。在相关技术中,通常为自动控制的虚拟对象确定移动路径,在对虚拟对象的转向进行控制时,首先确定虚拟对象与移动路径之间的位置关系,然后根据位置关系确定虚拟对象的转向方向,继而按照确定转向方向控制虚拟对象转向。比如,当虚拟对象处于移动路径左侧时,可以控制虚拟对象右转,当虚拟对象处于移动路径右侧时,可以控制虚拟对象左转。然而,虚拟场景中的虚拟对象通常都具有各自的朝向,按照相关技术中根据虚拟对象与移动路径之间的位置关系控制转向的方式,当控制虚拟对象到达移动路径时,虚拟对象的朝向与移动路径的方向通常会不一致,从而导致对虚拟对象的转向的自动控制效果较差。
技术实现思路
本申请实施例提供了一种虚拟场景中的虚拟对象控制方法、装置、设备及存储介质,可以用于提供在虚拟场景中对虚拟对象的转向的自动控制效果,技术方案如下:一方面,提供了一种虚拟场景中的虚拟对象控制方法,所述方法包括:获取所述虚拟对象在目标位置点处的目标运动状态,所述目标位置点是位于所述虚拟对象前方的位置点;获取所述虚拟对象在当前位置点处的当前运动状态;获取差异数据,所述差异数据包括位置差异数据和运动状态差异数据,所述位置差异数据用于指示所述目标位置点和所述当前位置点之间的差异,所述运动状态差异数据用于指示所述目标运动状态和所述当前运动状态之间的差异;根据所述差异数据获取控制信息,所述控制信息用于指示对所述虚拟对象的方向的控制操作;根据所述控制信息控制所述虚拟对象在所述虚拟场景中进行转向。一方面,提供了一种虚拟场景中的虚拟对象控制装置,所述装置包括:目标状态获取模块,用于获取所述虚拟对象在目标位置点处的目标运动状态,所述目标位置点是位于所述虚拟对象前方的位置点;当前状态获取模块,用于获取所述虚拟对象在当前位置点处的当前运动状态;差异获取模块,用于获取差异数据,所述差异数据包括位置差异数据和运动状态差异数据,所述位置差异数据用于指示所述目标位置点和所述当前位置点之间的差异,所述运动状态差异数据用于指示所述目标运动状态和所述当前运动状态之间的差异;控制信息获取模块,用于根据所述差异数据获取控制信息,所述控制信息用于指示对所述虚拟对象的方向的控制操作;控制模块,用于根据所述控制信息控制所述虚拟对象在所述虚拟场景中进行转向。可选的,所述目标运动状态包括目标速度方向,所述当前运动状态包括当前矢量速度和当前朝向;所述运动状态差异数据包括矢量速度差异数据和朝向差异数据;所述差异获取模块,用于,根据所述目标位置点、所述当前位置点以及所述目标速度方向获取所述位置差异数据;根据所述目标速度方向和所述当前矢量速度获取所述矢量速度差异数据,所述矢量速度差异数据用于指示所述当前矢量速度与所述虚拟对象在所述目标位置点处的目标矢量速度之间的差异;根据所述目标速度方向和所述当前朝向获取所述朝向差异数据,所述朝向差异数据用于指示所述当前朝向与所述虚拟对象在所述目标位置点处的目标朝向之间的差异。可选的,在根据所述目标位置点、所述当前位置点以及所述目标速度方向获取所述位置差异数据时,所述差异获取模块,用于,获取拟合直线,所述拟合直线是经过所述目标位置点,且沿所述目标速度方向延伸的直线;将所述当前位置点到所述拟合直线之间的有向距离获取为所述位置差异数据。可选的,在根据所述目标速度方向和所述当前矢量速度获取所述矢量速度差异数据时,所述差异获取模块,用于,将目标方向向量与当前矢量速度向量的点乘结果获取为所述矢量速度差异数据;其中,所述目标方向向量是用于表示所述目标速度方向的向量,所述当前矢量速度向量是用于表示所述当前矢量速度的向量。可选的,在根据所述目标速度方向和所述当前朝向获取所述朝向差异数据时,所述差异获取模块,用于,将目标方向向量与当前朝向向量的点乘结果获取为所述朝向差异数据;其中,所述目标方向向量是用于表示所述目标速度方向的向量,所述当前朝向向量是用于表示所述当前朝向的向量。可选的,所述目标位置点处于指定移动路径上,所述目标状态获取模块,用于,获取所述指定移动路径的路径结构;根据所述路径结构,获取所述指定移动路径在所述目标位置点处向前延伸的方向;将所述指定移动路径在所述目标位置点处向前延伸的方向获取为所述目标速度方向。可选的,所述控制信息获取模块,用于,构建差异向量,所述差异向量是向量元素为所述位置差异数据、所述矢量速度差异数据以及所述朝向差异数据的3维向量;根据所述差异向量以及控制矩阵对所述差异向量进行处理,获得输出向量;所述控制矩阵为m×3维矩阵,所述输出向量为m维向量;根据所述输出向量获取所述控制信息。可选的,在根据控制矩阵对所述差异向量进行处理,获得输出向量时,控制信息获取模块,用于根据所述控制矩阵按照比例-积分-微分(proportion-integral-differential,PID)控制方式对所述差异向量进行处理,获得所述输出向量。可选的,在根据所述输出向量获取所述控制信息时,控制信息获取模块1104,用于根据所述输出向量获取转向的方向和转向的模式;根据所述转向的方向和所述转向的模式获取所述控制信息。可选的,所述输出向量是一维向量,在根据所述输出向量获取转向的方向和转向的模式时,控制信息获取模块,用于根据所述一维向量的数值大小获取所述转向的方向和所述转向的模式。可选的,在根据所述一维向量的数值大小获取所述转向的方向和所述转向的模式时,控制信息获取模块,用于,根据所述一维向量的数值与0的大小关系确定所述转向的方向,所述转向的方向包括向左转向或向右转向;根据所述一维向量的数值的绝对值与数值阈值之间的大小关系确定所述转向的模式,所述转向的模式包括漂移转向或非漂移转向。可选的,所述装置还包括:位置点确定模块,用于在所述目标状态获取模块获取所述虚拟对象在目标位置点处的目标运动状态之前,将指定移动路径上的各个位置点中,处于所述虚拟对象的前方,且与所述虚拟对象之间的距离为指定距离的位置点获取为所述目标位置点。另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述虚拟场景中的虚拟对象控制方法。又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述虚拟场景中的虚拟对象控制方法。本申请通过在考虑当前位置点和目标位置点之间的位置关系之外,还结合当前运动状态和目标运动状态来确定对虚拟对象的转向控制,从而在控制虚拟对象的转向操作时,综合考虑转向操作对虚拟对象的矢量速度方向和朝向的影响,以使得虚拟对象移动到指定移动路径上时,其矢量速度方向和朝向能够与指定移动路径的延伸方向保持一致,从而提高对虚拟对象的转向控制的效果。应当理解的本文档来自技高网...

【技术保护点】
1.一种虚拟场景中的虚拟对象控制方法,其特征在于,所述方法包括:获取所述虚拟对象在目标位置点处的目标运动状态,所述目标位置点是位于所述虚拟对象前方的位置点;获取所述虚拟对象在当前位置点处的当前运动状态;获取差异数据,所述差异数据包括位置差异数据和运动状态差异数据,所述位置差异数据用于指示所述目标位置点和所述当前位置点之间的差异,所述运动状态差异数据用于指示所述目标运动状态和所述当前运动状态之间的差异;根据所述差异数据获取控制信息,所述控制信息用于指示对所述虚拟对象的方向的控制操作;根据所述控制信息控制所述虚拟对象在所述虚拟场景中进行转向。

【技术特征摘要】
1.一种虚拟场景中的虚拟对象控制方法,其特征在于,所述方法包括:获取所述虚拟对象在目标位置点处的目标运动状态,所述目标位置点是位于所述虚拟对象前方的位置点;获取所述虚拟对象在当前位置点处的当前运动状态;获取差异数据,所述差异数据包括位置差异数据和运动状态差异数据,所述位置差异数据用于指示所述目标位置点和所述当前位置点之间的差异,所述运动状态差异数据用于指示所述目标运动状态和所述当前运动状态之间的差异;根据所述差异数据获取控制信息,所述控制信息用于指示对所述虚拟对象的方向的控制操作;根据所述控制信息控制所述虚拟对象在所述虚拟场景中进行转向。2.根据权利要求1所述的方法,其特征在于,所述目标运动状态包括目标速度方向,所述当前运动状态包括当前矢量速度和当前朝向;所述运动状态差异数据包括矢量速度差异数据和朝向差异数据;所述获取差异数据,包括:根据所述目标位置点、所述当前位置点以及所述目标速度方向获取所述位置差异数据;根据所述目标速度方向和所述当前矢量速度获取所述矢量速度差异数据,所述矢量速度差异数据用于指示所述当前矢量速度与所述虚拟对象在所述目标位置点处的目标矢量速度之间的差异;根据所述目标速度方向和所述当前朝向获取所述朝向差异数据,所述朝向差异数据用于指示所述当前朝向与所述虚拟对象在所述目标位置点处的目标朝向之间的差异。3.根据权利要求2所述的方法,其特征在于,所述根据所述目标位置点、所述当前位置点以及所述目标速度方向获取所述位置差异数据,包括:获取拟合直线,所述拟合直线是经过所述目标位置点,且沿所述目标速度方向延伸的直线;将所述当前位置点到所述拟合直线之间的有向距离获取为所述位置差异数据。4.根据权利要求2所述的方法,其特征在于,所述根据所述目标速度方向和所述当前矢量速度获取所述矢量速度差异数据,包括:将目标方向向量与当前矢量速度向量的点乘结果获取为所述矢量速度差异数据;其中,所述目标方向向量是用于表示所述目标速度方向的向量,所述当前矢量速度向量是用于表示所述当前矢量速度的向量。5.根据权利要求2所述的方法,其特征在于,所述根据所述目标速度方向和所述当前朝向获取所述朝向差异数据,包括:将目标方向向量与当前朝向向量的点乘结果获取为所述朝向差异数据;其中,所述目标方向向量是用于表示所述目标速度方向的向量,所述当前朝向向量是用于表示所述当前朝向的向量。6.根据权利要求2所述的方法,其特征在于,所述目标位置点处于指定移动路径上,所述获取所述虚拟对象在目标位置点处的目标运动状态,包括:获取所述指定移动路径的路径结构;根据所述路径结构,获取所述指定移动路径在所述目标位置点处向前延伸的方向;将所述指定移动路径在所述目标位置点处向前延伸的方向获取为所述目标速度方向。7.根据权利要求2至6任一所述的方法,其特征在于,所述根据所述差异数据获取控制信息,包括:构建差异向量,所述差异向量是向量元素为所述位置差异数据、所述矢量速度差异数据以及所述...

【专利技术属性】
技术研发人员:李斌
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1