一种虚拟现实中的移动方法和装置与流程

文档序号:18898774发布日期:2019-10-18 21:38阅读:311来源:国知局
一种虚拟现实中的移动方法和装置与流程

本申请属于虚拟现实系统技术领域,尤其涉及一种虚拟现实中的移动方法和装置。



背景技术:

在我司开展虚拟现实业务的过程中,发现较难向虚拟世界表达较丰富主角的相机移动,目前诠释主角的相机的方法较单一,主要是依靠头盔的移动来等比映射到虚拟现实空间中,这样的技术现状一定程度上制约了虚拟现实空间的大小和探索范围。本申请通过顶置摄像头捕捉眼镜配件在画面中的位置,增加了一种对虚拟现实中移动输入方式,至少一定程度上可以解决之前探索区域受制于现实空间的问题。



技术实现要素:

根据本公开的一个方面,提供一种虚拟现实中的移动方法和装置,其特征在于,包括:陀螺仪、软件系统。

优选地,所述陀螺仪可以是部署在虚拟现实眼镜中的陀螺仪,也可以是佩戴的单独的陀螺仪设备,能够较精确的读数,并且能够满足较高刷新频率(例如每秒超过30帧)。

优选地,所述软件系统是根据陀螺仪读数来计算或得到用户的实际位移,以及根据用户的实际位移所在游戏区域的位置来计算移动速度的系统。

优选地,所述移动速度是用于反馈给虚拟现实系统的一个速度矢量结果或速度缩放比率矢量。

根据本公开的一个方面,提供一种虚拟现实中的移动方法和装置,其特征在于,包括:

步骤一:在软件系统设置界面中,设置静止区域和移动区域的半径。

步骤二:佩戴上眼镜或单独陀螺仪后,使用快捷键设置当前位置为静止区域和移动区域的圆心(同时也是移动坐标系的原点),当前陀螺仪读数中x、y、z轴的轴向就是移动坐标系的坐标轴向,并保存此轴向转角值。

步骤三:软件系统根据获取到的相对于原点的位移和静止区域和移动区域的半径来计算出速度比率,用这个比率乘以最大速度来得到当前速度值,并结合移动坐标系的坐标轴向计算出返回给虚拟现实系统的速度方向。

优选地,所述陀螺仪坐标系就是陀螺仪设备的坐标系。

优选地,所述移动坐标系就是按下快捷键时陀螺仪中x、y、z轴的轴角度转角值方向为坐标轴的坐标系,也就是相较于陀螺仪坐标系有坐标轴的转角偏移。

优选地,所述虚拟现实系统坐标系就是虚拟现实系统的坐标系(左手坐标系或右手坐标系等),可能与陀螺仪坐标系的轴向不同。

可选地,如果智能眼镜本身可以提供用户移动偏移的话,则可以直接使用此用户移动偏移来求最终的移动速度值,在此种陀螺仪实施例中,需要记录按下快捷键时陀螺仪的移动偏移值来做为移动坐标系的原点,之后的陀螺仪位移读数要减掉移动坐标系的原点的位移。

优选地,设置静止区域和移动区域的半径时,可以选择预设的模版,例如选择一个预设的0.6米半径的静止区域和2米半径的移动区域项。

优选地,作为一种可选的实施方式,设置静止区域和移动区域的半径时,也可以手动输入静止区域和移动区域的半径。

优选地,可以在软件系统设置界面中调整或设置所述陀螺仪数据的轴向与虚拟现实系统坐标系中x轴、y轴、z轴的对应关系,此处也可以加载默认的轴向匹配结果。

优选地,可以通过快捷键来设置当前眼镜或独立陀螺仪所在的位置是原点。

优选地,可以通过快捷键同时设置当前陀螺仪的轴向角度(可以理解为局部坐标系的坐标轴方向)为移动坐标系的坐标轴方向。

优选地,所述快捷键可以是一个按键,也可以是多个按键同时按下的组合。

优选地,作为一种可选的实施方式,也可以在场景启动或切换时自动取得当前眼镜或独立陀螺仪所在的位置为原点,此后仍可通过快捷键来重置原点为当前的眼镜或独立陀螺仪的位置。

优选地,通过快捷键设置原点时,软件系统可以将自己内部存储的速度累加值清空。

优选地,作为一种可选的实施方式,如果眼镜中根据自身陀螺仪信息已经计算出移动矢量或偏移的,可以直接使用眼镜的移动矢量或偏移,来累加得到用户相对于所述原点的位移。

优选地,作为一种可选的实施方式,陀螺仪每帧的数据中包含有时间、角度、加速度、角加速度、角速度等信息(或其中的几项),使用加速度乘以每帧的时间间隔,可以得到这一帧的速度变化偏移,将这些速度变化偏移累加起来就可以得到瞬间(每帧)的速度值,用这个累加后的瞬间速度值计算出的平均速度乘以每帧的时间间隔就能得到每帧的位移的偏移值,将这个位移偏移值累加就能得到用户相对于原点的位置偏移,根据这个位置偏移求与原点的距离(也就是这个相对于原点的位置偏移的矢量长度),然后用这个相对于原点的距离减去静止区域的半径的差,再除以移动区域半径减去静止区域半径的差得到比率,用这个比率乘以最大速度就得到了移动速度矢量的长度。

进一步地,根据跟踪计算得到的用户偏移,可以计算出在陀螺仪坐标系的水平面上的投影矢量的方向,将这个方向按照所述存储的轴向转角值来反向旋转,就能够得到在移动坐标系中的速度矢量方向,用这个方向归一化之后乘以速度值(矢量长度)就是移动速度。

