一种根据输入设备类型控制游戏目标移动的方法及装置与流程

文档序号:14228354阅读:219来源:国知局
一种根据输入设备类型控制游戏目标移动的方法及装置与流程

本发明涉及虚拟现实技术领域,特别是涉及一种根据输入设备类型控制游戏目标移动的方法及装置。



背景技术:

目前虚拟现实游戏的角色移动操作方式主要有两种,第一种是hmd+motioncontroller,灵活的motioncontroller可以十分快捷地通过linetrace选中目标点,如果目标点是可到达的,就将角色移动到目标点位置。而面对大量的主机平台用户,游戏手柄的普及程度更高,这就需要第二种操作方式,hmd+gamepadoptional。

目前针对移植的ps4平台,玩家可以自主选择上述两种移动方案,但是由于两种硬件设备的截然不同,会导致vr游戏在游戏性上有很大区别,所以目前亟需一种系统性相对统一的,能够处理两种不同输入设备的,并且能保证游戏性相对一致的瞬间移动(teleport)控制方式,以便进行vr游戏的ps4主机平台移植。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种根据输入设备类型控制游戏角色移动的方法及装置,可以根据输入设备类型的不同,获取目标位置参数、目标角度参数,实现目标的teleport控制。

为实现上述目的,本发明提供的根据输入设备类型控制游戏目标移动的方法,包括以下步骤:

将不同输入设备的输入数据映射到同一输入事件,并判断输入设备的类型;

根据输入设备的类型以及目标位置参数,计算目标角度参数;

基于目标位置参数、目标角度参数,控制目标进行移动;

其中,输入数据包括:输入设备的输入方式和目标位置参数。

进一步地,还包括步骤:根据目标位置参数,标记目标位置。

进一步地,还包括步骤:根据目标位置是否可进行移动控制,重新标记目标位置。

进一步地,所述根据输入设备的类型以及目标位置参数,计算目标角度参数的步骤,进一步包括步骤:

当输入设备是动作控制器时,通过手势计算角度,即获取到thumb接口的输入数据,记录激活的handmesh的初始位置,将handmesh的相对xy坐标平面的运动转化成角度值。

更进一步地,所述根据输入设备的类型以及目标位置参数,计算目标角度参数的步骤,进一步包括步骤:

当输入设备是游戏手柄时,通过摇杆计算角度,将获取游戏手柄的thumbstick的x、y坐标值,直接转换成角度值。

为实现上述目的,本发明提供的根据输入设备类型控制游戏目标移动的装置,包括:数据输入单元、目标角度计算单元、移动控制执行单元,其中,

所述数据输入单元,用于将不同输入设备的输入数据映射到同一输入事件,并判断输入设备的类型;

所述目标角度计算单元,用于根据输入设备的类型以及目标位置参数,计算目标角度参数;

所述移动控制执行单元,用于基于目标位置参数、目标角度参数,控制目标进行移动控制;

其中,输入数据包括:输入设备的输入方式和目标位置参数。

进一步地,还包括目标参数标记单元,其用于根据目标位置参数,标记目标位置。

进一步地,所述目标参数标记单元,还用于根据目标位置是否可进行移动控制,重新标记目标位置。

进一步地,所述根据输入设备的类型以及目标位置参数,计算目标角度参数,进一步包括:

当输入设备是动作控制器时,通过手势计算角度,即获取到thumb接口的输入数据,记录激活的handmesh的初始位置,将handmesh的相对xy坐标平面的运动转化成角度值。

更进一步地,所述根据输入设备的类型以及目标位置参数,计算目标角度参数,进一步包括:

当输入设备是游戏手柄时,通过摇杆计算角度,将获取游戏手柄的thumbstick的x、y坐标值,直接转换成角度值。

本发明的根据输入设备类型控制游戏目标移动的方法及装置,通过thumb接口、获取角度接口封装不同输入设备的输入数据(gamepad的摇杆输入和motioncontroller的位置输入、grip按键),将不同输入设备的输入数据与角色(目标)的teleport控制解耦,使角色的teleport事件暴露出目标位置和目标角度两个参数,进行teleport控制时,只需获取接口输出的目标位置和目标角度,无需关心玩家是使用什么硬件(输入设备)输入的。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的根据输入设备类型控制游戏目标移动的方法流程图;

图2为根据本发明的sp4平台的teleport控制的方法流程图;

图3为根据本发明的根据输入设备类型控制游戏目标移动的装置架构图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为根据本发明的根据输入设备类型控制游戏目标移动的方法流程图,图2为根据本发明的sp4平台的teleport控制的方法流程图。下面将参考图1并结合图2,对本发明的图1为根据本发明的根据输入设备类型控制游戏目标移动的方法进行详细描述。

本实施例中,将以动作控制器(motioncontroller)和游戏手柄(gamapad)作为输入设备为例,接收和处理motioncomtroller和gamepad的输入数据,实现ps4平台上的游戏角色(目标)teleport控制的具体过程。

在步骤110,将不同输入设备的输入数据映射到同一输入事件,并判断输入设备的类型。其中,输入数据包括:输入设备的输入方式、目标位置参数。

该步骤中,因为硬件输入有统一的fkey类型的回调参数,所以将motioncontrolller的grip1(手势)和gamepad的thumbstickbutton(摇杆)的输入数据映射到同一个thumb(分为left和right)输入事件。

该步骤中,thumb接口(adapter接口的一种实施方式)根据输入fkey的值(输入设备的输入方式)判断输入设备的硬件类型。

在步骤120,根据目标位置参数,标记目标位置,并根据目标位置是否可进行teleport控制,重新标记目标位置。

该步骤中,ps4平台中的目标位置是始终从摄像机位置多步跟踪(trace)得到,不同于pc版本,pc版本的目标位置是从激活的handmesh位置进行多步跟踪。因此在使用gamepad时,不应该再去模拟handmesh。

当不需要模拟handmesh时,ps4平台的触摸、抓取等场景互动事件都依赖于目标位置参数,此时十分有必要在目标位置进行标记。在目标位置进行标记的一种方式是,通过目标位置的法线朝向,在目标位置所在的平面上绘制一个标记。并且当thumb接口输出玩家输入数据时(不再需要关心是何种硬件设备的输入),可以根据目标位置的actor(模型)的tag(标签),判断目标位置是否可进行teleport控制,再在目标位置绘制新的提示标记。

在步骤130,根据输入设备的类型以及目标位置参数,计算目标角度参数。

该步骤中,目标角度参数可以满足玩家本身静止的状态下,不使用hmd(头戴式显示器)的位置朝向模拟,仅通过计算输出的目标角度参数,即可控制teleport控制完成后角色(目标)的朝向变化。

为了计算目标角度参数,通过获取角度接口,将输入设备的输入数据与teleport控制解耦,并且单独封装一个获取运动控制角度(目标角度参数)的方法。

当输入设备是motioncontroller时,需要通过手势计算角度,即获取到thumb接口的输入数据,记录激活的handmesh的初始位置,将handmesh的相对xy坐标平面的运动转化成角度值。此时需要以forwardvector作为y轴,rightvector作为x轴,并根据坐标系计算反余弦的角度值,得到角度值(目标角度参数)。

当输入设备是gamepad时,需要通过摇杆计算角度,即获取gamepad的thumbstick的x、y坐标值,直接转换成角度值。

通过计算目标角度参数,使进行teleport控制时,无需关心当前是何种硬件设备的输入,而只需要处理输入的角度值。

在步骤140,基于目标位置参数、目标角度参数,控制目标进行teleport控制。

该步骤中,teleport控制既可以包括对目标进行移动、旋转等操作,还可以包括生成teleport特效操作,以及通过事件分发器调用teleport事件和trace事件等操作。

在上述过程中,通过thumb接口、获取角度接口封装目标位置参数、目标角度参数的获取过程,使输入设备的输入数据与teleport控制解耦,从而能够在ps4平台上处理两种不同输入设备的teleport控制,并且能够实现保证游戏性相对一致的teleport控制,以便进行vr游戏的ps4主机平台移植。

图3为根据本发明的根据输入设备类型控制游戏目标移动的装置架构图,如图3所示,本发明的根据输入设备类型控制游戏目标移动的装置300,包括:数据输入单元310、目标角度计算单元320、移动控制执行单元330,其中,

数据输入单元310,用于将不同输入设备的输入数据映射到同一输入事件,并判断输入设备的类型。其中,输入数据包括:输入设备的输入方式、目标位置参数。

具体而言,因为硬件输入有统一的fkey类型的回调参数,所以将motioncontrolller的grip1(手势)和gamepad的thumbstickbutton(摇杆)的输入映射到同一个thumb(分为left和right)输入事件。

通过thumb接口(adapter接口的一种实施方式)根据输入fkey的值(输入设备的输入方式)判断输入设备的硬件类型。

目标角度计算单元320,用于根据输入设备的类型以及目标位置参数,计算目标角度参数。

具体而言,目标角度参数可以满足玩家本身静止的状态下,不使用hmd(头戴式显示器)的位置朝向模拟,仅通过计算输出的目标角度参数,即可控制teleport控制完成后角色(目标)的朝向变化。

为了计算目标角度参数,通过获取角度接口,将输入设备的输入数据与teleport控制解耦,并且单独封装一个获取运动控制角度(目标角度参数)的方法。

当输入设备是motioncontroller时,需要通过手势计算角度,即获取到thumb接口的输入数据,记录激活的handmesh的初始位置,将handmesh的相对xy坐标平面的运动转化成角度值。此时需要以forwardvector作为y轴,rightvector作为x轴,并根据坐标系计算反余弦的角度值,得到角度值(目标角度参数)。

当输入设备是gamapad时,需要通过摇杆计算角度,即获取gamepad的thumbstick的x、y坐标值,直接转换成角度值。

通过计算目标角度参数,进行teleport控制时,无需关心当前是何种硬件设备的输入,而只需要处理输入的角度值。

移动控制执行单元330,用于基于目标位置参数、目标角度参数,控制目标进行teleport控制。

具体而言,teleport控制既可以包括对目标进行移动、旋转等操作,还可以包括生成teleport特效操作,以及通过事件分发器调用teleport事件和trace事件等操作。优选地,目标位置参数、目标角度参数在封装后,直接用于teleport控制。

进一步地,本发明的基于输入设备类型控制目标teleport控制的装置300,还包括:目标参数标记单元340,其用于根据目标位置参数,标记目标位置,并根据目标位置是否可进行teleport控制,重新标记目标位置。

具体而言,ps4平台中的目标位置是始终从摄像机位置多步trace得到,不同于pc版本,pc版本的目标位置是从激活的handmesh位置进行多步trace。因此在使用gamepad时,不应该再去模拟handmesh。

当不需要模拟handmesh时,ps4平台的触摸、抓取等场景互动事件都依赖于目标位置参数,此时十分有必要在目标位置进行标记。在目标位置进行标记的一种方式是,通过目标位置的法线朝向,在目标位置所在的平面上绘制一个标记。并且当thumb接口输出玩家输入数据时(不再需要关心是何种硬件设备的输入),可以根据目标位置的actor(模型)的tag(标签),判断目标位置是否可进行teleport控制,再在目标位置绘制新的提示标记。

在本实施例中,通过thumb接口、获取角度接口封装目标位置参数、目标角度参数的获取过程,使输入设备的输入数据与teleport控制解耦,从而能够在ps4平台上处理两种不同输入设备的teleport控制,并且能够实现保证游戏性相对一致的teleport控制,以便进行vr游戏的ps4主机平台移植。

本发明的基于输入设备类型控制目标teleport控制的方法及装置,通过thumb接口、获取角度接口封装不同输入设备的输入数据(gamepad的摇杆输入和motioncontroller的位置输入、grip按键),将不同输入设备的输入数据与角色(目标)的teleport控制解耦,使角色的teleport事件暴露出目标位置和目标角度两个参数,进行teleport控制时,只需获取接口输出的目标位置和目标角度,无需关心玩家是使用什么硬件(输入设备)输入的。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1