【发明授权】一种虚拟现实应用的运行控制方法和装置_深圳超多维科技有限公司_201611260768.8 

申请/专利权人:深圳超多维科技有限公司

申请日:2016-12-30

发明/设计人:杨雷;李晓鸣

公开(公告)日:2020-06-23

代理机构:深圳市六加知识产权代理有限公司

公开(公告)号:CN106873767B

代理人:王广涛

主分类号:G06F3/01(20060101)

地址:518000 广东省深圳市前海深港合作区前湾一路1号A栋201室

分类号:G06F3/01(20060101);G06F3/16(20060101);G06T19/00(20110101)

优先权:

专利状态码:有效-授权

法律状态:2020.06.23#授权;2017.07.14#实质审查的生效;2017.06.20#公开

摘要:本发明实施方式公开了一种虚拟现实应用的运行控制方法,包括:跟踪并获取用户当前头部姿态参数,根据该当前头部姿态参数,确定用户头部的运动状态;根据预先建立的头部运动状态与用户输入事件的对应关系,确定该用户头部的运动状态所对应的用户输入事件;根据该用户头部的运动状态所对应的用户输入事件,执行该用户输入事件对应的功能。本发明通过建立头部运动状态与用户输入事件的映射关系,使得用户在跟踪头部姿态建立虚拟现实场景的同时也能实现对虚拟现实应用内容的操控和交互,从而带给用户沉浸感更强,使用更舒适和便利的VR交互体验。

主权项:1.一种虚拟现实应用的运行控制方法,其特征在于,包括:跟踪并获取用户当前头部姿态参数,根据所述当前头部姿态参数,确定用户头部的运动状态;根据所述用户头部的运动状态,确定用户输入事件,具体地,当所述用户输入事件包括视角控制事件和方向控制事件时,根据预先建立的头部运动状态与用户输入事件的对应关系,确定所述用户头部的运动状态所对应的用户输入事件,当所述用户输入事件包括方向控制事件时,读取用户的外接设备输入事件,根据预先建立的头部运动状态、外接设备输入事件与用户输入事件的对应关系,确定所述用户头部的运动状态和所述用户的外接设备输入事件所对应的用户输入事件,其中,所述外接设备包括二值按键,则所述外接设备输入事件包括第一输入事件和第二输入事件,此时,所述预先建立的头部运动状态、外接设备输入事件与用户输入事件的对应关系包括:当所述头部运动状态向上时,若所述外接设备输入事件为第一输入事件,则所述用户输入事件为向上事件,若所述外接设备输入事件为第二输入事件,则所述用户输入事件为向下事件,当所述头部运动状态向下时,若所述外接设备输入事件为第一输入事件,则所述用户输入事件为向下事件,若所述外接设备输入事件为第二输入事件,则所述用户输入事件为向上事件,当所述头部运动状态向左时,若所述外接设备输入事件为第一输入事件,则所述用户输入事件为向左事件,若所述外接设备输入事件为第二输入事件,则所述用户输入事件为向右事件,当所述头部运动状态向右时,若所述外接设备输入事件为第一输入事件,则所述用户输入事件为向右事件,若所述外接设备输入事件为第二输入事件,则所述用户输入事件为向左事件,当所述头部运动状态向左上时,若所述外接设备输入事件为第一输入事件,则所述用户输入事件为向左上事件,若所述外接设备输入事件为第二输入事件,则所述用户输入事件为右下事件,当所述头部运动状态向右上时,若所述外接设备输入事件为第一输入事件,则所述用户输入事件为向右上事件,若所述外接设备输入事件为第二输入事件,则所述用户输入事件为左下事件,当所述头部运动状态向左下时,若所述外接设备输入事件为第一输入事件,则所述用户输入事件为向左下事件,若所述外接设备输入事件为第二输入事件,则所述用户输入事件为右上事件,当所述头部运动状态向右下时,若所述外接设备输入事件为第一输入事件,则所述用户输入事件为向右下事件,若所述外接设备输入事件为第二输入事件,则所述用户输入事件为左上事件;执行所确定的用户输入事件对应的功能。

全文数据:一种虚拟现实应用的运行控制方法和装置技术领域[0001]本发明实施方式涉及虚拟现实VR领域,特别是涉及一种虚拟现实应用的运行控制方法和装置。背景技术[0002]当前前沿技术研宄中,虚拟现实VR是关注度很高的技术研究方向。VR为用户呈现的是完全虚拟的内容,用户带上一个头戴式VR设备,沉浸在完全虚拟内容的世界中,和现实完全隔离。用户与虚拟内容世界的交互是通过外部交互设备实现,比如头部跟踪传感模块、手柄等其它可穿戴设备。[0003]针对虚拟现实设备,现有头戴式VR设备一般包括头戴式显示器和VR内容生成设备。[0004]头戴式显示器可以穿戴在用户头部并向用户提供虚拟场景的沉浸式视场。除此之夕卜,头戴式显示器还包含用于头部跟踪定位的传感器。[0005]VR内容生成设备包含计算模块、存储模块、和头部定位模块。头部定位模块实时从头戴式显示器中的头部定位传感器获得数据,经过传感器融合相关算法处理,头部定位模块能够得出当前用户的头部姿态。[0006]头部姿态参数一般是指以头部为原点建模,绕X,Y,Z三个轴的ePitch,0yaw,0rcillMR角度。[0007]VR内容生成设备从头部定位模块中获得当前头部姿态,从存储模块中获得渲染虚拟场景所需的素材,经过计算模块的处理,由渲染模块渲染出以当前用户头部姿态为视角的虚拟场景,并通过头戴式显示器显示到用户眼前。头戴式显示器与VR内容生成设备可以是嵌入式集成在一起(如VR移动一体机),也可以是通过显示数据线(如HDMI连接在一起如HTCVive〇[0008]在现有头戴式VR设备的运行环境下,VR虚拟内容,特别是VR游戏与用户的交互一般通过外接设备,例如蓝牙手柄完成。使用外接设备进行交互时,由于用户头部有头戴显示器,看不到现实环境,使得用户很难定在外部控制器上完成复杂按键输入,现有的外部控制器在VR环境的操作不方便而且因为视线遮挡的原因不够准确。同时,使用外部控制器进行复杂输入会影响VR设备带给用户的沉浸感,用户体验较差。[0009]另外,传统的外接设备布局,如手柄,控制游戏方向需要用到上下左右四个按键,四个按键在外接设备上占据了很大的布局空间。[0010]因此,现有技术还有待于改进和发展。发明内容[0011]本发明实施方式主要解决的技术问题是提供一种虚拟现实应用的运行控制方法和虚拟现实设备,该方法和虚拟现实设备通过建立头部的运动状态与用户输入事件的映射关系,使得用户在跟踪头部姿态建立虚拟现实场景的同时也能实现对虚拟现实应用的操控和交互,从而带给用户沉浸感更强,使用更舒适和便利的VR交互体验。[0012]为解决上述技术问题,第一方面,本发明实施方式采用的一个技术方案是:[0013]提供一种虚拟现实应用的运行控制方法,包括:[0014]跟踪并获取用户当前头部姿态参数,根据该当前头部姿态参数,确定用户头部的运动状态;[0015]根据预先建立的头部运动状态与用户输入事件的对应关系,确定该用户头部的运动状态所对应的用户输入事件;[0016]根据该用户头部的运动状态所对应的用户输入事件,执行该用户输入事件对应的功能。[0017]为了补充头部运动状态的交互,确定该用户头部的运动状态所对应的用户输入事件前,该方法还包括:[0018]读取用户的外接设备输入事件;[0019]该根据预先建立的头部运动状态与用户输入事件的对应关系,确定该用户头部的运动状态所对应的用户输入事件包括:[0020]根据预先建立的头部运动状态、外接设备输入事件与用户输入事件的对应关系,确定该用户头部的运动状态和该用户的外接设备输入事件对应的用户输入事件。[0021]作为具体实施方式,该用户输入事件包括方向控制事件,该方向控制事件用于控制该虚拟现实应用所显示的虚拟现实场景中虚拟对象的运动方向;根据该用户头部的运动状态所对应的用户输入事件,该虚拟现实应用执行该用户输入事件对应的功能包括:[0022]根据该方向控制事件,控制该虚拟场景中的虚拟对象按照该运动方向控制事件对应的运动方向进行运动。[0023]该方向控制事件包括以下至少一个事件:[0024]向上事件,向下事件,向左事件,向右事件,向前事件、向后事件、向左下事件、向右下事件、向左上事件、向右上事件。[0025]该用户头部的运动状态包括头部旋转方向和或头部旋转角度。[0026]针对来源,该虚拟现实应用由原生3D应用转换得到;[0027]该用户输入事件为视角控制事件;[0028]该根据该用户头部的运动状态所对应的用户输入事件,控制该虚拟现实应用执行该用户输入事件对应的功能包括:[0029]根据该当前头部姿态参数,对虚拟场景的原观察矩阵或原投影矩阵进行变换,利用变换后的观察矩阵或者投影矩阵,构建并显示虚拟场景图像,从而对虚拟场景的观察视角进行变换,实现虚拟场景下的观察视角与用户头部运动后的观察视角同步。[0030]为解决上述技术问题,第二方面,本发明实施方式采用的另一个技[0031]术方案是:提供一种虚拟现实应用的运行控制装置,包括:[0032]头部跟踪传感单元,用于跟踪并获取用户当前头部姿态参数,根据该当前头部姿态参数,确定用户头部的运动状态;[0033]事件确认单元,用于根据预先建立的头部运动状态与用户输入事件的对应关系,确定该用户头部的运动状态所对应的用户输入事件;[0034]控制单元,用于根据该用户头部的运动状态所对应的用户输入事件,该虚拟现实应用执行该用户输入事件对应的功能。[0035]优选的,还包括外接交互设备,该外接交互设备用于在确定该用户头部的运动状态所对应的用户输入事件前读取外接设备输入事件,其中,该事件确认单元根据预先建立的头部运动状态、外接设备输入事件与用户输入事件的对应关系,确定该用户头部的运动状态和该用户的外接设备输入事件对应的用户输入事件。[0036]具体实施时,该用户输入事件包括方向控制事件,该方向控制事件用于控制该虚拟现实应用所显示的虚拟现实场景中虚拟对象的运动方向,所述控制单元具体用于根据该方向控制事件,该虚拟现实应用控制该虚拟场景中的虚拟对象按照该运动方向控制事件对应的运动方向进行运动。[0037]该方向控制事件包括以下至少一个事件:[0038]向上事件,向下事件,向左事件,向右事件,向前事件、向后事件、向左下事件、向右下事件、向左上事件、向右上事件。[0039]该用户头部的运动状态包括头部旋转方向和或头部旋转角度。[0040]该虚拟现实应用由原生3D应用转换得到;[0041]该用户输入事件为视角控制事件;[0042]所述控制单元用于:[0043]根据该当前头部姿态参数,对虚拟场景的原观察矩阵或原投影矩阵进行变换,利用变换后的观察矩阵或者投影矩阵,构建并显示虚拟场景图像,从而对虚拟场景的观察视角进行变换,实现虚拟场景下的观察视角与用户头部运动后的观察视角同步。[0044]为解决上述技术问题,第三方面,本发明实施方式采用的又一个技术方案是:提供一种虚拟现实设备,包括:[0045]显示器、至少一个处理器;以及,[0046]与所述至少一个处理器通信连接的存储器;其中,[0047]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。[0048]为解决上述技术问题,第四方面,本发明实施方式采用的再一个技术方案是:提供一种非暂态计算机存储介质,该非暂态计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述的方法。[0049]本发明实施方式的有益效果是:该方法和虚拟现实设备通过建立头部的运动状态与用户输入事件的映射关系,使一部分用户输入事件能够通过头部运动来表示,即,使得在虚拟现实应用中,头部姿态不仅可以用来跟踪用户视角对应的虚拟现实场景,还可以用来模拟外部设备来对虚拟现实应用进行人机交互,从而实现用户对虚拟现实应用的操控,也就是说,使得用户在跟踪头部姿态建立虚拟现实场景的同时也能实现对虚拟现实应用的操控和交互,不需要完全依赖外接设备进行人机交互,从而带给用户沉浸感更强,使用更舒适和便利的VR交互体验。而且,由于头部姿态可以模拟外接设备,因此,可以有效简化虚拟现实设备的外接设备的硬件配置。附图说明[0050]图1是本发明实施方式的虚拟现实设备的硬件模块图;[0051]图2是本发明实施方式的虚拟现实设备的软件模块图;[0052]图3是本发明实施方式的虚拟现实应用的运行控制方法的主要流程图;[0053]图4是本发明实施方式的虚拟现实应用的运行控制方法的具体流程图;[0054]图5是本发明实施方式的虚拟现实应用的运行控制方法的的头部结合按键完成方向控制的实施例示意图;[0055]图6是本发明实施方式的虚拟现实应用的运行控制方法的电子设备的硬件结构示意图;[0056]图7是本发明实施方式的最小有效角度与虚拟对象方向向上的映射关系对照表;[0057]图8是本发明实施方式的最小有效角度与虚拟对象方向向下的映射关系对照表;[0058]图9是本发明实施方式的最小有效角度与虚拟对象方向向左的映射关系对照表;[0059]图10是本发明实施方式的最小有效角度与虚拟对象方向向右的映射关系对照表;[0060]图11是本发明实施方式的最小有效角度与虚拟对象在上左方向的映射关系对照表;[0061]图I2是本发明实施方式的最小有效角度与虚拟对象在上右方向的映射关系对照表;[0062]图I3是本发明实施方式的最小有效角度与虚拟对象在下左方向的映射关系对照表;以及、[0063]图14是本发明实施方式的最小有效角度与虚拟对象在下右方向的映射关系对照表。具体实施方式[0064]为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。[0065]本发明实施例中,将用户的头部运动与用户输入事件对应起来,达到利用用户的头部运动操控虚拟现实设备或者虚拟现实应用的目的。这样,用户可以利用头部运动模拟外接设备的用户输入来与虚拟现实设备和应用进行人机交互,也就是说,用户不需要完全依赖外接设备进行人机交互,从而带给用户沉浸感更强,使用更舒适和便利的VR交互体验。而且,由于头部姿态可以模拟外接设备,因此,可以有效简化虚拟现实设备的外接设备的硬件配置。[0066]本发明实施例中,用户输入事件用来操控虚拟现实设备或者虚拟现实应用,用户输入事件对虚拟现实设备或者虚拟现实应用的操控关系是固有的,是预先规定好的,例如,用户点击某按键,用户点击某按键对应一种用户输入事件,按照预先设定,执行该事件对应的功能,即返回上一菜单。举例说明,在本发明一种实施方式中,用户点头,通过跟踪获取用户当前头部姿态参数,确定用户发生“点头”这种运动,“点头”对应上述点击某按键的输入事件,则,执行相应功能返回上一菜单。[0067]以下对本发明实施例进行详细说明。[0068]请参考图1,从硬件方面阐述,本实施例的虚拟现实设备,包括计算控制单元、头戴式显示器、存储模块、外接设备、传感器、头部跟踪定位传感器以及头部定位模块。本申请实施例中,该外接设备可以是用户交互的游戏手柄。[0069]其中,头部跟踪传感单元获取头部跟踪定位传感器以及其它传感器采集的数据作为头部姿态参数,根据该当前头部姿态参数,确定用户头部的运动状态。该用户头部的运动状态可以指用户的头部是否运动、运动方向和运动幅度等,转换在参数上体现为:该用户头部的运动状态包括头部旋转方向和或头部旋转角度。[0070]该外接设备用于在确定该用户头部的运动状态所对应的用户输入事件前产生外接设备输入事件,例如,按键点击事件,外接设备输入事件可以对虚拟现实设备进行操控,即可以对虚拟现实设备中设置的虚拟显示应用进行操控,也可以和头部运动状态相配合来对虚拟现实应用进行操控,即,使得外接设备输入事件结合头部的运动状态一起确定最终的用户输入事件。[0071]请参考图2,从软件方面阐述,本实施例的虚拟现实设备,包括若干虚拟现实应用、所述虚拟显示应用包括头部跟踪传感单元、事件确认单元和控制单元,其中,控制单元可包括为用户展示虚拟现实场景的渲染模块以及为图像显示模块,该渲染模块可包括图像渲染模块以及声音渲染模块,还可包括用于显示的显示模块,可选的,该显示模块可以进行三维显不。[0072]该头部跟踪传感单元跟踪并获取用户当前头部姿态参数,根据所述当前头部姿态参数,确定用户头部的运动状态;[0073]该事件确认单元根据预先建立的头部运动状态与用户输入事件的对应关系,确定该用户头部的运动状态所对应的用户输入事件;[0074]该控制单元根据该用户头部的运动状态所对应的用户输入事件,该虚拟现实应用执行该用户输入事件对应的功能。[0075]该事件确认单元还可根据预先建立的头部运动状态、外接设备输入事件与用户输入事件的对应关系,确定该用户头部的运动状态和该用户的外接设备输入事件对应的用户输入事件。[0076]以下具体实施例中,该虚拟现实应用例如为游戏程序。[0077]根据该用户头部的运动状态确定该运动状态对应的用户输入事件,该用户输入事件可用于进行游戏操控,则该虚拟现实应用执行该用户输入事件对应的功能,即对游戏进行操控。[0078]举例说明。该具体实施方式中,该用户输入事件为方向控制事件。该方向控制事件用于控制该虚拟现实应用所显示的虚拟现实场景中虚拟对象的运动方向,根据该方向控制事件,该虚拟现实应用控制该虚拟场景中的虚拟对象按照该运动方向控制事件对应的运动方向进行运动。例如,游戏场景中包含有一可操控的虚拟人物,用户可通过头部运动,来控制虚拟人物的运动方向,或者控制虚拟人物的行为,例如射击,走路、跳跃、出拳、踢腿等等。[0079]在其它实施方式中,该虚拟现实应用由原生3D应用转换得到。原生3D应用是指在开发者开发后没有经过除开发者之外的外部修改的3D应用。原生3D应用是可以转换为虚拟显示应用所使用的,但是,原生3D应用是不具备视角跟踪功能的,即不能够根据用户视角来改变显示内容。[0080]为此,为了使该虚拟现实应用具有跟踪视角功能,在该实施方式中,该用户输入事件为视角控制事件。[0081]该渲染模块,根据该当前头部姿态参数,对虚拟场景的原观察矩阵或原投影矩阵进行变换,利用变换后的观察矩阵或者投影矩阵,构建虚拟场景图像,显示模块显示该虚拟场景图像,从而对虚拟场景的观察视角进行变换,实现虚拟场景下的观察视角与用户头部运动后的观察视角同步。[0082]本领域技术人员所公知的,投影矩阵和观察矩阵是渲染过程中进行坐标变换时所采用的变换参数。[0083]该实施方式中,将头部运动状态转换为视角控制事件,利用头部姿态参数对调整观察矩阵或者投影矩阵,显示利用新的投影矩阵或观察矩阵构建的虚拟场景,实现虚拟场景下的观察视角与用户头部运动后的观察视角同步。[0084]本发明对于如何利用头部运动状态修改投影矩阵或观察矩阵不做限定,并领域技术人员可以合理配置。[0085]为了让原生单目视觉的3D游戏,通常为第一人称游戏,可以在虚拟现实设备运行环境下有很好的沉浸感,对原生单目视觉的3D游戏做如下的修改:根据头部姿态参数定位调整游戏视角。在原生的3D游戏中,游戏视角的变换,一般会通过手柄,键盘,鼠标,触摸屏,等交互设备控制。为了实现用户通过头部姿态参数来控制视角变换,需要把头部姿态定位的相关数据转化成游戏支持的交互模式,来完成头部姿态定位对游戏视角的控制。此时,该用户输入事件为视角控制事件。[0086]在一个已经开发完成的原生邪游戏基础上,通过头部定位映射到原生游戏的操作,就是头部定位的头部姿态参数映射成鼠标,键盘,触屏操作,利用头部定位来模拟鼠标等的操作功能,例如,游戏本身是通过鼠标等设备操作视角变换的,现在,用头部定位来控制,场景会跟着头部的运动进行视角变换,沉浸感更强。用户也不需要利用外设设备复杂操作,操作方便而且也增加了沉浸感。[0087]本实施方式中,该头部跟踪传感单元可获取头部跟踪定位传感器产生的6个维度头部姿态参数,意味着除了头部的倾斜角0pitch、偏航角0yaw和滚转角0rQll这三个维度,其它二个维度表不了用户头部的空间位置,该空间位置与本申请技术方案无关联在此不详述。其中本申请涉及的倾斜角epitch、偏航角0yaw和滚转角0rt11参数以戴着虚拟现实设备头盔的用户头部为原点建模X、Y、Z轴请参考图5,510,该三个维度的头部姿态参数为绕X、Y、Z三个轴的epitch,eyaw,0r〇ii旋转角度。[0088]头部跟踪传感单元获取头部姿态参数,该控制单元可基于该头部姿态参数为用户在图像显示屏上搭建特定的虚拟现实场景。用户打开游戏内容后,该头部跟踪传感单元开始工作,获取所需要的头部姿态参数倾斜角epitc;h、偏航角0yaw和滚转角0rQll。其中该游戏内容中包括至少一个游戏虚拟对象。[0089]该事件确认单元,存储头部运动状态与虚拟对象方向的映射关系集,具体映射关系参见后文介绍。[0090]传统原生游戏中,游戏视角的变换,一般会通过手柄,键盘,鼠标,触摸屏,等交互设备控制。而本申请的技术方案,可以实现在利用虚拟现实设备玩传统原生游戏时,用户可通过头部姿态来控制游戏的视角变换和交互。为了实现该功能需要根据该映射关系集把用户的头部姿态参数转化成游戏支持的交互模式,来完成头部姿态对游戏视角方向的控制和交互。[0091]在虚拟游戏基础上,通过头部姿态参数映射到原生游戏的方向操控上,就是头部姿态参数映射成传统的鼠标,键盘,触屏操作,从而实现头部姿态来模拟鼠标等的交互操作功能,例如,游戏本身是通过鼠标等设备操作视角变换的,本实施例中用头部姿态来控制,这样,具体的游戏场景会跟着头部的姿态变化进行视角变换,VR沉浸感更强。用户也不需要利用外设设备完成复杂操作,方便而且也提供了最大的舒适感。[0092]该事件确认单元可根据上述映射关系集由用户的当前头部姿态参数确定用户的运动状态即确定游戏中的虚拟对象在虚拟现实场景中的运动方向。[0093]确定运动方向以后,控制虚拟对象按照该运动方向进行运动,S卩,渲染模块根据事件确认单元确定的该游戏中虚拟对象的运动方向,渲染与该虚拟对象运动方向对应的虚拟现实场景以及虚拟对象本身。[0094]为了增强现场沉浸感提供更好的VR体验,该渲染模块还包括声音渲染模块,该声音渲染模块根据该由头部姿态确定的游戏中虚拟对象的运动方向,提供对应的虚拟对象的渲染声音。具体渲染方式根据内容而定,比如飞机向下俯冲的呼啸声音,又如飞机升空的轰隆隆发动机声音。[0095]由此,头部跟踪传感单元在为系统提供场景信息的同时也能实现对游戏内容的操控和交互。[0096]请一并参考图5,用户通过头戴设备来完成游戏的操控和交互,因为内容激烈或者头部频繁摇摆的原因会产生晕眩,为了缓解用户头部操控的不适,本实施例还提供了简单的辅助外设。也就是说本申请的虚拟现实设备可以供用户单独通过头部姿态来玩虚拟游戏,或者以头部姿态交互为主辅助外设为辅的方式玩虚拟游戏,尽最大可能跟减轻摇摆的头部不适同时增强沉浸感。[0097]其中,本实施例的辅助外设为二值按键,该二值按键用于朝相反的方向改变该虚拟对象的运动方向。该二值按键的一个实施方式就是传统的前、后按键图5,520。该前、后按键的手柄设计简单并易于用户完成方向切换操作。相较于传统四个方向的游戏手柄,其上下左右四个按键在手柄上占据了很大的布局空间,该前、后按键的手柄化了界面布局。[0098]本申请实施例,可以单独使用头部姿态实现游戏的操控和交互,也可以同时结合切换方向的前、后按键,可实现现有游戏中前后左右四个按键8个方向的操控,用户可舒适、沉浸的使用虚拟现实设备。本实施例的游戏方向操控和交互方式一方面简化了刻意交互次数,使用简单方便,在头戴虚拟现实头盔的情形下,避免操作多个按键;另一方面辅助外设仅设置2个方向键,不需要设置上下左右四个按键,减少输入设备的空间占用的同时增强用户的交互体验。[00"]1乍为该头部姿态参数与虚拟对象方向的映射关系集的一种实施方式,该头部姿态参数,表不以头部为中心的X轴倾斜角0pitcll、Y轴偏航角Qyaw、Z轴滚转角0rc11参数,与游戏中虚拟对象的方向的映射关系集可以表达八个虚拟对象的运动方向,具体为上,下,左,右,上左,上右,下左,下右。传统的游输入设备设置四个方向键,可以表达,上,下,左,右,上左,上右,下左,下右。本实施例中,使用头部姿态实现游戏交互,辅助以前进触发键和后退触发键,完成相同的功能定义。[0100]本申请实施例,通过事件确认单元获取头部跟踪传感单元的头部姿态参数,绕X,Y,z三个轴的hitch,eyaw,lii旋转角度。为了清楚的举例说明,以下示例只使用x轴倾斜角epitch,Y轴偏航角0yaw的角度来定位当前的方向,然后辅助以前进触友键和后退触友键,芫成对传统游戏手柄8个方向的表达。[0101]该头部姿态参数与虚拟对象方向的映射关系集举例如下:_2]定义最小有效角度0min,当满足9〇。||eup||0min时,表示方向向上。使用手柄时,点击前进触发键,表示方向上,点击后退触发键,表示方向下,参见M。_[0103]如图8所示,定义最小有效角度9min,当满足90°|pd。™!Iemin,表示方向向下。使用手柄时,点击前进触发键,表示方向下,点击后退触发键,表示方向1。_[0104]如里^所示,定义最小有效角度0min,当满足9〇。||0ieft|le»in,表示方向向左。使用手柄时,点击前进触发键,表不方向左,点击后退触发键,表不方向右'。[0105]如图10所示,定义最小有效角度emin,当满足90°|0right||emin,表示方向向右。使用手柄时,点击前进触发键,表示方向右,点击后退触发键,表示方向左。[0106]如图11所示,定义最小有效角度emin,当满足90°||eup|emin,9〇°||eleft||0min,表示方向向上左。使用手柄时,点击前进触发键,表示方向上左,点击后退触发键,表示方向下右。[0107]如图12所示,定义最小有效角度emin,当满足90°||0up||0min,9O°||0right||emin,表示方向向上右。使用手柄时,点击前进触发键,表示方向上右,点击后退触发键,表示方向下左。[0108]如图13所示,定义最小有效角度emin,当满足90°||ed〇wn||emin,9〇°||0ieft||emin,表示方向向下左。使用手柄时,点击前进触发键,表示方向下左,点击后退触发键,表示方向上右。[0109]如图14所示,定义最小有效角度emin,当满足90°||9d〇ffn||0min,9O〇||0right||0min,表示方向向下右。使用手柄时,点击前进触发键,表示方向下右,点击后退触发键,表示方向上左。[0110]举例而言,用户使用头戴虚拟现实设备玩飞机游戏,需要通过头戴虚拟现实设备控制飞机的飞行方向,则可通过获取头部姿态参数进行控制。在用户不愿意频繁摇晃头部的时候可以结合辅助外设手柄的前进触发键和后退触发键一同完成对游戏的交互和操控。用户点击前进触发键,执行前进功能,控制飞机向前飞行,用户点击后退触发键,执行后退功能,控制飞机向后飞行,检测到用户的头部向左旋转时,执行左进功能,控制飞机向左飞行,检测到用户的头部向右旋转时,执行右进功能,控制飞机向右飞行。而上左,上右,下左,下右的飞行方向控制可通过按键并同时进行头部运动来控制。[0111]请参考图3,本申请实施例还涉及一种虚拟现实应用的运行控制方法,主要包括:[0112]步骤302:跟踪并获取用户当前头部姿态参数,根据该当前头部姿态参数,确定用户头部的运动状态;步骤304:根据预先建立的头部运动状态与用户输入事件的对应关系,确定该用户头部的运动状态所对应的用户输入事件;[0114]步骤306:根据该用户头部的运动状态所对应的用户输入事件,该虚拟现实应用执行该用户输入事件对应的功能。[0115]为了在需要时支持外接设备的交互输入,读取用户的外接设备输入事件;根据预先建立的头部运动状态、外接设备输入事件与用户输入事件的对应关系,确定该用户头部的运动状态和该用户的外接设备输入事件对应的用户输入事件。[0116]本实施方式中,该用户输入事件包括方向控制事件,该方向控制事件用于控制该虚拟现实应用所显示的虚拟现实场景中虚拟对象的运动方向。根据该方向控制事件,该虚拟现实应用控制该虚拟场景中的虚拟对象按照该方向控制事件对应的运动方向进行运动。[0117]所述方向控制事件包括以下至少一个事件:[0118]向上事件,向下事件,向左事件,向右事件,向前事件、向后事件、向左下事件、向右下事件、向左上事件、向右上事件。[0119]所述用户头部的运动状态包括头部旋转方向和或头部旋转角度。[0120]在用户输入事件为方向控制事件的实施例中,具体步骤为;[0121]跟踪获取用户当前头部姿态参数,仅获取X轴倾斜角^奶也,轴偏航角0yaw、Z轴滚转角ercillS态参数,与空间位置参数无关。[0122]控制单元根据该头部姿态参数确定在三维立体图像显示屏显示的虚拟现实场景。[0123]建立头部姿态参数与虚拟对象方向的映射关系集。[0124]根据该映射关系集由用户的当前头部姿态参数确定虚拟对象在虚拟现实场景中的运动方向。[0125]根据该虚拟对象的运动方向,立体图像渲染与该运动方向对应的虚拟现实场景以及虚拟对象。由此实现用户在跟踪头部姿态建立虚拟现实场景的同时也能实现对游戏内容的操控和交互,以带给用户沉浸感更强,使用更舒适和便利的VR交互体验。[0126]请一并参考图4,该方法还包括判断是否使用外接设备的输入事件。本实施方式中,该外接设备为二值按键。[0127]判断是否有外接设备亦即二值按键的输入事件的步骤407。[0128]如果用户使用了二值按键,则该虚拟对象的运动方向改变为相反的方向步骤408。[0129]如果用户没有使用二值按键,进入步骤409。[0130]步骤409:根据由方向控制单元通过头部姿态参数确定的虚拟对象的运动方向,或者根据由手柄改变的相反运动方向,实施立体图像渲染,该渲染针对运动方向对应的虚拟现实场景以及虚拟对象本身。[0131]步骤410:根据该虚拟对象的运动方向,提供对应的渲染声音[0132]本实施例中,该头部姿态参数与虚拟对象方向的映射关系集可以表达的虚拟对象的方向包括上,下,左,右,上左,上右,下左,下右。[0133]本技术方案中:1、本发明通过建立头部姿态与游戏内容中的虚拟对象方向的映射关系,使得用户在跟踪头部姿态建立虚拟现实场景的同时也能实现对游戏内容的操控和交互,从而带给用户沉浸感更强,使用更舒适和便利的VR交互体验;2、本发明设置二值按键,结合头部姿态的游戏交互方式,可实现传统游戏中前后左右四个按键8个方向的操控,用户可舒适、沉浸的使用虚拟现实设备,该二值按键增强用户的交互体验的同时减少了外设手柄的空间占用;3、本发明设置的游戏方向操控和交互方式,一方面简化了用户刻意交互的次数,在头戴虚拟现实头盔的情形下,避免操作多个按键,使用简单方便。[0134]图6是本申请实施例提供的虚拟现实应用的运行控制方法的电子设备600的硬件结构示意图,如图6所示,该电子设备600包括:[0135]多个处理器610、620、存储器630、外接设备640以及显示装置650,图6中的多个处理器分别为CPU和GPU为例。[0136]处理器610、620和存储器630可以通过总线或者其他方式连接,图6中以通过总线连接为例。[0137]存储器630作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的虚拟现实应用的运行控制方法对应的程序指令模块例如,附图2所示的事件确认单元、头部跟踪传感单元以及渲染模块)。处理器610、620通过运行存储在存储器630中的非易失性软件程序、指令以及模块,从而执行终端或者服务器的各种功能应用以及数据处理,即实现上述方法实施例中的虚拟现实应用的运行控制方法。[0138]存储器630可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据虚拟现实设备使用所创建的数据等。此外,存储器630可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器630可选包括相对于处理器610、620远程设置的存储器,这些远程存储器可以通过网络连接至虚拟现实设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。[0139]所述一个或者多个模块存储在所述存储器630中,当被所述一个或者多个处理器610、620执行时,执行上述任意方法实施例中的虚拟现实应用的运行控制方法,例如,执行以上描述的图3中的方法步骤3〇2至步骤3〇8,图4中的方法步骤407至步骤410,实现图2中事件确认单元、头部跟踪传感单元以及渲染模块的功能。[0140]上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。[0141]本申请实施例的电子设备以多种形式存在,包括但不限于:[0142]1移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机例如iPhone、多媒体手机、功能性手机,以及低端手机等。[0143]2超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。[0144]3便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器例如iPod,掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。[0145]4服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。[0146]5其他具有数据交互功能的电子装置。[0147]本申请实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图6中的处理器610、620,可使得上述一个或多个处理器可执行上述任意方法实施例中的虚拟现实应用的运行控制方法,例如,执行以上描述的图3中的方法步骤302至步骤308,图4中的方法步骤4〇7至步骤410,实现图2中事件确认单元、头部跟踪传感单元以及渲染模块的功能。[0148]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。[0149]通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体Read-OnlyMemory,ROM或随机存储记忆体(RandomAccessMemory,RAM等。[0150]最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

权利要求:1.一种虚拟现实应用的运行控制方法,其特征在于,包括:跟踪并获取用户当前头部姿态参数,根据所述当前头部姿态参数,确定用户头部的运动状态;根据预先建立的头部运动状态与用户输入事件的对应关系,确定所述用户头部的运动状态所对应的用户输入事件;根据所述用户头部的运动状态所对应的用户输入事件,执行所述用户输入事件对应的功能。2.根据权利要求1所述的方法,其特征在于,所述确定所述用户头部的运动状态所对应的用户输入事件前,所述方法还包括:读取用户的外接设备输入事件;所述根据预先建立的头部运动状态与用户输入事件的对应关系,确定所述用户头部的运动状态所对应的用户输入事件包括:根据预先建立的头部运动状态、外接设备输入事件与用户输入事件的对应关系,确定所述用户头部的运动状态和所述用户的外接设备输入事件对应的用户输入事件。3.根据权利要求1或2所述的方法,其特征在于,所述用户输入事件包括方向控制事件,所述方向控制事件用于控制所述虚拟现实应用所显示的虚拟现实场景中虚拟对象的运动方向;所述根据所述用户头部的运动状态所对应的用户输入事件,执行所述用户输入事件对应的功能包括:根据所述方向控制事件,控制所述虚拟场景中的虚拟对象按照所述运动方向控制事件对应的运动方向进行运动。4.根据权利要求3所述的方法,其特征在于,所述方向控制事件包括以下至少一个事件:向上事件,向下事件,向左事件,向右事件,向前事件、向后事件、向左下事件、向右下事件、向左上事件、向右上事件。5.根据权利要求1所述的方法,其特征在于,所述用户头部的运动状态包括头部旋转方向和或头部旋转角度。6.根据权利要求1所述的方法,其特征在于,所述虚拟现实应用由原生3D应用转换得到;所述用户输入事件为视角控制事件;所述根据所述用户头部的运动状态所对应的用户输入事件,控制所述虚拟现实应用执行所述用户输入事件对应的功能包括:根据所述当前头部姿态参数,对虚拟场景的原观察矩阵或原投影矩阵进行变换,利用变换后的观察矩阵或者投影矩阵,构建并显示虚拟场景图像,从而对虚拟场景的观察视角进行变换,实现虚拟场景下的观察视角与用户头部运动后的观察视角同步。7.—种虚拟现实应用的运行控制装置,其特征在于,包括:头部跟踪传感单元,用于跟踪并获取用户当前头部姿态参数,根据所述当前头部姿态参数,确定用户头部的运动状态;事件确认单元,用于根据预先建立的头部运动状态与用户输入事件的对应关系,确定所述用户头部的运动状态所对应的用户输入事件;控制单元,用于根据所述用户头部的运动状态所对应的用户输入事件,执行所述用户输入事件对应的功能。8.根据权利要求7所述的装置,其特征在于,还包括外接交互设备,所述外部交互设备用于在确定所述用户头部的运动状态所对应的用户输入事件前读取外接设备输入事件;所述事件确认单元根据预先建立的头部运动状态、外接设备输入事件与用户输入事件的对应关系,确定所述用户头部的运动状态和所述用户的外接设备输入事件对应的用户输入事件。9.根据权利要求7或8所述的装置,其特征在于,所述用户输入事件包括方向控制事件,所述方向控制事件用于控制所述虚拟现实应用所显示的虚拟现实场景中虚拟对象的运动方向,所述控制单元具体用于根据所述方向控制事件,控制所述虚拟场景中的虚拟对象按照所述运动方向控制事件对应的运动方向进行运动。10.根据权利要求9所述的装置,其特征在于,所述方向控制事件包括以下至少一个事件:向上事件,向下事件,向左事件,向右事件,向前事件、向后事件、向左下事件、向右下事件、向左上事件、向右上事件。11.根据权利要求7所述的装置,其特征在于,所述用户头部的运动状态包括头部旋转方向和或头部旋转角度。12.根据权利要求7所述的装置,其特征在于,所述虚拟现实应用由原生3D应用转换得到;所述用户输入事件为视角控制事件;所述控制单元用于:根据所述当前头部姿态参数,对虚拟场景的原观察矩阵或原投影矩阵进行变换,利用变换后的观察矩阵或者投影矩阵,构建并显示虚拟场景图像,从而对虚拟场景的观察视角进行变换,实现虚拟场景下的观察视角与用户头部运动后的观察视角同步。13.—种虚拟现实设备,其特征在于,包括:显示器、至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行1至6任一项所述的方法。14.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至6任一项所述的方法。

百度查询: 深圳超多维科技有限公司 一种虚拟现实应用的运行控制方法和装置

相关技术
相关技术
相关技术
相关技术
vip会员权益升级
价格优惠/年费监控/专利管家/定制微网站 关闭