CN113658249A - 虚拟现实场景的渲染方法、装置、设备和存储介质 - Google Patents

虚拟现实场景的渲染方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113658249A
CN113658249A CN202110967704.6A CN202110967704A CN113658249A CN 113658249 A CN113658249 A CN 113658249A CN 202110967704 A CN202110967704 A CN 202110967704A CN 113658249 A CN113658249 A CN 113658249A
Authority
CN
China
Prior art keywords
target object
matrix
coordinate system
virtual reality
reality scene
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202110967704.6A
Other languages
English (en)
Inventor
鄢名扬
张�浩
陈丽莉
苗京花
李文宇
王雪丰
王龙辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BOE Technology Group Co Ltd
Beijing BOE Display Technology Co Ltd
Original Assignee
BOE Technology Group Co Ltd
Beijing BOE Display Technology Co Ltd
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 BOE Technology Group Co Ltd, Beijing BOE Display Technology Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202110967704.6A priority Critical patent/CN113658249A/zh
Publication of CN113658249A publication Critical patent/CN113658249A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种虚拟现实场景的渲染方法、装置、设备和存储介质,包括:根据获取第一坐标系下虚拟相机光轴的位置向量和第一坐标系下目标对象的当前位置的位置向量,确定目标对象的偏航角,并根据所述偏航角和预设的调整系数,确定目标对象的调整转动角后,利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,以利用得到的修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景,实现了对虚拟现实场景的偏转,引导目标对象在虚拟世界自由行走又不会超出现实空间的边界,扩大了虚拟世界的活动空间,提高了VR设备的实用性。

Description

虚拟现实场景的渲染方法、装置、设备和存储介质
技术领域
本发明属于虚拟现实技术领域,具体涉及一种虚拟现实场景的渲染方法、装置、设备和存储介质。
背景技术
虚拟现实(Virtual Reality,VR)技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。
目前的VR设备大多把现实世界与虚拟世界一比一映射,当现实空间有限时,玩家碰到壁垒时会被限制移动方向,导致玩家不能自然的浏览大于显示空间的场景,降低了VR设备的实用性。
发明内容
本发明的主要目的是提供一种虚拟现实场景的渲染方法、装置、设备和存储介质,以解决现有技术中因现实空间有限时,导致玩家不能自然的浏览大于显示空间的场景,降低了VR设备的实用性的技术问题。
针对上述问题,本发明提供了一种虚拟现实场景的渲染方法,包括:
获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量;
根据所述虚拟相机光轴的位置向量和所述目标对象的当前位置的位置向量,确定目标对象的偏航角;
根据所述偏航角和预设的调整系数,确定所述目标对象的调整转动角;
利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,得到修正矩阵;
利用所述修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景。
进一步地,上述所述的虚拟现实场景的渲染方法中,根据所述虚拟相机光轴的位置向量和所述目标对象的当前位置的位置向量,确定目标对象的偏航角,包括:
计算所述虚拟相机光轴的位置向量到所述目标对象的当前位置的位置向量的第二旋转矩阵;
根据所述第二旋转矩阵,确定所述目标对象的偏航角。
进一步地,上述所述的虚拟现实场景的渲染方法中,所述调整系数的设定过程,包括:
根据目标对象的角速度、目标对象的朝向和现实空间的可活动范围,生成并设定所述调整系数。
进一步地,上述所述的虚拟现实场景的渲染方法中,利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,得到修正矩阵,包括:
对所述调整转动角进行矩阵转化,得到与所述调整转动角相对应的转化矩阵;
将所述转化矩阵与所述第一旋转矩阵的乘积作为所述修正矩阵。
进一步地,上述所述的虚拟现实场景的渲染方法中,所述第一坐标系下虚拟相机光轴的位置向量的获取过程包括:
将第二坐标系到第一坐标系的第三旋转矩阵与虚拟相机光轴的位置向量的乘积作为所述第一坐标系下虚拟相机光轴的位置向量。
进一步地,上述所述的虚拟现实场景的渲染方法中,获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量,包括:
若监测到目标对象发生扫视,获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量;
所述目标对象是否发生扫视的监测过程包括:
获取目标对象的角速度模与预设阈值的第一比较结果、目标对象的视线位移与预设精度误差的第二比较结果以及目标对象的转动方向与目标对象的注视方向一致性的判断结果;其中,所述目标对象的角速度模根据获取的目标对象的角速度分量确定,所述目标对象的视线位移根据获取的所述目标对象的第一注视点坐标和所述目标对象的第二注视点坐标确定;所述判断结果根据第一帧图像对应的第一乘积矩阵和第二帧图像对应的第二乘积矩阵确定;所述第一帧图像和所述第二帧图像为相邻的两帧图像;所述第一乘积矩阵根据获取的所述第一帧图像中目标对象的第一四元数和所述目标对象的第一注视点坐标确定,所述第二乘积矩阵根据获取的所述第二帧图像中所述目标对象的第二四元数和所述目标对象的第二注视点坐标确定;
根据所述第一比较结果、所述第二比较结果和所述判断结果,确定目标对象是否发生扫视。
进一步地,上述所述的虚拟现实场景的渲染方法中,根据所述第一比较结果、所述第二比较结果和所述判断结果,确定目标对象是否发生扫视,包括:
若所述第一比较结果表示所述角速度模大于所述预设阈值,且所述第二比较结果表示所述视线位移小于或等于预设的精度误差,确定目标对象发生扫视;
若所述第一比较结果表示所述角速度模小于或等于所述预设阈值,且所述第二比较结果表示所述视线位移大于预设的精度误差,确定目标对象发生扫视;
若所述第一比较结果所述角速度模大于所述预设阈值,所述第二比较结果表示所述视线位移大于预设的精度误差,且所述判断结果表示所述目标对象的转动方向与所述目标对象的注视方向一致,确定目标对象发生扫视。
进一步地,上述所述的虚拟现实场景的渲染方法中,所述第一乘积矩阵根据获取的所述第一帧图像中目标对象的第一四元数和所述目标对象的第一注视点坐标确定,包括:
将所述目标对象的第一四元数转换为第四旋转矩阵;
根据所述目标对象的第一注视点坐标,得到第一视线与第一坐标系的姿态坐标轴之间的夹角设置为第一欧拉角,并将所述第一欧拉角转换为第五旋转矩阵;
所述第四旋转矩阵与所述第五旋转矩阵的乘积作为所述第一乘积矩阵。
进一步地,上述所述的虚拟现实场景的渲染方法中,所述第二乘积矩阵根据获取的所述第二帧图像中所述目标对象的第二四元数和所述目标对象的第二注视点坐标确定,包括:
将所述目标对象的第二四元数转换为第六旋转矩阵;
根据所述目标对象的第二注视点坐标,得到第二视线与第一坐标系的姿态坐标轴之间的夹角设置为第二欧拉角,并将所述第二欧拉角转换为第七旋转矩阵;
将所述第六旋转矩阵与所述第七旋转矩阵的乘积作为所述第二乘积矩阵。
进一步地,上述所述的虚拟现实场景的渲染方法中,所述判断结果根据第一帧图像对应的第一乘积矩阵和第二帧图像对应的第二乘积矩阵确定,包括:
若所述第一乘积矩阵等于所述第二乘积矩阵,确定目标对象的转动方向与目标对象的注视方向不一致;
若所述第一乘积矩阵与所述第二乘积矩阵的乘积不等于所述第二乘积矩阵,确定目标对象的转动方向与目标对象的注视方向一致。
本发明还提供了一种虚拟现实场景的渲染装置,包括:
获取模块,用于获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量;
偏航角确定模块,用于根据所述虚拟相机光轴的位置向量和所述目标对象的当前位置的位置向量,确定目标对象的偏航角;
转动角确定模块,用于根据所述偏航角和预设的调整系数,确定所述目标对象的调整转动角;
修正模块,用于利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,得到修正矩阵;
重定向模块,用于利用所述修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景。
本发明还提供了一种虚拟现实场景的渲染设备,其特征在于,包括存储器和控制器;
所述存储器上存储有计算机程序,所述计算机程序被控制器执行时实现如上任一项所述的虚拟现实场景的渲染方法的步骤。
本发明还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的虚拟现实场景的渲染方法的步骤。
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
本发明的虚拟现实场景的渲染方法、装置、设备和存储介质,根据获取第一坐标系下虚拟相机光轴的位置向量和第一坐标系下目标对象的当前位置的位置向量,确定目标对象的偏航角,并根据所述偏航角和预设的调整系数,确定目标对象的调整转动角后,利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,以利用得到的修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景,实现了对虚拟现实场景的偏转,引导目标对象在虚拟世界自由行走又不会超出现实空间的边界,扩大了虚拟世界的活动空间,提高了VR设备的实用性。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明的虚拟现实场景的渲染方法一种实施例的流程图;
图2为虚拟相机光轴的位置向量、目标对象的当前位置的位置向量和偏航角的关系示意图;
图3为重定向前后的虚拟现实场景下目标对象的运动轨迹的示意图;
图4为本发明虚拟现实场景的渲染装置实施例的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
实施例一
为解决现有技术中存在的上述技术问题,本发明实施例提供了一种虚拟现实场景的渲染方法。
图1为本发明的虚拟现实场景的渲染方法一种实施例的流程图,如图1所示,本实施例的虚拟现实场景的渲染方法具体可以包括如下步骤:
100、获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量;
在一个具体实现过程中,可以利用位置传感器获取第一坐标系下目标对象的当前位置的坐标,并根据第一坐标系的中心坐标和目标对象的当前位置的坐标,得到第一坐标系的中心指向目标对象的当前位置的位置向量作为第一坐标系下目标对象的当前位置的位置向量Vector1(x,y,z)。其中,位置传感器可以安装在目标对象的头部、脚部等身体部位上。位置传感器也可以安装在用户佩戴的头巾、穿的衣服等上,本实施例不做具体限制。
需要说明的是,本实施例中,还可以利用周边环境传感器获取到第一坐标系下目标对象的当前位置的坐标,如利用红外传感器的反射原理,获取到第一坐标系下目标对象的当前位置的坐标,在此不再一一举例说明。
在一个具体实现过程中,可以将第二坐标系到第一坐标系的第三旋转矩阵Rotationw-to-c -1与虚拟相机光轴的位置向量Vector(0,0,z)的乘积作为第一坐标系下虚拟相机光轴的位置向量Vector2(x,y,z)。
其中,Vector2(x,y,z)=Rotationw-to-c -1*Vector(0,0,z)。
需要说明的是,第一坐标系为现实空间对应的坐标系,也就是现实世界的坐标系,现实空间为目标对象的活动空间。第二坐标系为虚拟空间的坐标系,也就是虚拟相机对应虚拟世界的坐标系。
101、根据虚拟相机光轴的位置向量和目标对象的当前位置的位置向量,确定目标对象的偏航角;
在一个具体实现过程中,可以计算虚拟相机光轴的位置向量到目标对象的当前位置的位置向量的第二旋转矩阵Rotationv2-to-v1;根据第二旋转矩阵Rotationv2-to-v1,确定目标对象的偏航角yaw。
图2为虚拟相机光轴的位置向量、目标对象的当前位置的位置向量和偏航角的关系示意图。
102、根据偏航角和预设的调整系数,确定目标对象的调整转动角;
在一个具体实现过程中,可以根据目标对象的角速度、目标对象的朝向和现实空间的可活动范围,生成并设定调整系数。然后将偏航角与调整系数的乘积作为目标对象的调整转动角。
其中,生成调整系数的计算式如式(1):
Figure BDA0003224757910000061
其中,a表示调整系数,yaw表示偏航角。
Figure BDA0003224757910000071
表示目标对象的朝向,Angularspeedy表示目标对象的角速度的y轴分量,k表示现实空间的可活动范围。
目标对象的调整转动角的计算式如式(2):
Figure BDA0003224757910000072
其中,目标对象的角速度越大代表当前转动的越快,则每一帧内可以调整的角度就越大,即调整转动角越大。偏航角越大,代表当前朝向很指向中心则不需要很大的调整,即调整转动角越小。现实空间的面积越小,则每一帧的调整幅度越大,即调整转动角越大。
在一个具体实现过程中,现实空间的面积可以认为规划,也可以通视觉自动识别计算得到,本实施例不做具体限制。现实空间的面积可以通过计算式(3)得到:
k=(1/S)×r/R (3)
其中,S表示现实空间的面积,r表示目标对象的当前位置到现实空间的中心的距离,R表示现实空间的边缘到现实空间的最短距离,也就是说,对于圆形空间而言,圆形空间到中心的距离都为半径,此时,R为圆形空间的半径即可,对于,非圆形的空间而言,非圆形的空间的边缘到中心的距离存在多个,此时,选取一个最短距离即可。
103、利用目标对象的调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,得到修正矩阵;
在一个具体实现过程中,可以对调整转动角进行矩阵转化,得到与调整转动角相对应的转化矩阵Rotationfix;将得到的转化矩阵Rotationfix与第一坐标系到第二坐标系的第一旋转矩阵的乘积作为修正矩阵Rotationc-to-w -1*Rotationfix
104、利用修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景。
在得到修正矩阵后,可以利用修正矩阵对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景。这样,则可以将虚拟现实场景进行偏转,从而引导目标对象在虚拟世界按照偏转后的虚拟现实场景大致直线行走,而实际上在现实空间中不断地绕圈,达到了突破现实空间限制的效果。
图3为重定向前后的虚拟现实场景下目标对象的运动轨迹的示意图,如图3所示原运动轨迹为线OA,调整后轨迹为线OB。
本实施例的虚拟现实场景的渲染方法,根据获取第一坐标系下虚拟相机光轴的位置向量和第一坐标系下目标对象的当前位置的位置向量,确定目标对象的偏航角,并根据所述偏航角和预设的调整系数,确定目标对象的调整转动角后,利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,以利用得到的修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景,实现了对虚拟现实场景的偏转,引导目标对象在虚拟世界自由行走又不会超出现实空间的边界,扩大了虚拟世界的活动空间,提高了VR设备的实用性。
在一个具体实现过程中,扫视抑制是一种人眼的视觉特性。它是两眼同时快速移动时的一种眼球运动,它可能伴随着头部、颈部或身体其他部位的运动。当扫视抑制发生时,视觉敏感度会大幅度降低,空间感知能力也会大幅度降低。当扫视抑制发生时,视觉敏感度会大幅度降低,空间感知能力也会大幅度降低。因此,在发生扫视抑制的时候,可以利用本申请的虚拟现实场景的渲染方法对虚拟现实场景进行重定向。
具体地,步骤100“获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量”可以包括:若监测到目标对象发生扫视,获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量。
在一个具体实现过程中,目标对象是否发生扫视的监测过程包括:
(a)获取目标对象的角速度模与预设阈值的第一比较结果、目标对象的视线位移与预设精度误差的第二比较结果以及目标对象的转动方向与目标对象的注视方向一致性的判断结果;
具体地,可以获取目标对象的角速度分量、目标对象的第一四元数、目标对象的第二四元数、目标对象的第一注视点坐标和目标对象的第二注视点坐标;其中,目标对象的第一四元数和目标对象的第二四元数为相邻两帧图像中的四元数;目标对象的第一注视点坐标和目标对象的第二注视点坐标为相邻两帧图像中的注视点坐标。
在一个具体实现过程中,可以利用陀螺仪模块采集目标对象的角速度分量、目标对象的第一四元数和目标对象的第二四元数。利用眼球追踪模块采集目标对象的第一注视点坐标和目标对象的第二注视点坐标。
在一个具体实现过程中,可以判断确定的角速度模是否大于预设阈值,判断目标对象的视线位移是否大于预设的精度误差,以及,根据确定的第一帧图像对应的第一乘积矩阵和第二帧图像对应的第二乘积矩阵,判断目标对象的转动方向与目标对象的注视方向是否相反;
在一具体实现过程中,可以根据目标对象的角速度分量确定角速度模。其对应的计算公式如式(4):
Figure BDA0003224757910000091
Angularspeed表示目标对象的角速度,Angularspeedx表示目标对象的角速度的x轴分量,Angularspeedy表示目标对象的角速度的y轴分量,Angularspeedz表示目标对象的角速度的y轴分量。在得到角速度模后可以判断确定的角速度模是否大于预设阈值,其中,该阈值与陀螺仪模块的精度有关,陀螺仪模块的精度越高,阈值越小,陀螺仪模块的精度越低,阈值越大。
可以根据目标对象的第一注视点坐标和目标对象的第二注视点坐标确定两个注视点坐标之间的位移作为目标对象的视线位移。在得到该视线位移后,可以判断目标对象的视线位移是否大于预设的精度误差。
可以根据目标对象的第一四元数和目标对象的第一注视点坐标确定第一乘积矩阵,根据目标对象的第二四元数和目标对象的第二注视点坐标确定第二乘积矩阵。并根据确定的第一帧图像对应的第一乘积矩阵和第二帧图像对应的第二乘积矩阵,判断目标对象的转动方向与目标对象的注视方向是否相反。
在一个具体实现过程中,可以将目标对象的第一四元数转换为第四旋转矩阵Matrix1;根据目标对象的第一注视点坐标,得到第一视线与第一坐标系的姿态坐标轴之间的夹角设置为第一欧拉角,并将第一欧拉角转换为第五旋转矩阵Rotation1;将第四旋转矩阵Matrix1与第五旋转矩阵Rotation1的乘积作为第一乘积矩阵。
同理,将目标对象的第二四元数转换为第六旋转矩阵Matrix2;根据目标对象的第二注视点坐标,得到第二视线与第一坐标系的姿态坐标轴之间的夹角设置为第二欧拉角,并将第二欧拉角转换为第七旋转矩阵Rotation2;将第六旋转矩阵Matrix2与第七旋转矩阵Rotation2的乘积作为第二乘积矩阵。
在一个具体实现过程中,若第一乘积矩阵等于第二乘积矩阵,确定目标对象的转动方向与目标对象的注视方向不一致;若第一乘积矩阵与第二乘积矩阵的乘积不等于第二乘积矩阵,确定目标对象的转动方向与目标对象的注视方向一致。
(b)根据第一比较结果、第二比较结果和判断结果,确定目标对象是否发生扫视。
在一个具体实现过程中,若第一比较结果表示角速度模大于预设阈值,且第二比较结果表示视线位移小于或等于预设的精度误差,确定目标对象发生扫视;
若第一比较结果表示角速度模小于或等于预设阈值,且第二比较结果表示视线位移大于预设的精度误差,确定目标对象发生扫视;
若第一比较结果角速度模大于预设阈值,第二比较结果表示视线位移大于预设的精度误差,且判断结果表示目标对象的转动方向与目标对象的注视方向一致,确定目标对象发生扫视;
若第一比较结果角速度模大于预设阈值,第二比较结果表示视线位移大于预设的精度误差,且判断结果表示目标对象的转动方向与目标对象的注视方向不一致,确定目标对象未发生扫视;
若第一比较结果表示角速度模小于或等于预设阈值,且第二比较结果表示视线位移小于或等于预设的精度误差,确定目标对象未发生扫视。
需要说明的是,本发明实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本发明实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成的方法。
实施例二
为解决现有技术中存在的上述技术问题,本发明实施例提供了一种虚拟现实场景的渲染装置。
图4为本发明虚拟现实场景的渲染装置实施例的结构示意图,如图4所示,本实施例的虚拟现实场景的渲染装置可以包括获取模块40、偏航角确定模块41、转动角确定模块42、修正模块43和重定向模块44。
获取模块40,用于获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量;
在一个具体实现过程中,获取模块40可以利用位置传感器获取第一坐标系下目标对象的当前位置的坐标,并根据第一坐标系的中心坐标和目标对象的当前位置的坐标,得到第一坐标系的中心指向目标对象的当前位置的位置向量作为第一坐标系下目标对象的当前位置的位置向量。
获取模块40还可以将第二坐标系到第一坐标系的第三旋转矩阵与虚拟相机光轴的位置向量的乘积作为所述第一坐标系下虚拟相机光轴的位置向量。
偏航角确定模块41,用于根据所述虚拟相机光轴的位置向量和所述目标对象的当前位置的位置向量,确定目标对象的偏航角;
具体地,偏航角确定模块41可以计算所述虚拟相机光轴的位置向量到所述目标对象的当前位置的位置向量的第二旋转矩阵;根据所述第二旋转矩阵,确定所述目标对象的偏航角。
转动角确定模块42,用于根据所述偏航角和预设的调整系数,确定目标对象的调整转动角;
在一个具体实现过程中,转动角确定模块42可以根据目标对象的角速度、目标对象的朝向和现实空间的可活动范围,生成所述调整系数,并根据所述偏航角和预设的调整系数,确定目标对象的调整转动角。
修正模块43,用于利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,得到修正矩阵;
在一个具体实现过程中,修正模块43可以对调整转动角进行矩阵转化,得到与调整转动角相对应的转化矩阵;将转化矩阵与第一旋转矩阵的乘积作为修正矩阵。
重定向模块44,用于利用修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景。
本实施例的虚拟现实场景的渲染装置,根据获取第一坐标系下虚拟相机光轴的位置向量和第一坐标系下目标对象的当前位置的位置向量,确定目标对象的偏航角,并根据偏航角和预设的调整系数,确定目标对象的调整转动角后,利用调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,以利用得到的修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景,实现了对虚拟现实场景的偏转,引导目标对象在虚拟世界自由行走又不会超出现实空间的边界,扩大了虚拟世界的活动空间,提高了VR设备的实用性。
在一个具体实现过程中,获取模块40,具体用于若监测到目标对象发生扫视,获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量。其中,目标对象是否发生扫视的监测过程包括::
(a)获取目标对象的角速度模与预设阈值的第一比较结果、目标对象的视线位移与预设精度误差的第二比较结果以及目标对象的转动方向与目标对象的注视方向一致性的判断结果;
具体地,可以获取目标对象的角速度分量、目标对象的第一四元数、目标对象的第二四元数、目标对象的第一注视点坐标和目标对象的第二注视点坐标;其中,目标对象的第一四元数和目标对象的第二四元数为相邻两帧图像中的四元数;目标对象的第一注视点坐标和目标对象的第二注视点坐标为相邻两帧图像中的注视点坐标。
在一个具体实现过程中,可以利用陀螺仪模块采集目标对象的角速度分量、目标对象的第一四元数和目标对象的第二四元数。利用眼球追踪模块采集目标对象的第一注视点坐标和目标对象的第二注视点坐标。
在一个具体实现过程中,可以判断确定的角速度模是否大于预设阈值,判断目标对象的视线位移是否大于预设的精度误差,以及,根据确定的第一帧图像对应的第一乘积矩阵和第二帧图像对应的第二乘积矩阵,判断目标对象的转动方向与目标对象的注视方向是否相反;
在一具体实现过程中,可以根据目标对象的角速度分量确定角速度模。其对应的上述式(4):
可以根据目标对象的第一注视点坐标和目标对象的第二注视点坐标确定两个注视点坐标之间的位移作为目标对象的视线位移。在得到该视线位移后,可以判断目标对象的视线位移是否大于预设的精度误差。
可以根据目标对象的第一四元数和目标对象的第一注视点坐标确定第一乘积矩阵,根据目标对象的第二四元数和目标对象的第二注视点坐标确定第二乘积矩阵。并根据确定的第一帧图像对应的第一乘积矩阵和第二帧图像对应的第二乘积矩阵,判断目标对象的转动方向与目标对象的注视方向是否相反。
在一个具体实现过程中,可以将目标对象的第一四元数转换为第四旋转矩阵Matrix1;根据目标对象的第一注视点坐标,得到第一视线与第一坐标系的姿态坐标轴之间的夹角设置为第一欧拉角,并将第一欧拉角转换为第五旋转矩阵Rotation1;将第四旋转矩阵Matrix1与第五旋转矩阵Rotation1的乘积作为第一乘积矩阵。
同理,将目标对象的第二四元数转换为第六旋转矩阵Matrix2;根据目标对象的第二注视点坐标,得到第二视线与第一坐标系的姿态坐标轴之间的夹角设置为第二欧拉角,并将第二欧拉角转换为第七旋转矩阵Rotation2;将第六旋转矩阵Matrix2与第七旋转矩阵Rotation2的乘积作为第二乘积矩阵。
在一个具体实现过程中,若第一乘积矩阵等于第二乘积矩阵,确定目标对象的转动方向与目标对象的注视方向不一致;若第一乘积矩阵与第二乘积矩阵的乘积不等于第二乘积矩阵,确定目标对象的转动方向与目标对象的注视方向一致。
(b)根据第一比较结果、第二比较结果和判断结果,确定目标对象是否发生扫视。
在一个具体实现过程中,若第一比较结果表示角速度模大于预设阈值,且第二比较结果表示视线位移小于或等于预设的精度误差,确定目标对象发生扫视;
若第一比较结果表示角速度模小于或等于预设阈值,且第二比较结果表示视线位移大于预设的精度误差,确定目标对象发生扫视;
若第一比较结果角速度模大于预设阈值,第二比较结果表示视线位移大于预设的精度误差,且判断结果表示目标对象的转动方向与目标对象的注视方向一致,确定目标对象发生扫视;
若第一比较结果角速度模大于预设阈值,第二比较结果表示视线位移大于预设的精度误差,且判断结果表示目标对象的转动方向与目标对象的注视方向不一致,确定目标对象未发生扫视;
若第一比较结果表示角速度模小于或等于预设阈值,且第二比较结果表示视线位移小于或等于预设的精度误差,确定目标对象未发生扫视。
上述实施例的装置用于实现前述实施例中相应的方法,其具体实现方案可以参见前述实施例记载的方法及方法实施例中的相关说明,并且具有相应的方法实施例的有益效果,在此不再赘述。
实施例三
为解决现有技术中存在的上述技术问题,本发明实施例提供了一种虚拟现实场景的渲染设备,该虚拟现实场景的渲染设备包括存储器和控制器;
存储器上存储有计算机程序,计算机程序被控制器执行时实现上述实施例的虚拟现实场景的渲染方法的步骤。
实施例四
为解决现有技术中存在的上述技术问题,本发明实施例提供了一种存储介质。
本实施例的存储介质,上存储有计算机程序,计算机程序被控制器执行时实现上述实施例的虚拟现实场景的渲染方法的步骤。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (13)

