本技术涉及虚拟现实(virtual reality,vr),提供一种基于反向动力学的虚拟角色驱动方法及虚拟现实设备。
背景技术:
1、在vr行业中,虚拟角色驱动在vr游戏、vr教育、vr训|练等领域具有广泛的应用前景,因此,一直是vr行业关注的焦点。
2、传统的虚拟角色驱动技术主要依赖于预先制作的动画数据或关键帧动画。然而,随着vr技术的不断发展,基于逆向动力学(inverse kinematics,ik)的虚拟角色驱动技术日益受到关注。基于ik的虚拟角色驱动技术通过模拟人体骨骼和关节运动,实现更真实、更流畅的人物动作,且可以根据用户的动作和姿态实时调整虚拟角色的动作,提供更沉浸式的用户体验。
3、然而基于ik的虚拟角色驱动技术中,由于角色模型与真实人物之间存在一定的差异,驱动效果不尽如人意。因此,提高虚拟角色驱动的真实性,成为基于ik的虚拟角色驱动技术中亟待解决的问题。
技术实现思路
1、本技术实施例提供了一种基于反向动力学的虚拟角色驱动方法及虚拟现实设备,用于提升虚拟角色驱动的真实性。
2、一方面本技术实施例提供一种基于反向动力学的虚拟角色驱动方法,包括:
3、获取角色模型,所述角色模型的骨架中各骨骼节点间具有父子关系;
4、从所述骨架中选定进行ik驱动的头部骨骼节点、左手骨骼节点和右手骨骼节点,以及,从将头部骨骼节点、左手骨骼节点和右手骨骼节点分别与头部关键点、左手关键点和右手关键点进行绑定,其中,所述头部关键点、所述左手关键点和所述右手关键点处佩戴有用于采集6dof位姿的传感器;
5、对所述头部关键点、所述左手关键点和所述右手关键点的初始6dof位姿进行调整;
6、获取所述角色模型的第一高度和目标用户的第二高度,并根据所述第一高度和所述第二高度对所述角色模型与所述目标用户进行校准适配以保证二者体型相似;
7、获取所述头部关键点、左右关键点和右手关键点的目标6dof位姿,结合所述父子关系和绑定关系,利用配置好的所述ik解算器,驱动所述角色模型运动。
8、另一方面,本技术实施例提供一种虚拟现实设备,包括hmd、左手柄和右手柄,且所述hmd、所述左手柄和所述右手柄中,分别安装有采集6dof位姿的传感器,其中,所述hmd还包含处理器、存储器、显示器、相机和通信接口,所述通信接口、所述相机、所述显示器、所述存储器、所述传感器和所述处理器通过总线连接;
9、所述通信接口用于与所述左手柄和所述右手柄进行通信,接收所述左手柄和所述右手柄中所述传感器采集的6dof位姿;
10、所述存储器存储有计算机程序,所述处理器根据所述计算机程序,执行以下操作:
11、获取角色模型,所述角色模型的骨架中各骨骼节点间具有父子关系;
12、从所述骨架中选定进行ik驱动的头部骨骼节点、左手骨骼节点和右手骨骼节点,以及,从将头部骨骼节点、左手骨骼节点和右手骨骼节点分别与头部关键点、左手关键点和右手关键点进行绑定,其中,所述头部关键点、所述左手关键点和所述右手关键点处佩戴有用于采集6dof位姿的所述传感器;
13、对所述头部关键点、所述左手关键点和所述右手关键点的初始6dof位姿进行调整;
14、获取所述角色模型的第一高度和目标用户的第二高度,并根据所述第一高度和所述第二高度对所述角色模型与所述目标用户进行校准适配以保证二者体型相似;
15、获取所述头部关键点、左右关键点和右手关键点的目标6dof位姿,结合所述父子关系和绑定关系,利用配置好的所述ik解算器,驱动所述角色模型运动并通过所述显示器进行显示。
16、可选的,所述处理器根据所述第一高度和所述第二高度对所述角色模型与所述目标用户进行校准适配以保证二者体型相似,具体操作为:
17、根据所述第一高度和所述第二高度的比值对所述角色模型进行缩放以保证二者体型相似;或者,
18、根据所述第一高度和所述第二高度调整vr设备上所述相机高度以使所述角色模型与所述目标用户的高度一致,以及,根据所述第一高度和所述第二高度确定输入到ik解算器中胳膊的ik权重。
19、可选的,所述处理器根据所述第一高度和所述第二高度调整vr设备上所述相机高度以使所述角色模型与所述目标用户的高度一致,以及,根据所述第一高度和所述第二高度确定输入到ik解算器中胳膊的ik权重,具体操作为:
20、计算所述第一高度和所述第二高度的差值;
21、根据所述差值,对调整后所述头部关键点的初始6dof位姿中的初始高度进行调整,获得调整后所述相机的目标高度,以使所述角色模型与所述目标用户的高度一致。
22、计算所述第一高度和所述第二高度的比值;
23、若所述比值小于1,则将所述比值作为输入到ik解算器中胳膊的ik权重,否则,将所述比值的倒数作为输入到ik解算器中胳膊的ik权重。
24、可选的,所述处理器根据所述第一高度和所述第二高度的比值对所述角色模型进行缩放以保证二者体型相似,具体操作为:
25、计算所述第二高度和所述第一高度的比值;
26、根据所述比值对所述角色模型进行缩放以使所述角色模型与所述目标用户的体型相似。
27、可选的,所述处理器获取所述角色模型的第一高度和目标用户的第二高度,具体操作为:
28、将所述头部骨骼节点的高度与所述骨架中根节点的高度之间的差值,作为所述角色模型的第一高度;
29、将调整后所述头部关键点的初始6dof位姿中的初始高度,与所述骨架中根节点的高度之间的差值,作为所述目标用户的第二高度。
30、可选的,所述目标用户头戴所述vr设备的hmd,左手持有所述vr设备的左手柄,右手持有所述vr设备的右手柄,所述hmd、所述左手柄和所述右手柄安装有所述传感器,所述hmd上的相机表征所述目标用户的眼睛,所述处理器对所述头部关键点、所述左手关键点和所述右手关键点的初始位姿进行调整,具体操作为:
31、获取所述头部关键点与眼部间的第一位姿偏差,并根据所述第一位姿偏差,调整所述头部关键点的初始6dof位姿以使所述第一位姿偏差为0;
32、获取所述左手关键点与所述左手柄间的第二位姿偏差,并根据所述第二位姿偏差,调整所述左手关键点的初始6dof位姿以使所述第二位姿偏差为0;
33、获取所述右手关键点与所述右手柄间的第三位姿偏差,并根据所述第三位姿偏差,调整所述右手关键点的初始6dof位姿以使所述第三位姿偏差为0;
34、其中,每个位姿偏差包括位置偏差和旋转角度偏差。
35、可选的,所述处理器获取所述头部关键点、左右关键点和右手关键点的目标6dof位姿,结合所述父子关系和绑定关系,利用配置好的所述ik解算器,驱动所述角色模型运动并通过显示进行显示,具体操作为:
36、根据所述头部关键点、所述左手关键点和所述右手关键点的目标6dof位姿以及所述绑定关系,利用配置好的所述ik解算器,计算所述头部骨骼节点、所述左手骨骼节点和所述右手骨骼节点的目标6dof位姿;
37、根据所述头部骨骼节点、所述左手骨骼节点和所述右手骨骼节点的目标6dof位姿,以及所述父子关系,利用配置好的所述ik解算器,计算所述骨架中全部骨骼节点的目标6dof位姿;
38、根据所述全部骨骼节点的目标6dof位姿,驱动所述角色模型运动并通过显示器进行显示。
39、另一方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机设备执行本技术实施例提供的一种基于反向动力学的虚拟角色驱动方法的步骤。
40、本技术实施例提供的基于反向动力学的虚拟角色驱动方法的有益效果如下:
41、将角色模型的骨架中ik驱动的头部骨骼节点、左手骨骼节点和右手骨骼节点,分别与带有传感器的头部关键点、左手关键点和右手关键点进行绑定后,对头部关键点、左手关键点和右手关键点的初始6dof位姿进行调整,从而使ik驱动角色模型时更加协调、精准。另一方面,根据角色模型的第一高度和目标用户的第二高度对角色模型与目标用户进一步进行校准适配,使得角色模型与目标用户的体型一致,从而在利用目标用户的头部关键点、左右关键点和右手关键点的目标6dof位姿驱动角色模型时,提高了角色模型驱动的真实性。并且,基于上述调整,整个ik驱动过程无需对ik驱动中的参数进行手动调节便可得到驱动效果较为真实的模型,从而提高了ik驱动的效率。
42、本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其它优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
1.一种基于反向动力学的虚拟角色驱动方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述根据所述第一高度和所述第二高度对所述角色模型与所述目标用户进行校准适配以保证二者体型相似,包括:
3.如权利要求1所述的方法,其特征在于,所述根据所述第一高度和所述第二高度调整vr设备上相机高度以使所述角色模型与所述目标用户的高度一致,以及,根据所述第一高度和所述第二高度确定输入到ik解算器中胳膊的ik权重,包括:
4.如权利要求1所述的方法,其特征在于,所述根据所述第一高度和所述第二高度的比值对所述角色模型进行缩放以保证二者体型相似,包括:
5.如权利要求1-4中任一项所述的方法,其特征在于,所述获取所述角色模型的第一高度和目标用户的第二高度,包括:
6.如权利要求1-4中任一项所述的方法,其特征在于,所述目标用户头戴所述vr设备的hmd,左手持有所述vr设备的左手柄,右手持有所述vr设备的右手柄,所述hmd、所述左手柄和所述右手柄安装有所述传感器,所述hmd上的相机表征所述目标用户的眼睛,所述对所述头部关键点、所述左手关键点和所述右手关键点的初始位姿进行调整,包括:
7.如权利要求1-4中任一项所述的方法,其特征在于,所述获取所述头部关键点、左右关键点和右手关键点的目标6dof位姿,结合所述父子关系和绑定关系,利用配置好的所述ik解算器,驱动所述角色模型运动,包括:
8.一种虚拟现实设备,其特征在于,包括头戴式显示器hmd、左手柄和右手柄,且所述hmd、所述左手柄和所述右手柄中,分别安装有采集6dof位姿的传感器,其中,所述hmd还包含处理器、存储器、显示器、相机和通信接口,所述通信接口、所述相机、所述显示器、所述存储器、所述传感器和所述处理器通过总线连接;
9.如权利要求8所述的虚拟现实设备,其特征在于,所述处理器根据所述第一高度和所述第二高度对所述角色模型与所述目标用户进行校准适配以保证二者体型相似,具体操作为:
10.如权利要求9所述的虚拟现实设备,其特征在于,所述处理器根据所述第一高度和所述第二高度调整vr设备上所述相机高度以使所述角色模型与所述目标用户的高度一致,以及,根据所述第一高度和所述第二高度确定输入到ik解算器中胳膊的ik权重,具体操作为: