WO2021008367A1 - 一种虚拟现实中的移动方法和装置 - Google Patents

一种虚拟现实中的移动方法和装置 Download PDF

Info

Publication number
WO2021008367A1
WO2021008367A1 PCT/CN2020/099694 CN2020099694W WO2021008367A1 WO 2021008367 A1 WO2021008367 A1 WO 2021008367A1 CN 2020099694 W CN2020099694 W CN 2020099694W WO 2021008367 A1 WO2021008367 A1 WO 2021008367A1
Authority
WO
WIPO (PCT)
Prior art keywords
gyroscope
moving
coordinate system
speed
area
Prior art date
Application number
PCT/CN2020/099694
Other languages
English (en)
French (fr)
Inventor
于毅欣
Original Assignee
于毅欣
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 于毅欣 filed Critical 于毅欣
Publication of WO2021008367A1 publication Critical patent/WO2021008367A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C23/00Combined instruments indicating more than one navigational value, e.g. for aircraft; Combined measuring devices for measuring two or more variables of movement, e.g. distance, speed or acceleration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Definitions

  • This application belongs to the technical field of virtual reality systems, and in particular relates to a method and device for moving in virtual reality.
  • the method of interpreting the protagonist's camera is relatively simple, mainly relying on the movement of the helmet to map into the virtual reality space.
  • the status quo of this technology restricts the size and scope of exploration of the virtual reality space to a certain extent.
  • the present application captures the position of the glasses accessory in the screen through the overhead camera, and adds a mobile input method in virtual reality, which can at least to some extent solve the problem that the previous exploration area is restricted by the real space.
  • a method and device for moving in virtual reality are provided, which is characterized by including: a gyroscope and a software system.
  • the gyroscope can be a gyroscope deployed in virtual reality glasses, or a separate gyroscope device that can be worn, which can read more accurately, and can meet a higher refresh rate (for example, more than 30 frames per second). ).
  • the software system is a system that calculates or obtains the actual displacement of the user according to the gyroscope reading, and calculates the movement speed according to the position of the game area where the actual displacement of the user is located.
  • the moving speed is a speed vector result or speed scaling ratio vector used to feed back to the virtual reality system.
  • a method and device for moving in virtual reality which are characterized in that they include:
  • Step 1 In the software system setting interface, set the radius of the static area and the moving area.
  • Step 2 After wearing glasses or a separate gyroscope, use the shortcut keys to set the current position as the center of the stationary area and the moving area (also the origin of the moving coordinate system), and the axis of the x, y, z axis in the current gyroscope reading It is to move the coordinate axis of the coordinate system and save the axis rotation angle value.
  • Step 3 The software system calculates the speed ratio according to the acquired displacement relative to the origin and the radius of the static area and the moving area, and multiply the ratio by the maximum speed to get the current speed value, and combine it with the coordinate axis of the moving coordinate system Calculate the speed direction returned to the virtual reality system.
  • the gyroscope coordinate system is the coordinate system of the gyroscope device.
  • the moving coordinate system is a coordinate system in which the axis angles of the x, y, and z axes in the gyroscope when the shortcut key is pressed are the coordinate axis, that is, compared to the gyroscope coordinate system, there is a coordinate axis rotation angle Offset.
  • the coordinate system of the virtual reality system is the coordinate system of the virtual reality system (left-handed coordinate system or right-handed coordinate system, etc.), which may be different from the axis of the gyroscope coordinate system.
  • the user movement offset can be used directly to obtain the final movement speed value.
  • the movement offset value of the instrument is used as the origin of the moving coordinate system, and the subsequent gyroscope displacement reading should subtract the displacement of the origin of the moving coordinate system.
  • a preset template can be selected, for example, a preset static area with a radius of 0.6 meters and a moving area with a radius of 2 meters are selected.
  • the radii of the stationary area and the moving area can also be manually input.
  • the corresponding relationship between the axis of the gyroscope data and the x-axis, y-axis, and z-axis in the virtual reality system coordinate system can be adjusted or set in the software system setting interface, and the default axial matching can also be loaded here. result.
  • the position of the current glasses or the independent gyroscope can be set as the origin through a shortcut key.
  • the axial angle of the current gyroscope (which can be understood as the coordinate axis direction of the local coordinate system) can be set as the coordinate axis direction of the mobile coordinate system at the same time through the shortcut key.
  • the shortcut key may be a single button or a combination of multiple buttons being pressed simultaneously.
  • the position of the current glasses or the independent gyroscope can be automatically obtained as the origin when the scene is started or switched, and the origin can still be reset to the current glasses or the independent gyroscope through the shortcut key.
  • the position of the gyroscope can be automatically obtained as the origin when the scene is started or switched, and the origin can still be reset to the current glasses or the independent gyroscope through the shortcut key.
  • the software system can clear the accumulated speed value stored in the software system.
  • the movement vector or offset of the glasses can be directly used to accumulate the user relative to the origin.
  • the displacement is a measure of the displacement
  • the data of each frame of the gyroscope contains information such as time, angle, acceleration, angular acceleration, angular velocity (or several of them), and the acceleration is multiplied by the time interval of each frame .
  • the time interval can get the offset value of the displacement of each frame.
  • the position offset of the user relative to the origin can be obtained by accumulating the displacement offset value.
  • the distance from the origin that is, the relative to the origin
  • the position offset vector length the difference in the radius of the stationary area from the distance relative to the origin, and then divide by the radius of the moving area minus the difference in the stationary area to get the ratio, multiply this ratio by the maximum speed
  • the length of the moving speed vector is obtained.
  • the direction of the projection vector on the horizontal plane of the gyroscope coordinate system can be calculated, and this direction can be reversely rotated according to the stored axial rotation angle value to obtain the The speed vector direction in the moving coordinate system, normalized by this direction, multiplied by the speed value (vector length) is the moving speed.
  • the axes of the gyroscope coordinate system and the virtual reality system coordinate system are different (for example, the left-handed coordinate system and the right-handed coordinate system), switch according to the corresponding relationship between the previously stored gyroscope coordinate system and the virtual reality system coordinate system The axis value of the moving speed.
  • the average velocity of each frame can also be calculated according to the acceleration and velocity in the gyroscope data, so as to calculate the relative speed of each frame.
  • the movement vector or offset of the origin when there are acceleration and velocity in the gyroscope data, the average velocity of each frame can also be calculated according to the acceleration and velocity in the gyroscope data, so as to calculate the relative speed of each frame.
  • the movement vector or offset of the origin when there are acceleration and velocity in the gyroscope data, the average velocity of each frame can also be calculated according to the acceleration and velocity in the gyroscope data, so as to calculate the relative speed of each frame.
  • the current relative distance between the gyroscope and the origin is calculated according to the movement information, and the radius of the stationary area is subtracted from this distance. If the result is less than zero, it is considered stationary (the length of the velocity vector is 0), if the result is greater than zero, it is used to divide by the radius of the moving area minus the difference of the radius of the static area to get the ratio. Using this ratio multiplied by the maximum moving speed is the current moving speed.
  • the direction of the projection vector on the horizontal plane of the gyroscope coordinate system can be calculated, and this direction can be reversely rotated according to the stored axial rotation angle value to obtain the The speed vector direction in the moving coordinate system, normalized by this direction, multiplied by the speed value (vector length) is the moving speed.
  • the axes of the gyroscope coordinate system and the virtual reality system coordinate system are different (for example, the left-handed coordinate system and the right-handed coordinate system), switch according to the corresponding relationship between the previously stored gyroscope coordinate system and the virtual reality system coordinate system The axis value of the moving speed.
  • the return movement speed when it is detected that the current relative distance between the gyroscope and the origin is greater than the radius of the movement area, the return movement speed is 0.
  • the movement vector, movement offset vector and velocity vector are information related to the actual movement of the user calculated based on the gyroscope reading.
  • the average velocity offset of this frame can be calculated according to the acceleration value, as the accumulation Acceleration offset.
  • the method for calculating the speed deviation of each frame can be adjusted according to the type and characteristics of the returned data of the specific gyroscope, so as to achieve the purpose of reflecting the current gyroscope displacement more accurately.
  • the user can set the current position of the gyroscope as the origin of the static area and the moving area through the shortcut keys multiple times during actual use, and clear temporary data such as speed offset previously stored in the software system.
  • the origins of the x-axis and the y-axis of the horizontal plane of the gyroscope are also the centers of the stationary area and the moving area.
  • the stationary area and the moving area are two concentric circles.
  • the moving speed may be a speed value with a length of at most 1, which is used to return to the virtual reality system, and the virtual reality system multiplies this by its own maximum speed value.
  • the speed value ratio vector returned by the software system is used to obtain the speed vector used by the virtual reality system.
  • the displacement of the gyroscope in the vertical direction can also be tracked to achieve the purpose of triggering a callback of a certain specific event (such as squatting or jumping).
  • Figure 1 Schematic diagram of the static area and the moving area.
  • Figure 2 Schematic diagram of the related concepts of axial angular offset (top view).
  • Step 1 The user wears glasses or ⁇ and a special gyroscope, and after choosing a good position to stand, set the current position as the center of the stationary area and the moving area, which is also the origin of the gyroscope moving coordinate system, and save it
  • the current gyroscope axial angular offset is used as the direction for calculating the moving speed.
  • Step 2 According to the gyroscope, the speed offset can be calculated from the acceleration in each frame of reading during use. The speed offset is accumulated to obtain an instantaneous average speed. Multiply the instantaneous average speed by the time interval to obtain the user The movement offset of this frame.
  • Step 3 Calculate the current distance relative to the origin according to the movement offset, compare this distance with the radius of the stationary area, if it exceeds the radius of the stationary area, follow one of the above methods to get the moving speed, according to the coordinate axis After the corresponding relationship is transformed, it is returned to the virtual reality system.
  • This embodiment is to make it easier to understand the method of calculating speed and the meaning of axial rotation in the present invention.
  • Step 1 Adjust the angle of the gyroscope so that the gyroscope's x, y, and z axis rotation angles are 0.
  • press the shortcut key to record the origin and the axial direction of the moving coordinate system, because the axial direction of the moving coordinate system and the gyroscope coordinate axis The directions overlap (because the rotation angle is 0), so when calculating the speed, you can avoid rotating the axis in the reverse direction after calculating the speed vector.
  • Step 2 When the user has a displacement, calculate the magnitude and direction of the speed according to the calculated displacement. The calculation is based on the distance between the displacement and the origin. If the distance is greater than the radius of the stationary area, use it to subtract the difference from the radius of the stationary area. Divide by the difference between the radius of the moving area and the radius of the stationary area to get the ratio, and multiply the maximum speed by this ratio to get the length of the speed vector.
  • Step 3 Calculate the angle relative to the origin in the horizontal plane according to the position of the user's movement offset in the horizontal plane.
  • a vector can be obtained from the angle. Since the gyroscope coordinate system and the mobile coordinate system have the same axial direction, it is calculated at this time The speed direction does not need to rotate the coordinate axis. After the vector is normalized, multiplied by the speed length calculated in "Step 2" is the final return value. When there is an axial rotation angle between the coordinate system of the gyroscope and the coordinate system of the virtual reality system, the result of "Example 2" is rotated in the opposite direction to obtain the final speed direction.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

