一种视角控制方法、装置和VR系统
技术领域
本发明涉及虚拟现实技术领域,特别涉及一种VR眼镜结合体感模拟器使用时的视角控制方法、装置和VR系统。
背景技术
因为虚拟现实技术(Virtual Reality,VR)设备可以给用户带来逼真的视觉体验和听觉体验,VR设备被应用在各种场景,特别是在VR游戏中使用VR眼镜,可以使游戏画面更加逼真,大大增加了游戏的乐趣。为了进一步提高游戏的逼真度,在游戏过程中,VR眼镜往往是结合体感模拟器使用,不仅仅是给用户带来侵入视觉的感受,还可以让用户有身临其境的体感。
当VR眼镜和体感模拟器结合使用时,两者的匹配度会直接影响用户的体验感受。用户通过头部运动控制VR眼镜中的陀螺仪的数据,进而控制VR中的游戏视角;体感模拟器会根据游戏中世界坐标系中的变化控制用户身体的移动。但是,体感模拟器会控制用户身体的移动的同时也会带动用户的头部运动,使得游戏系统不能辨认VR眼镜中陀螺仪数值变化的来源到底是用户主观的头部运动导致的,还是体感模拟器带动头部运动导致的。特别是针对游戏中的偏航角度,体感模拟器的偏航角是根据游戏中偏航角速度的高频分量计算获得的,VR眼镜中的游戏视角是根据VR眼镜中的陀螺仪偏移角度进行设置的,当模拟器偏航角和VR眼镜同时发生转动时,模拟器偏航角会影响VR眼镜的陀螺仪的示数,系统不能分辨视角偏移的来源,无法避免模拟器偏航角对视角的影响,造成游戏中的视角发生偏移的不准确性,在一定程度上降低的游戏的逼真度,影响用户的使用感受,降低用户体验。
发明内容
鉴于现有技术中当VR眼镜和体感模拟器结合使用时,系统不能分辨视角偏移的来源,无法避免模拟器偏航角对视角的影响,造成游戏中的视角发生偏移的不准确性,在一定程度上降低的游戏的逼真度,影响用户的使用感受,降低用户体验的问题,提出了本发明的一种VR眼镜结合体感模拟器使用时的视角控制方法、装置和VR系统,以便解决或至少部分地解决上述问题。
根据本发明的一个方面,提供了一种VR眼镜结合体感模拟器使用时的视角控制方法,所述方法包括:
获取VR游戏客户端在运行游戏时实时输出的偏航角速度值;
根据所述偏航角速度值,利用体感算法计算所述体感模拟器应该到达的偏航角度值;
读取所述VR眼镜中的陀螺仪当前的水平偏转角度值,使用所述偏航角度值修正所述水平偏转角度值;
将修正后的所述水平偏转角度值输出给所述VR游戏客户端的摄像机,以便根据修正后的所述水平偏转角度值控制所述VR眼镜中游戏的显示视角。
根据本发明的另一个方面,提供了一种VR眼镜结合体感模拟器使用时的视角控制装置,该装置包括:
偏航角速度获取单元,用于获取VR游戏客户端在运行游戏时实时输出的偏航角速度值;
偏航角度计算单元,用于根据所述偏航角速度值,利用体感算法计算所述体感模拟器应该到达的偏航角度值;
偏转角度修正单元,用于读取所述VR眼镜中的陀螺仪当前的水平偏转角度值,使用所述偏航角度值修正所述水平偏转角度值;
视角控制单元,用于将修正后的所述水平偏转角度值输出给所述VR游戏客户端的摄像机,以便根据修正后的所述水平偏转角度值控制所述VR眼镜中游戏的显示视角。
根据本发明的再一个方面,提供了一种VR系统,所述VR系统包括:VR主机、VR眼镜和体感模拟器,所述VR主机内安装有VR游戏客户端,所述VR游戏客户端向所述VR眼镜提供在体验游戏的VR视频;
所述VR主机,用于获取VR游戏客户端在运行游戏时实时输出的偏航角速度值;根据所述偏航角速度值,利用体感算法计算所述体感模拟器应该到达的偏航角度值;读取所述VR眼镜中的陀螺仪当前的水平偏转角度值,使用所述偏航角度值修正所述水平偏转角度值;以及将修正后的所述水平偏转角度值输出给所述VR游戏客户端的摄像机,根据修正后的所述水平偏转角度值控制所述VR眼镜中游戏的显示视角。
综上所述,本发明获取VR游戏客户端在运行游戏时实时输出的偏航角速度值,并利用体感算法计算所述体感模拟器应该到达的偏航角度值后,利用该偏航角度值直接修正VR眼镜中陀螺仪的水平偏转角度值,使VR游戏客户端根据修正后的水平偏转角度值控制VR眼镜中游戏的显示视角,修正后的水平偏转角度消除了体感模拟器打来的视角偏差,提高了游戏的逼真度,且修正时,直接利用体感算法输出的偏航角度值,不需要经过体感模拟器的位姿反馈,使得视角的偏转与体感模拟器的移动同步进行,减小了视觉延迟的同时,还消除了体感模拟器的机械结构产生的误差。可见,本发明的技术方案避免体感模拟器偏航角对视角的影响,提高了VR眼镜中视角的准确性,提高游戏的逼真度,增强用户体验。
附图说明
图1为本发明一个实施例提供的一种VR眼镜结合体感模拟器使用时的视角控制方法的流程图;
图2为本发明一个实施例提供的一种VR眼镜结合体感模拟器使用时的视角控制装置的示意图;
图3为本发明一个实施例提供的一种VR系统的示意图。
具体实施方式
本发明的设计思路是:鉴于现有技术中当VR眼镜和体感模拟器结合使用时,系统不能分辨视角偏移的来源,无法避免模拟器偏航角对视角的影响,造成游戏中的视角发生偏移的不准确性,在一定程度上降低的游戏的逼真度,影响用户的使用感受,降低用户体验的问题,又考虑到当VR眼镜和体感模拟器结合使用时,VR眼镜中的陀螺仪的水平偏转角度值是用户主观的头部运动和体感模拟器会带动用户头部运动同时引起的,本发明在获取VR游戏客户端在运行游戏时实时输出的偏航角速度值,并利用体感算法计算体感模拟器应该到达的偏航角度值后,利用该偏航角度值直接修正VR眼镜中陀螺仪的水平偏转角度值,使VR游戏客户端根据修正后的水平偏转角度值控制VR眼镜中游戏的显示视角,以避免模拟器偏航角对视角的影响。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1为本发明一个实施例提供的一种VR眼镜结合体感模拟器使用时的视角控制方法的流程图。如图1所示,该方法包括:
步骤S110,获取VR游戏客户端在运行游戏时实时输出的偏航角速度值。
游戏中的偏航角是水平方向上的偏转角,例如,在VR赛车游戏中,赛车在车道上向左转的动作所依据的就是游戏中的偏航角。
步骤S120,根据偏航角速度值,利用体感算法计算体感模拟器应该到达的偏航角度值。
当游戏输出偏航角速度后,为了提高游戏的逼真度,体感模拟器会根据偏航角速度值,利用体感算法计算其应该到达的偏航角度值,然后控制体感模拟器进行相应的运动,使游戏用户体验到游戏中偏航角的变化。
步骤S130,读取VR眼镜中的陀螺仪当前的水平偏转角度值,使用偏航角度值修正水平偏转角度值。
VR眼镜中显示的是游戏中的视角画面,该视角是依据VR眼镜中的陀螺仪的水平偏转角度值进行显示的,即用户通过头部运动改变陀螺仪的水平偏转角度值,进而改变视角画面。但是当体感模拟器根据偏航角度值带动用户转动的同时,也会带动用户的头部转动,会影响陀螺仪的水平偏转角度值,且此部分陀螺仪的水平偏转角度值并不是由用户主观进行头部运行引起的,这种情况下,如果用户不转动头部,则陀螺仪的水平偏转角度值是由体感模拟器引起的,如果用户转动头部,则陀螺仪的水平偏转角度值是由体感模拟器和用户的头部运动同时引起的。这都会导致VR眼镜中展现给用户的视角画面的不准确。例如,用户佩戴VR眼镜结合体感模拟器使用时,体感模拟器带动用户向左转动10度,但是用户的头部是向右转动10度,正确的情况是,VR眼镜中的视角画面是向右转10度的画面,但是由于体感模拟器带动用户向左转动了10度,这就使得VR眼镜中的陀螺仪的水平偏转角度值是0度,VR眼镜中的视角画面是不动的。因此为了消除体感模拟器带来的视角的不准确,可以用体感模拟器应该到达的偏航角度值直接修正水平偏转角度值,且无需经过体感模拟器的位姿反馈,消除体感模拟器的机械结构产生的误差。
步骤S140,将修正后的水平偏转角度值输出给VR游戏客户端的摄像机,以便根据修正后的水平偏转角度值控制VR眼镜中游戏的显示视角。
这里的VR游戏客户端的摄像机就是指用户在游戏中选用的游戏角色的视角。VR游戏客户端的摄像机会根据修正后的水平偏转角度值控制VR眼镜中游戏的显示视角,同时,体感模拟器也会根据偏航角度值带动用户进行移动,进而使得视角的偏转与体感模拟器的移动同步进行,减小了视觉延迟。
可见,本发明的技术方案避免体感模拟器偏航角对视角的影响,提高了VR眼镜中视角的准确性,提高游戏的逼真度,增强用户体验。
在本发明的一个实施例中,步骤S130中的使用偏航角度值修正水平偏转角度值包括:将读取的VR眼镜中的陀螺仪当前的水平偏转角度值减去利用体感算法计算出的体感模拟器应该到达的偏航角度值,将得到的差值作为修正后的陀螺仪当前的水平偏转角度值。
由上述说明可知,陀螺仪的水平偏转角度值是由体感模拟器和用户的头部运动同时引起的,那么为了获得正确的陀螺仪的水平偏转角度值,可直接将体感模拟器应该达到的偏航角度值减去即可,即将读取的VR眼镜中的陀螺仪当前的水平偏转角度值减去利用体感算法计算出的体感模拟器应该到达的偏航角度值。例如,用户佩戴VR眼镜结合体感模拟器使用时,体感模拟器带动用户向左转动10度即-10°,但是用户的头部是向右转动10度即+10°,为了是VR眼镜中的陀螺仪的水平偏转角度值变为+10°,将读取的VR眼镜中的陀螺仪当前的水平偏转角度值0°减去利用体感算法计算出的体感模拟器应该到达的偏航角度值-10°,就得到正确的陀螺仪的水平偏转角度值变为+10°,进而控制VR眼镜中游戏的显示视角为向右偏转10°的视角。
用体感算法获得体感模拟器应该到达的偏航角度值后,还需要利用该偏航角度值控制体感模拟器移动,在本发明的一个实施例中,图1所示的方法还包括:对利用体感算法计算出的偏航角度值进行反解运算,求取体感模拟器的各个电缸的行程;根据求取出的电缸的行程,向相应的电缸发送控制指令,控制该电缸伸缩到指定长度,使体感模拟器到达指定位姿。这个步骤和图1所示方法中的步骤S130同时进行,这样才能实现使得视角的偏转与体感模拟器的移动同步进行。
其中,上述体感模拟器为六自由度的运动模拟器。该六自由度的运动模拟器等狗完成留个自由度的运动,包括前后、左右、上下以及俯仰、翻滚、偏航。
图2为本发明一个实施例提供的一种VR眼镜结合体感模拟器使用时的视角控制装置的示意图。如图2所示,该VR眼镜结合体感模拟器使用时的视角控制装置包括:
偏航角速度获取单元210,用于获取VR游戏客户端在运行游戏时实时输出的偏航角速度值。
偏航角度计算单元220,用于根据偏航角速度值,利用体感算法计算体感模拟器应该到达的偏航角度值。
偏转角度修正单元230,用于读取VR眼镜中的陀螺仪当前的水平偏转角度值,使用偏航角度值修正水平偏转角度值。
视角控制单元240,用于将修正后的水平偏转角度值输出给VR游戏客户端的摄像机,以便根据修正后的水平偏转角度值控制VR眼镜中游戏的显示视角。
在本发明的一个实施例中,偏转角度修正单元230具体用于,将读取的VR眼镜中的陀螺仪当前的水平偏转角度值减去利用体感算法计算出的体感模拟器应该到达的偏航角度值,将得到的差值作为修正后的陀螺仪当前的水平偏转角度值。
图3为本发明一个实施例提供的一种VR系统的示意图。如图3所示,该VR系统300包括:VR主机310、VR眼镜320和体感模拟器330,VR主机310内安装有VR游戏客户端,VR游戏客户端向VR眼镜320提供在体验游戏的VR视频。
VR主机310,用于获取VR游戏客户端在运行游戏时实时输出的偏航角速度值;根据偏航角速度值,利用体感算法计算体感模拟器应该到达的偏航角度值;读取VR眼镜320中的陀螺仪当前的水平偏转角度值,使用偏航角度值修正水平偏转角度值;以及将修正后的水平偏转角度值输出给VR游戏客户端的摄像机,根据修正后的水平偏转角度值控制VR眼镜320的在体验游戏的显示视角。
在本发明的一个实施例中,VR主机310具体用于,将读取的VR眼镜中的陀螺仪当前的水平偏转角度值减去利用体感算法计算出的体感模拟器应该到达的偏航角度值,将得到的差值作为修正后的陀螺仪当前的水平偏转角度值。
在本发明的一个实施例中,VR主机310,还用于对利用体感算法计算出的偏航角度值进行反解运算,求取体感模拟器的各个电缸的行程;根据求取出的电缸的行程,向相应的电缸发送控制指令,控制体感模拟器的各维度的电缸伸缩到指定长度到达指定位姿。
在本发明的一个实施例中,体感模拟器330为六自由度的运动模拟器;VR主机310为PC、笔记本电脑。
需要说明的是,图2所示的装置和图3所示的系统的各实施例与图1所示方法的各实施例对应相同,上文已有详细说明,在此不再赘述。
综上所述,本发明获取VR游戏客户端在运行游戏时实时输出的偏航角速度值,并利用体感算法计算所述体感模拟器应该到达的偏航角度值后,利用该偏航角度值直接修正VR眼镜中陀螺仪的水平偏转角度值,使VR游戏客户端根据修正后的水平偏转角度值控制VR眼镜中游戏的显示视角,修正后的水平偏转角度消除了体感模拟器打来的视角偏差,提高了游戏的逼真度,且修正时,直接利用体感算法输出的偏航角度值,不需要经过体感模拟器的位姿反馈,使得视角的偏转与体感模拟器的移动同步进行,减小了视觉延迟的同时,还消除了体感模拟器的机械结构产生的误差。可见,本发明的技术方案避免体感模拟器偏航角对视角的影响,提高了VR眼镜中视角的准确性,提高游戏的逼真度,增强用户体验。
以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。