1.一种虚拟现实场景的渲染方法,其特征在于,包括:
获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量;
根据所述虚拟相机光轴的位置向量和所述目标对象的当前位置的位置向量,确定目标对象的偏航角;
根据所述偏航角和预设的调整系数,确定所述目标对象的调整转动角;
利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,得到修正矩阵;
利用所述修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景。
2.根据权利要求1所述的虚拟现实场景的渲染方法,其特征在于,根据所述虚拟相机光轴的位置向量和所述目标对象的当前位置的位置向量,确定目标对象的偏航角,包括:
计算所述虚拟相机光轴的位置向量到所述目标对象的当前位置的位置向量的第二旋转矩阵;
根据所述第二旋转矩阵,确定所述目标对象的偏航角。
3.根据权利要求1所述的虚拟现实场景的渲染方法,其特征在于,所述调整系数的设定过程,包括:
根据目标对象的角速度、目标对象的朝向和现实空间的可活动范围,生成并设定所述调整系数。
4.根据权利要求1所述的虚拟现实场景的渲染方法,其特征在于,利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,得到修正矩阵,包括:
对所述调整转动角进行矩阵转化,得到与所述调整转动角相对应的转化矩阵;
将所述转化矩阵与所述第一旋转矩阵的乘积作为所述修正矩阵。
5.根据权利要求1所述的虚拟现实场景的渲染方法,其特征在于,所述第一坐标系下虚拟相机光轴的位置向量的获取过程包括:
将第二坐标系到第一坐标系的第三旋转矩阵与虚拟相机光轴的位置向量的乘积作为所述第一坐标系下虚拟相机光轴的位置向量。
6.根据权利要求1所述的虚拟现实场景的渲染方法,其特征在于,获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量,包括:
若监测到目标对象发生扫视,获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量;
所述目标对象是否发生扫视的监测过程包括:
获取目标对象的角速度模与预设阈值的第一比较结果、目标对象的视线位移与预设精度误差的第二比较结果以及目标对象的转动方向与目标对象的注视方向一致性的判断结果;其中,所述目标对象的角速度模根据获取的目标对象的角速度分量确定,所述目标对象的视线位移根据获取的所述目标对象的第一注视点坐标和所述目标对象的第二注视点坐标确定;所述判断结果根据第一帧图像对应的第一乘积矩阵和第二帧图像对应的第二乘积矩阵确定;所述第一帧图像和所述第二帧图像为相邻的两帧图像;所述第一乘积矩阵根据获取的所述第一帧图像中目标对象的第一四元数和所述目标对象的第一注视点坐标确定,所述第二乘积矩阵根据获取的所述第二帧图像中所述目标对象的第二四元数和所述目标对象的第二注视点坐标确定;
根据所述第一比较结果、所述第二比较结果和所述判断结果,确定目标对象是否发生扫视。
7.根据权利要求6所述的虚拟现实场景的渲染方法,其特征在于,根据所述第一比较结果、所述第二比较结果和所述判断结果,确定目标对象是否发生扫视,包括:
若所述第一比较结果表示所述角速度模大于所述预设阈值,且所述第二比较结果表示所述视线位移小于或等于预设的精度误差,确定目标对象发生扫视;
若所述第一比较结果表示所述角速度模小于或等于所述预设阈值,且所述第二比较结果表示所述视线位移大于预设的精度误差,确定目标对象发生扫视;
若所述第一比较结果所述角速度模大于所述预设阈值,所述第二比较结果表示所述视线位移大于预设的精度误差,且所述判断结果表示所述目标对象的转动方向与所述目标对象的注视方向一致,确定目标对象发生扫视。
8.根据权利要求6所述的虚拟现实场景的渲染方法,其特征在于,所述第一乘积矩阵根据获取的所述第一帧图像中目标对象的第一四元数和所述目标对象的第一注视点坐标确定,包括:
将所述目标对象的第一四元数转换为第四旋转矩阵;
根据所述目标对象的第一注视点坐标,得到第一视线与第一坐标系的姿态坐标轴之间的夹角设置为第一欧拉角,并将所述第一欧拉角转换为第五旋转矩阵;
所述第四旋转矩阵与所述第五旋转矩阵的乘积作为所述第一乘积矩阵。
9.根据权利要求6所述的虚拟现实场景的渲染方法,其特征在于,所述第二乘积矩阵根据获取的所述第二帧图像中所述目标对象的第二四元数和所述目标对象的第二注视点坐标确定,包括:
将所述目标对象的第二四元数转换为第六旋转矩阵;
根据所述目标对象的第二注视点坐标,得到第二视线与第一坐标系的姿态坐标轴之间的夹角设置为第二欧拉角,并将所述第二欧拉角转换为第七旋转矩阵;
将所述第六旋转矩阵与所述第七旋转矩阵的乘积作为所述第二乘积矩阵。
10.根据权利要求6所述的虚拟现实场景的渲染方法,其特征在于,所述判断结果根据第一帧图像对应的第一乘积矩阵和第二帧图像对应的第二乘积矩阵确定,包括:
若所述第一乘积矩阵等于所述第二乘积矩阵,确定目标对象的转动方向与目标对象的注视方向不一致;
若所述第一乘积矩阵与所述第二乘积矩阵的乘积不等于所述第二乘积矩阵,确定目标对象的转动方向与目标对象的注视方向一致。
11.一种虚拟现实场景的渲染装置,其特征在于,包括:
获取模块,用于获取第一坐标系下目标对象的当前位置的位置向量和第一坐标系下虚拟相机光轴的位置向量;
偏航角确定模块,用于根据所述虚拟相机光轴的位置向量和所述目标对象的当前位置的位置向量,确定目标对象的偏航角;
转动角确定模块,用于根据所述偏航角和预设的调整系数,确定所述目标对象的调整转动角;
修正模块,用于利用所述调整转动角,对第一坐标系到第二坐标系的第一旋转矩阵进行修正,得到修正矩阵;
重定向模块,用于利用所述修正矩阵,对当前的虚拟现实场景进行渲染,得到重定向的虚拟现实场景。
12.一种虚拟现实场景的渲染设备,其特征在于,包括存储器和控制器;
所述存储器上存储有计算机程序,所述计算机程序被控制器执行时实现如权利要求1至10中任一项所述的虚拟现实场景的渲染方法的步骤。
13.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的虚拟现实场景的渲染方法的步骤。
CN202110967704.6A 2021-08-23 2021-08-23 虚拟现实场景的渲染方法、装置、设备和存储介质 Pending CN113658249A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110967704.6A CN113658249A (zh) 2021-08-23 2021-08-23 虚拟现实场景的渲染方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110967704.6A CN113658249A (zh) 2021-08-23 2021-08-23 虚拟现实场景的渲染方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN113658249A true CN113658249A (zh) 2021-11-16