一种虚拟现实中的移动方法和装置,其特征在于,包括:陀螺仪、软件系统。所述陀螺仪可以是部署在虚拟现实眼镜中的陀螺仪,也可以是佩戴的单独的陀螺仪设备,能够较精确的读数,并且能够满足较高刷新频率。所述软件系统是根据陀螺仪读数来计算或得到用户的实际位移,以及根据用户的实际位移所在游戏区域的位置来计算移动速度的系统。所述方法和装置至少一定程度上可以解决之前探索区域受制于现实空间的问题。

Description

一种虚拟现实中的移动方法和装置 技术领域
本申请属于虚拟现实系统技术领域,尤其涉及一种虚拟现实中的移动方法和装置。
背景技术
在我司开展虚拟现实业务的过程中,发现较难向虚拟世界表达较丰富主角的相机移动,目前诠释主角的相机的方法较单一,主要是依靠头盔的移动来等比映射到虚拟现实空间中,这样的技术现状一定程度上制约了虚拟现实空间的大小和探索范围。本申请通过顶置摄像头捕捉眼镜配件在画面中的位置,增加了一种对虚拟现实中移动输入方式,至少一定程度上可以解决之前探索区域受制于现实空间的问题。
发明内容
根据本公开的一个方面,提供一种虚拟现实中的移动方法和装置,其特征在于,包括:陀螺仪、软件系统。
优选地,所述陀螺仪可以是部署在虚拟现实眼镜中的陀螺仪,也可以是佩戴的单独的陀螺仪设备,能够较精确的读数,并且能够满足较高刷新频率(例如每秒超过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”的结果再反向旋转轴向角度就得到了最终的速度方向。
以上是本发明的具体实施方式,但本发明的保护范围不应局限于此。任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内,因此本发明的保护范围应以权利要求书所限定的保护范围为准。

Claims (7)

  1. 一种虚拟现实中的移动方法和装置,其特征在于,包括:陀螺仪、软件系统;所述陀螺仪可以是部署在虚拟现实眼镜中的陀螺仪,也可以是佩戴的单独的陀螺仪设备,能够较精确的读数,并且能够满足较高刷新频率(例如每秒超过30帧);所述软件系统是根据陀螺仪读数来计算或得到用户的实际位移,以及根据用户的实际位移所在游戏区域的位置来计算移动速度的系统。
  2. 一种虚拟现实中的移动方法,其特征在于,包括:
    步骤一:在软件系统设置界面中,设置静止区域和移动区域的半径;
    步骤二:佩戴上眼镜或单独陀螺仪后,使用快捷键设置当前位置为静止区域和移动区域的圆心(同时也是移动坐标系的原点),当前陀螺仪读数中x、y、z轴的轴向就是移动坐标系的坐标轴向,并保存此轴向转角值;
    步骤三:软件系统根据获取到的相对于原点的位移与静止区域和移动区域的半径来计算出速度比率,用这个比率乘以最大速度来得到当前速度值,并结合移动坐标系的坐标轴向计算出返回给虚拟现实系统的速度方向。
  3. 根据权利要求2所述的“步骤一”,其特征在于,在软件系统设置界面中,设置静止区域和移动区域的半径,包括:
    设置静止区域和移动区域的半径时,可以选择预设的模版,例如选择一个预设的0.6米半径的静止区域和2米半径的移动区域项;
    作为一种可选的实施方式,设置静止区域和移动区域的半径时,也可以手动输入静止区域和移动区域的半径;
    可以在软件系统设置界面中调整或设置所述陀螺仪数据的轴向与虚拟现实系统坐标系中x轴、y轴、z轴的对应关系,此处也可以加载默认匹配结果。
  4. 根据权利要求2所述的“步骤二”,其特征在于,佩戴上眼镜或单独陀螺仪后,使用快捷键设置当前位置为静止区域和移动区域的圆心(同时也是移动坐标系的原点),当前陀螺仪读数中x、y、z轴的轴向就是移动坐标系的坐标轴向,并保存此轴向转角值,包括:
    可以通过快捷键来设置当前眼镜或独立陀螺仪所在的位置是原点(静止区域和移动区域的圆心),同时当前用户脸朝向的陀螺仪坐标轴轴角度读数做为移动坐标系的坐标轴方向,并且储存当前陀螺仪的轴转角值做为移动坐标系的轴角度偏移;作为一种可选的实施方式,此后仍可通过快捷键来重置移动坐标系原点为最新的 眼镜或独立陀螺仪的位置,以及坐标轴轴向为最新的陀螺仪轴转角方向。
  5. 根据权利要求2所述的“步骤三”,其特征在于,软件系统根据获取到的相对于原点的位移和静止区域和移动区域的半径来计算出速度比率,用这个比率乘以最大速度来得到当前速度值,并结合移动坐标系的坐标轴向计算出返回给虚拟现实系统的速度方向,包括:
    作为一种可选的实施方式,如果眼镜中根据自身陀螺仪信息已经计算出移动矢量或偏移的,可以直接使用眼镜的移动矢量或偏移,来累加得到用户相对于所述原点的位移;
    进一步地,根据位移与原点的距离减去静止区域的半径,如果大于零则除以移动区域半径减去静止区域半径的差,得到最大速度值的缩放比率,用这个缩放比率乘以最大速度则得到速度值(也就是矢量长度);
    进一步地,根据跟踪计算得到的用户偏移,可以计算出在陀螺仪坐标系的水平面上的投影矢量的方向,将这个方向按照所述存储的轴向转角值来反向旋转,就能够得到在移动坐标系中的速度矢量方向,用这个方向归一化之后乘以速度值(矢量长度)就是移动速度;
    作为一种可选的实施方式,陀螺仪每帧的数据中包含有时间、角度、加速度、角加速度、角速度等信息(或其中的几项),使用加速度乘以每帧的时间间隔,可以得到这一帧的速度变化偏移,将这些速度变化偏移累加起来就可以得到瞬间(每帧)的速度值,用这个累加后的瞬间速度值计算出的平均速度乘以每帧的时间间隔就能得到每帧的位移的偏移值,将这个位移偏移值累加就能得到用户相对于原点的位置偏移,根据这个位置偏移求与原点的距离(也就是这个相对于原点的位置偏移的矢量长度),然后用这个相对于原点的距离减去静止区域的半径的差,再除以移动区域半径减去静止区域半径的差得到比率,用这个比率乘以最大速度就得到了移动速度矢量的长度;
    进一步地,根据跟踪计算得到的用户偏移,可以计算出在陀螺仪坐标系的水平面上的投影矢量的方向,将这个方向按照所述存储的轴向转角值来反向旋转,就能够得到在移动坐标系中的速度矢量方向,用这个方向归一化之后乘以速度值(矢量长度)就是移动速度;
    进一步地,如果陀螺仪坐标系与虚拟现实系统坐标系的轴向有不同(例如左手坐 标系和右手坐标系),则按照之前储存的陀螺仪坐标系与虚拟现实系统坐标系的对应关系来调换移动速度的坐标轴数值;
    作为一种可选的实施方式,当陀螺仪的数据中有加速度和速度时,也可以根据陀螺仪数据中的加速度和速度来计算相对于所述原点的移动矢量或偏移;
    作为一种可选的实施方式,根据移动信息计算出陀螺仪当前与原点的相对距离,用这个距离减去静止区域的半径,如果结果小于零则认为是静止状态(速度矢量长度为0),如果结果大于零则用来除以移动区域的半径减去静止区域半径的差以得到比率,使用这个比率乘以最大移动速度就是当前的移动速度大小;
    进一步地,根据跟踪计算得到的用户偏移,可以计算出在陀螺仪坐标系的水平面上的投影矢量的方向,将这个方向按照所述存储的轴向转角值来反向旋转,就能够得到在移动坐标系中的速度矢量方向,用这个方向归一化之后乘以速度值(矢量长度)就是移动速度;
    进一步地,如果陀螺仪坐标系与虚拟现实系统坐标系的轴向有不同(例如左手坐标系和右手坐标系),则按照之前储存的陀螺仪坐标系与虚拟现实系统坐标系的对应关系来调换移动速度的坐标轴数值。
  6. 一种计算机可读写介质,其上存储有计算机程序和相关数据,其特征在于,所述程序被处理器执行时实现本发明的相关计算功能和内容。
  7. 一种电子设备,其特征在于,包括:
    一个或多个处理器;
    一个或多个显卡(可选);
    存储装置,用于存储一个或多个程序。
PCT/CN2020/099694 2019-07-16 2020-07-01 一种虚拟现实中的移动方法和装置 WO2021008367A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910641120.2 2019-07-16
CN201910641120.2A CN110347263A (zh) 2019-07-16 2019-07-16 一种虚拟现实中的移动方法和装置

Publications (1)

Publication Number Publication Date
WO2021008367A1 true WO2021008367A1 (zh) 2021-01-21

Family

ID=68175488

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/099694 WO2021008367A1 (zh) 2019-07-16 2020-07-01 一种虚拟现实中的移动方法和装置

Country Status (2)

Country Link
CN (1) CN110347263A (zh)
WO (1) WO2021008367A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347263A (zh) * 2019-07-16 2019-10-18 异起(上海)智能科技有限公司 一种虚拟现实中的移动方法和装置
CN113324536A (zh) * 2020-01-27 2021-08-31 异起(上海)智能科技有限公司 一种位置偏移计算的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7140249B2 (en) * 2004-01-30 2006-11-28 Sony Corporation Angular velocity sensor
CN103475816A (zh) * 2013-08-30 2013-12-25 广东欧珀移动通信有限公司 一种自拍控制方法和装置
CN106253151A (zh) * 2016-08-24 2016-12-21 国网山东省电力公司博兴县供电公司 一种设有电动机保护的电缆牵引装置
CN108021241A (zh) * 2017-12-01 2018-05-11 西安枭龙科技有限公司 一种实现ar眼镜虚实融合的方法
CN108256167A (zh) * 2017-12-25 2018-07-06 巧夺天宫(深圳)科技有限公司 一种浮动图层设计系统、设计方法及电子设备
CN110347263A (zh) * 2019-07-16 2019-10-18 异起(上海)智能科技有限公司 一种虚拟现实中的移动方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7140249B2 (en) * 2004-01-30 2006-11-28 Sony Corporation Angular velocity sensor
CN103475816A (zh) * 2013-08-30 2013-12-25 广东欧珀移动通信有限公司 一种自拍控制方法和装置
CN106253151A (zh) * 2016-08-24 2016-12-21 国网山东省电力公司博兴县供电公司 一种设有电动机保护的电缆牵引装置
CN108021241A (zh) * 2017-12-01 2018-05-11 西安枭龙科技有限公司 一种实现ar眼镜虚实融合的方法
CN108256167A (zh) * 2017-12-25 2018-07-06 巧夺天宫(深圳)科技有限公司 一种浮动图层设计系统、设计方法及电子设备
CN110347263A (zh) * 2019-07-16 2019-10-18 异起(上海)智能科技有限公司 一种虚拟现实中的移动方法和装置

Also Published As

Publication number Publication date
CN110347263A (zh) 2019-10-18

Similar Documents

Publication Publication Date Title
US11842438B2 (en) Method and terminal device for determining occluded area of virtual object
CN107913520B (zh) 信息处理方法、装置、电子设备及存储介质
US9928662B2 (en) System and method for temporal manipulation in virtual environments
WO2019205851A1 (zh) 位姿确定方法、装置、智能设备及存储介质
US11460916B2 (en) Interface interaction apparatus and method
CN104133550B (zh) 一种信息处理方法及电子设备
CN103838365B (zh) 穿透型头部穿戴式显示系统与互动操作方法
WO2021008367A1 (zh) 一种虚拟现实中的移动方法和装置
US8933885B2 (en) Method, apparatus, and computer program product for reducing hand or pointing device occlusions of a display
US9958938B2 (en) Gaze tracking for a mobile device
US20120036485A1 (en) Motion Driven User Interface
US20170242495A1 (en) Method and device of controlling virtual mouse and head-mounted displaying device
US20130208005A1 (en) Image processing device, image processing method, and program
US10948994B2 (en) Gesture control method for wearable system and wearable system
WO2022022141A1 (zh) 图像显示方法、装置、计算机设备及存储介质
US20180314326A1 (en) Virtual space position designation method, system for executing the method and non-transitory computer readable medium
JP2023085357A (ja) 仮想オブジェクト表示装置及び仮想オブジェクト表示方法
US20220237818A1 (en) Image Processing Method and Apparatus for Electronic Dvice, and Electronic Device
US9582141B2 (en) Three dimensional user interface for watch device
US11988832B2 (en) Concurrent rendering of canvases for different apps as part of 3D simulation
US10379639B2 (en) Single-hand, full-screen interaction on a mobile device
WO2021008366A1 (zh) 一种虚拟现实中的移动装置和方法
CN111489376A (zh) 跟踪交互设备的方法、装置、终端设备及存储介质
CN115607967A (zh) 显示位置调整方法、装置、存储介质与电子设备
CN111077999B (zh) 一种信息处理方法、设备及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20839624

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20839624

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20839624

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 20.10.2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20839624

Country of ref document: EP

Kind code of ref document: A1