进一步地,如果陀螺仪坐标系与虚拟现实系统坐标系的轴向有不同(例如左手坐标系和右手坐标系),则按照之前储存的陀螺仪坐标系与虚拟现实系统坐标系的对应关系来调换移动速度的坐标轴数值。

优选地,作为一种可选的实施方式,当陀螺仪的数据中有加速度和速度时,也可以根据陀螺仪数据中的加速度和速度来计算每帧的平均速度,从而计算出每帧相对于所述原点的移动矢量或偏移。

优选地,作为一种可选的实施方式,根据移动信息计算出陀螺仪当前与原点的相对距离,用这个距离减去静止区域的半径,如果结果小于零则认为是静止状态(速度矢量长度为0),如果结果大于零则用来除以移动区域的半径减去静止区域半径的差以得到比率,使用这个比率乘以最大移动速度就是当前的移动速度大小。

进一步地,根据跟踪计算得到的用户偏移,可以计算出在陀螺仪坐标系的水平面上的投影矢量的方向,将这个方向按照所述存储的轴向转角值来反向旋转,就能够得到在移动坐标系中的速度矢量方向,用这个方向归一化之后乘以速度值(矢量长度)就是移动速度。

进一步地,如果陀螺仪坐标系与虚拟现实系统坐标系的轴向有不同(例如左手坐标系和右手坐标系),则按照之前储存的陀螺仪坐标系与虚拟现实系统坐标系的对应关系来调换移动速度的坐标轴数值。

优选地,作为一种可选的实施方式,在计算所述移动速度值时,也可以在检测出陀螺仪当前与原点的相对距离大于静止区域的半径时,不计算比率而返回一个统一的移动速度值。

优选地,作为一种可选的实施方式,在计算所述移动速度值时,也可以在检测出陀螺仪当前与原点的相对距离大于移动区域的半径时,返回移动速度为0。

优选地,所述移动矢量、移动偏移矢量和速度矢量是基于陀螺仪读数计算出来的用户实际移动相关的信息。

优选地,作为一种可选的实施方式,在通过陀螺仪读数计算每一帧的陀螺仪速度偏移的时候,可以根据加速度的数值计算出这一帧的平均速度偏移,来做为累加速度偏移。

优选地,作为一种可选的实施方式,计算每帧速度偏移的方法可以根据具体陀螺仪的返回数据类型和特点来调整,以达到较精确的反映出当前陀螺仪位移的目的。

优选地,用户可以在实际使用过程中,多次通过快捷键来设置陀螺仪当前的位置为静止区域和移动区域的原点,并清空软件系统中之前储存的速度偏移等临时数据。

优选地,所述陀螺仪水平面的x轴和y轴的原点也是静止区域和移动区域的圆心。

优选地,静止区域和移动区域是两个同心圆。

优选地,作为一种可选的实施方式,所述移动速度可以是一个长度最大为1的速度值,用以返回给虚拟现实系统,虚拟现实系统根据自身的最大速度值来乘以这个所述软件系统返回的速度值比率矢量,来得到虚拟现实系统用到的速度矢量。

可选地,作为一种可选的实施方式,也可以对陀螺仪垂直方向(通常是z轴)的位移进行跟踪,以达到触发某种特定事件回调的目的(例如蹲下或跳跃)。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1静止区域和移动区域的示意图。

图2轴向角度偏移相关概念示意图(顶视图)。

具体实施方式

以下实施例用于说明本发明,但不用来限制本发明的范围。

实施例1

步骤1:用户佩戴上眼镜或\和专门的陀螺仪,选择好的位置站立之后,通过快捷键设置当前位置为所述静止区域和移动区域的圆心,也是陀螺仪移动坐标系的原点,并且保存当前陀螺仪轴向角度偏移来用作计算移动速度的方向。

步骤2:使用过程中根据陀螺仪可以将每一帧的读数中加速度计算出速度偏移,将速度偏移累加就获得了一个瞬时平均速度,用瞬时平均速度乘以时间间隔就得到了用户在这一帧的移动偏移。

步骤3:根据移动偏移计算出当前相对于原点的距离,用这个距离与静止区域的半径比较,如果超过了静止区域的半径则按照上面的方法中的一种来得到移动速度,按照坐标轴的对应关系进行转化之后返回给虚拟现实系统。

实施例2

此实施例为了更便于理解本发明中计算速度的方法和轴向旋转的意义。

步骤1:调整陀螺仪的角度使陀螺仪的x、y、z轴转角为0,此时按下快捷键记录原点和移动坐标系轴向方向,由于移动坐标系轴向方向和陀螺仪坐标轴方向重叠(因为转角为0),所以在计算速度时就可以避免在计算出速度矢量之后再反向旋转轴向。

步骤2:用户发生位移,根据计算出的位移来计算速度的大小和方向,计算大小是根据位移与原点的距离,如果距离大于静止区域的半径,则用它减去静止区域半径得到的差,除以移动区域半径和静止区域半径的差来获得比率,用最大速度乘以这个比率就得到了速度矢量的长度。

步骤3:根据用户移动偏移在水平面的位置计算出在水平面中相对于原点的角度,根据角度可以求出一个矢量,由于陀螺仪坐标系和移动坐标系轴向方向相同,所以此时计算出的速度方向不需要进行坐标轴旋转,矢量归一化后乘以“步骤2”中计算出来的速度长度就是最终返回值。当陀螺仪的坐标系和虚拟现实系统的坐标系存在轴向转角时,则将“实例2”的结果再反向旋转轴向角度就得到了最终的速度方向。

以上是本发明的具体实施方式,但本发明的保护范围不应局限于此。任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内,因此本发明的保护范围应以权利要求书所限定的保护范围为准。

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