一种基于虚拟引擎的载具平面移动控制方法和装置制造方法及图纸

技术编号:30319706 阅读:11 留言:0更新日期:2021-10-09 23:28
本发明专利技术涉及一种基于虚拟引擎的载具平面移动控制方法、装置、计算机设备和存储介质,所述方法包括:构建MoveTo函数并定义输入值为目标点坐标信息;获取载具朝向目标点的目标向量并计算其对应的长度值;当长度值超过预设长度值时,获取载具的正前方向量并结合目标向量进行再处理与向量求解运算,得到两个向量间的夹角值;当夹角值超过预设角度值时,确定载具的待旋转角度并计算载具在当前帧的最大旋转角度;当待旋转角度的绝对值大于等于最大旋转角度时,控制载具按照最大旋转角度旋转,或当待旋转角度的绝对值小于最大旋转角度时,控制载具按照待旋转角度旋转;驱动载具轮子朝向目标点前进。上述方法能够使得载具移动至给定的任意目标点。意目标点。意目标点。

【技术实现步骤摘要】
一种基于虚拟引擎的载具平面移动控制方法和装置


[0001]本专利技术涉及虚拟引擎
,特别是涉及一种基于虚拟引擎的载具平面移动控制方法、装置、计算机设备和存储介质。

技术介绍

[0002]虚拟引擎中的Movement组件提供了一套可供普通角色自动寻径移动到目标点的MoveTo接口,然而针对载具类的移动操控,Movement组件中所包含的VehicleMovement组件或者SimpleWheeledVehicleMovement组件均无法使得载具直接使用MoveTo接口移动至目标点,说明虚拟引擎本身并不具备载具自控移动功能。

技术实现思路

[0003]本专利技术的目的在于克服现有技术的不足,提供了一种基于虚拟引擎的载具平面移动控制方法、装置、计算机设备和存储介质,能够在虚拟引擎中实现将载具类有序移动至给定的任意目标点这一功能。
[0004]为了解决上述中至少一个技术问题,本专利技术实施例提供了一种基于虚拟引擎的载具平面移动控制方法,所述方法包括:
[0005]构建一个MoveTo函数并定义其输入变量为目标点坐标信息以及设定载具当前状态为可移动,再利用所述MoveTo函数调用蓝图中的Tick事件;
[0006]在所述Tick事件中,基于所述目标点坐标信息和载具当前坐标信息获取载具朝向目标点的目标向量,再利用VectorLength函数计算出所述目标向量的长度值;
[0007]当所述长度值超过预设长度值时,获取载具的正前方向量同时结合所述目标向量进行再处理与向量求解运算,得到两个向量间的夹角值;
[0008]当所述夹角值超过预设角度值时,基于所述正前方向量和所述目标向量确定载具的待旋转角度,并计算出载具在当前帧的最大旋转角度;
[0009]当所述待旋转角度的绝对值大于等于所述最大旋转角度时,利用AddActorLocalRotation函数控制载具按照所述最大旋转角度进行旋转,或者当所述待旋转角度的绝对值小于所述最大旋转角度时,利用SetActorRotation函数控制载具按照所述待旋转角度进行旋转;
[0010]在载具执行完本体旋转之后,利用SetDriveTorque函数驱动载具轮子按照既定的转矩功率朝向目标点继续前进。
[0011]优选地,所述基于所述目标点坐标信息和载具当前坐标信息获取载具朝向目标点的目标向量包括:
[0012]利用GetActorLocation函数获取载具当前坐标信息,再将所述目标点坐标信息和所述载具当前坐标信息进行减运算,得到载具朝向目标点的目标向量。
[0013]优选地,所述获取载具的正前方向量同时结合所述目标向量进行再处理与向量求解运算,得到两个向量间的夹角值包括:
[0014]利用GetActorForwardVector函数获取载具的正前方向量,再对所述目标向量和所述正前方向量依次进行Z轴数据清零处理和归一化处理;
[0015]利用Dot函数计算出处理后的目标向量和正前方向量之间的夹角余弦值,再利用DegAcos函数计算出所述夹角余弦值所对应的夹角值。
[0016]优选地,所述基于所述正前方向量和所述目标向量确定载具的待旋转角度包括:
[0017]利用Cross函数计算出所述正前方向量和所述目标向量之间所关联的一个法向量,再将所述法向量与向量(0,0,1)进行一次点积运算;
[0018]当运算结果为正数时,将所述夹角值定义为载具的待旋转角度;或者,当运算结果为负数时,将所述夹角值的相反数定义为载具的待旋转角度。
[0019]优选地,所述计算出载具在当前帧的最大旋转角度包括:
[0020]利用GetWorldDaltaTime函数获取当前帧时间,将既定的载具轮子旋转速度与所述当前帧时间进行乘运算,得到载具在当前帧的最大旋转角度。
[0021]优选地,所述方法还包括:
[0022]当所述长度值未超过预设长度值时,利用SetBrakeTorque函数对载具轮子进行制动刹车,并更新载具当前状态为不可移动以使得载具保持停靠在目标点处。
[0023]优选地,所述方法还包括:
[0024]当所述夹角值未超过预设角度值时,跳转至利用SetDriveTorque函数驱动载具轮子按照既定的转矩功率朝向目标点继续前进。
[0025]另外,本专利技术实施例还提供了一种基于虚拟引擎的载具平面移动控制装置,所述装置包括:
[0026]创建模块,用于构建一个MoveTo函数并定义其输入变量为目标点坐标信息以及设定载具当前状态为可移动,再利用所述MoveTo函数调用蓝图中的Tick事件;
[0027]获取模块,用于在所述Tick事件中,基于所述目标点坐标信息和载具当前坐标信息获取载具朝向目标点的目标向量,再利用VectorLength函数计算出所述目标向量的长度值;
[0028]第一计算模块,用于当所述长度值超过预设长度值时,获取载具的正前方向量同时结合所述目标向量进行再处理与向量求解运算,得到两个向量间的夹角值;
[0029]第二计算模块,用于当所述夹角值超过预设角度值时,基于所述正前方向量和所述目标向量确定载具的待旋转角度,并计算出载具在当前帧的最大旋转角度;
[0030]旋转控制模块,用于当所述待旋转角度的绝对值大于等于所述最大旋转角度时,利用AddActorLocalRotation函数控制载具按照所述最大旋转角度进行旋转,或者当所述待旋转角度的绝对值小于所述最大旋转角度时,利用SetActorRotation函数控制载具按照所述待旋转角度进行旋转;
[0031]移动控制模块,用于在载具执行完本体旋转之后,利用SetDriveTorque函数驱动载具轮子按照既定的转矩功率朝向目标点继续前进。
[0032]另外,本专利技术实施例还提供了一种计算机设备,其包括:存储器、处理器及存储在存储器上并可在处理器上运行的应用程序,处理器执行应用程序时实现上述任一实施例方法的步骤。
[0033]另外,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有应用程序,应
用程序被处理器执行时实现上述任一实施例方法的步骤。
[0034]在本专利技术实施例中,基于开发者使用一个MoveTo函数并已输入用户需要的目标点位置信息,通过在Tick事件中调用各类相关的函数对载具当前位置进行移动路径分析,并以“判断距离一调整角度

驱动前行”的顺序对载具执行定时循环控制操作,由此可实现在虚拟引擎中将载具类有序移动至给定的任意目标点这一功能。
附图说明
[0035]图1是本专利技术实施例中的一种基于虚拟引擎的载具平面移动控制方法的流程示意图;
[0036]图2是本专利技术实施例中的一种基于虚拟引擎的载具平面移动控制装置的结构示意图;
[0037]图3是本专利技术实施例中的计算机设备的结构组成示意图。
具体实施方式
[0038]下面将结合本专利技术实施例中的附图,对本专利技术实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于虚拟引擎的载具平面移动控制方法,其特征在于,所述方法包括:构建一个MoveTo函数并定义其输入变量为目标点坐标信息以及设定载具当前状态为可移动,再利用所述MoveTo函数调用蓝图中的Tick事件;在所述Tick事件中,基于所述目标点坐标信息和载具当前坐标信息获取载具朝向目标点的目标向量,再利用VectorLength函数计算出所述目标向量的长度值;当所述长度值超过预设长度值时,获取载具的正前方向量同时结合所述目标向量进行再处理与向量求解运算,得到两个向量间的夹角值;当所述夹角值超过预设角度值时,基于所述正前方向量和所述目标向量确定载具的待旋转角度,并计算出载具在当前帧的最大旋转角度;当所述待旋转角度的绝对值大于等于所述最大旋转角度时,利用AddActorLocalRotation函数控制载具按照所述最大旋转角度进行旋转,或者当所述待旋转角度的绝对值小于所述最大旋转角度时,利用SetActorRotation函数控制载具按照所述待旋转角度进行旋转;在载具执行完本体旋转之后,利用SetDriveTorque函数驱动载具轮子按照既定的转矩功率朝向目标点继续前进。2.根据权利要求1所述的基于虚拟引擎的载具平面移动控制方法,其特征在于,所述基于所述目标点坐标信息和载具当前坐标信息获取载具朝向目标点的目标向量包括:利用GetActorLocation函数获取载具当前坐标信息,再将所述目标点坐标信息和所述载具当前坐标信息进行减运算,得到载具朝向目标点的目标向量。3.根据权利要求1所述的基于虚拟引擎的载具平面移动控制方法,其特征在于,所述获取载具的正前方向量同时结合所述目标向量进行再处理与向量求解运算,得到两个向量间的夹角值包括:利用GetActorForwardVector函数获取载具的正前方向量,再对所述目标向量和所述正前方向量依次进行Z轴数据清零处理和归一化处理;利用Dot函数计算出处理后的目标向量和正前方向量之间的夹角余弦值,再利用DegAcos函数计算出所述夹角余弦值所对应的夹角值。4.根据权利要求1所述的基于虚拟引擎的载具平面移动控制方法,其特征在于,所述基于所述正前方向量和所述目标向量确定载具的待旋转角度包括:利用Cross函数计算出所述正前方向量和所述目标向量之间所关联的一个法向量,再将所述法向量与向量(0,0,1)进行一次点积运算;当运算结果为正数时,将所述夹角值定义为载具的待旋转角度;或者,当运算结果为负数时,将所述夹角值的相反数定义为载具的待旋转角度。5...

【专利技术属性】
技术研发人员:罗威许秋子
申请(专利权)人:深圳市瑞立视多媒体科技有限公司
类型:发明
国别省市:

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

1