Family

ID=78492077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110967704.6A Pending CN113658249A (zh) 2021-08-23 2021-08-23 虚拟现实场景的渲染方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113658249A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385015A (zh) * 2022-01-25 2022-04-22 京东方科技集团股份有限公司 虚拟对象的控制方法及电子设备
CN115164823A (zh) * 2022-05-16 2022-10-11 上海芯翌智能科技有限公司 一种摄像机陀螺仪信息的获取方法及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385015A (zh) * 2022-01-25 2022-04-22 京东方科技集团股份有限公司 虚拟对象的控制方法及电子设备
CN114385015B (zh) * 2022-01-25 2024-03-08 京东方科技集团股份有限公司 虚拟对象的控制方法及电子设备
CN115164823A (zh) * 2022-05-16 2022-10-11 上海芯翌智能科技有限公司 一种摄像机陀螺仪信息的获取方法及设备
CN115164823B (zh) * 2022-05-16 2024-04-02 上海芯翌智能科技有限公司 一种摄像机陀螺仪信息的获取方法及设备

Similar Documents

Publication Publication Date Title
JP7486276B2 (ja) 眼追跡較正技術
US8564532B2 (en) System and methods for using a movable object to control a computer
US9927870B2 (en) Virtual reality system with control command gestures
CN107833271B (zh) 一种基于Kinect的骨骼重定向方法及装置
US8179366B2 (en) Systems and methods for using a movable object to control a computer
US9264702B2 (en) Automatic calibration of scene camera for optical see-through head mounted display
US8351651B2 (en) Hand-location post-process refinement in a tracking system
CN110362193B (zh) 用手或眼睛跟踪辅助的目标跟踪方法及系统
US8669938B2 (en) Approach for offset motion-based control of a computer
JP6097377B1 (ja) 画像表示方法及びプログラム
CN109885169B (zh) 基于三维眼球模型的眼球参数标定和视线方向跟踪方法
CN113658249A (zh) 虚拟现实场景的渲染方法、装置、设备和存储介质
US20190384382A1 (en) Image processing device, image processing method, and image system
Khattak et al. A real-time reconstructed 3D environment augmented with virtual objects rendered with correct occlusion
US20060119574A1 (en) Systems and methods for using a movable object to control a computer
JP2020030805A (ja) 中心窩シミュレーションのためのシステムおよび方法
US20060119575A1 (en) Systems and methods for using a movable object to control a computer
KR20220026186A (ko) 전신 아바타를 이용한 이종공간의 혼합현실 텔레프레즌스 시스템
CN112015269A (zh) 头显设备的显示校正方法、设备及存储介质
US11880502B2 (en) Information processing device, information processing method, and non-transitory computer readable storage medium storing an information processing program
Wang et al. Control with vergence eye movement in augmented reality see-through vision
CN116848495A (zh) 用于选择虚拟对象以进行扩展现实交互的设备、方法、系统和介质
CN114385015A (zh) 虚拟对象的控制方法及电子设备
JP2020071529A (ja) 情報処理装置、情報処理方法、及びプログラム
CN111766959B (zh) 虚拟现实交互方法和虚拟现实交互装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination