用于虚拟和现实场景的立体显示方法、装置及电子设备的制造方法_3

文档序号:9924086阅读:来源:国知局
的 观察视角同步模式为观察矩阵变换模式后,本实施例包括:
[0089] 步骤31,跟踪用户的头部位置,获取用户头部位置的实时跟踪数据。
[0090] 具体的,如图2所示,用户头部的实时跟踪数据与前述实施例中的实时跟踪数据 一致,在此不重复描述。本实施例中根据实时跟踪数据,改变观察矩阵,从而得到新观察矩 阵。
[0091] 步骤32,当用户的头部位置发生变化时,根据所述实时跟踪数据对虚拟场景的原 观察矩阵进行变换,得到新的观察矩阵。
[0092] 本实施例中通过改变观察矩阵来进行视角偏转,从而实现观察视角的同步。其中, 原观察矩阵也可称为当前观察矩阵,是指在用户头部位置变化时当前的立体图像所应用的 观察矩阵,即观察视角还没改变时立体图像所应用的观察矩阵。在本发明的一个实施例中, 虚拟场景的原观察矩阵可通过拦截技术获取,关于立体应用场景中的拦截技术不是本申请 的重要内容,在此不详细描述。
[009引步骤33,根据所述新的观察矩阵,构建并显示虚拟场景的立体图像,从而对虚拟场 景的观察视角进行变换,实现虚拟场景下的观察视角与用户头部位置变化后的观察视角同 步。
[0094] 具体的,在本发明的一个实施例中,得到新观察矩阵后,通过注入技术将新的观察 矩阵注入到应用程序的成像流程中,从而达到绘制3D立体内容且实现观察视角同步的目 的。
[0095] 本实施例提供的用于虚拟与显示场景的立体显示方法中,观察视角同步模式为观 察矩阵同步模式,通过改变观察矩阵进行偏转视角的方法适用于在视角转动后,仍然能够 正确的观察,没有场景信息缺失的场景下(例如头戴式3D显示)。该方式改变视角更加科 学和准确,特别适用于立体内容即立体图像的场景范围较小的情况。
[0096] 具体的,本实施例中上述步骤32包括:
[0097] 步骤321,根据所述实时跟踪数据,确定用户头部的旋转矩阵;
[0098] 具体的,基于用户头部位置的实时跟踪数据,例如用户头部的旋转角度,确定用户 头部的旋转矩阵分别为X轴的旋转矩阵、Y轴的旋转矩阵W及Z轴的旋转矩阵。需要说明 的是,该类旋转矩阵的格式均为预先设定的,本发明中将得到的用户头部的实时跟踪数据 进行预定处理后填充到预先设定的矩阵中的预定位置从而构成本实施例需要的用户头部 的旋转矩阵。
[0099] 步骤322,根据所述用户头部的旋转矩阵、虚拟场景的视差偏转矩阵W及虚拟场景 的原观察矩阵,确定新的观察矩阵。
[0100] 从立体成像的原理上来讲,为了构建立体图像,需要首先构建具有水平视差的两 幅左右眼图像,为生成视差图像,需移动摄像机位置,即将摄像机在同一水平面上进行偏 移,产生左右相机,分别对应人的左眼和右眼。左右相机之间的间距称为视间距。视差偏转 矩阵根据视间距确定。 阳101] 用户头部的旋转矩阵实际为用户的视角偏转矩阵,即观察矩阵的变换包括视角偏 转和视差偏转;从而根据视角偏转矩阵、虚拟场景的视差偏转矩阵W及当前虚拟场景的观 察矩阵即可得到新的观察矩阵。且新的观察矩阵是相对于新的观察视角而言的。 阳102] 具体的,本发明提供的实施例四中的上述虚拟场景的视差偏转矩阵的生成步骤包 括: 阳103] 步骤323,根据预先配置或者根据用户输入的设置参数确定虚拟场景的视间距信 息;
[0104] 步骤324,根据所述确定的视间距信息确定虚拟场景的视差偏转矩阵。
[01化]可选的,视间距信息sep可W由系统预先设定也可开放给用户自行设定,在此不 限定其具体值。其中,S巧可认为是左右相机之间的距离,用来表示人的左右眼之间的距 离。需要说明的是,上述视差偏差矩阵也为预先设定的格式,本申请需将视间距信息进行预 定处理后填充至预先设定的格式中从而构成视差偏转矩阵。
[0106] 进一步具体的,本实施例中,所述视差偏转矩阵包括第一视图视差偏转矩阵W及 第二视图视差偏转矩阵,也可称为左视图视差偏转矩阵和右视图视差偏转矩阵;所述新的 观察矩阵包括第一视图观察矩阵和第二视图观察矩阵,也可称为左视图观察矩阵和右视图 观察矩阵;则步骤322具体包括: 阳107] 步骤3221,根据所述用户头部的旋转矩阵、虚拟场景的第一视图视差偏转矩阵W 及虚拟场景的原观察矩阵,确定第一视图观察矩阵;W及
[0108] 步骤3222,根据所述用户头部的旋转矩阵、虚拟场景的第二视图视差偏转矩阵W 及虚拟场景的原观察矩阵,确定第二视图观察矩阵;
[0109] 贝IJ,本实施例中上述步骤43包括:
[0110] 步骤331,利用所述第一视图观察矩阵擅染生成虚拟场景的第一视图,并利用所述 第二视图观察矩阵擅染生成虚拟场景的第二视图; 阳111]旨P,分别生成左右眼视差图像。
[0112] 步骤332,根据擅染生成的所述第一视图和第二视图,构建并显示虚拟场景的立体 图像。
[0113] 目P,拦截所述应用程序的原擅染管线,根据所述新的观察矩阵,对所述原擅染管线 进行修改,从而实现利用所述新的观察矩阵擅染产生所述应用程序用户的左右眼分别对应 的视差图像,进而基于所述左右眼分别对应的视差图像构建并显示虚拟场景的立体图像。
[0114] 具体的,在本发明的一个实施例中,得到新观察矩阵后,利用注入技术将新观察矩 阵注入到3D应用的流程中,从而达到绘制3D立体内容且实现观察视角同步的目的。
[0115] 具体的,本实施例得到两个新的观察矩阵,则需将两个新的观察矩阵分别注入到 应用流程中,从而实现观察视角的同步;即分别根据第一视图观察矩阵和第二视图观察矩 阵擅染生成第一视图和第二视图,根据第一视图和第二视图并结合立体显示技术,生成虚 拟场景的立体图像并在裸眼立体显示屏上进行显示。
[0116] 具体的,下面结合一具体实施例对本实施例的执行步骤进行详细描述:
[0117] 首先通过拦截技术,获取当前虚拟场景的原观察矩阵V ;
[0118] 然后根据头部跟踪数据Pitch, Yaw, Roll,则可W得到头部分别关于X,y,Z轴的旋 转矩阵:
[0122] 进而可W得到用户头部的旋转矩阵VKuhti。。: 阳 12引 VRotation= Rotation pitch*R〇tationyaw*R〇tationR… 阳124] 当然,在很多场景(例如第一人称射击游戏)中,我们只关注头部关于X轴和y轴 的旋转变换,运样只需要令关于Z轴旋转矩阵为单位矩阵:
[0125] RotatioriRDii 二 E
[01%] 进一步的,观察矩阵的变换包含:视差偏转变换矩阵Vwp和视角偏转变换矩阵(即 用户头部的旋转矩阵)VK"hti。。,其中视差偏转矩阵Vwp是指可W理解为在生成视差图像时, 需对摄像机分别进行偏移± sep/2 (即向第一方向移动sep/2得到左摄像机,向第二方向移 动sep/2得到右摄像机),则左右摄像机的视差偏转矩阵分别为:

[0129] 既有视差偏转变换Vwp为:
阳131] 则变换后的观察矩阵V' 阳m] V' =VR"tatwn*Vsep*V
[0133] 具体的,变换后第一视图观察矩阵V' = VKuhti?*VsepJ*V ;相应的,变换后第二视图 观察矩阵V' =VK?tgti?*Vwp_L*V。将两个V'分别注入应用程序中,使得利用变换后的观察 矩阵生成虚拟场景的立体图像,从而达到偏转视角的目的,实现观察视角的同步。 阳134] 具体实施例四:
[0135] 本实施例中,观察视角同步模式包括观察矩阵变换模式。当确定应用程序对应的 观察视角同步模式为观察矩阵变换模式后,跟踪所述应用程序的用户的头部位置,获取用 户头部位置的实时跟踪数据,当用户的头部位置发生变化时,根据所述实时跟踪数据,确 定用户头部的位移矩阵,根据用户头部的位移矩阵、虚拟场景的视差偏转矩和虚拟场景的 原变换矩阵,确定新的变换矩阵,根据所述新的变换矩阵,构建并显示虚拟场景的立体图 像。
[0136] 在很多情况下(例如化en化1.0)通过拦截技术,只能获取到当前的整体变换矩阵 (是将世界坐标变换、观察坐标变换W及投影变换相乘得到的结果),运样我们就不能直接 对世界坐标变换、观察坐标变换W及投影变换中的单个变换进行直接修改。 阳137] 已知,原变换矩阵为M = P*V*W,其中W为世界坐标变换,V为观察坐标变换,P为 投影变换。偏图的整个过程,需要对观察坐标变换V,W及投影矩阵P进行修改。有 阳 13 引 M' =P' *V' *W
[0139] 其中有V '为改变后的观察坐标变换,P'为改变后的投影坐标变换:
[0140] V' =VR"tatwn*Vsep*V 阳141] 其中,VKuhti。。为视角偏转矩阵,V WP为视差偏转矩阵。 阳1创接着有, 阳1创 M' =P' *VR"tatwn*Vsep*V*W
[0144] = (P,*VR〇ta"〇n*Vs巧冲 1)冲*V*W
[0145] = (P,*Vsep*Vrotatlon 冲 1)*M
[0146] 其中,若不在该矩阵变换中偏转视角,则V"t。。。。= E,为单位矩阵。 阳147] 则
[0148] Ml= (P L*Vsep_L*Vrotation冲 1) 阳 149] Mr= (P R*Vsw_R*Vrotation冲 I) *M 阳150] 其中,M式日Mk分别为偏转后左右相机的变换矩阵,VwpJ分别为左右相机的 视差偏转矩阵,町和P K分别为偏转后左右相机的投影矩阵。在已知投影矩阵的且可W拦截 到变换矩阵的M的前提下,就可W通过根据视差偏转矩阵和头部的旋转矩阵,得到变换后 的变换矩阵。 阳151] 基于上述原理,本实施例中,在观察矩阵同步模式下,跟踪所述应用程序的用户的 头部位置,获取用户头部位置的实时跟踪数据,当用户的头部位置发生变化时,根据所述 实时跟踪数据,确定用户头部的位移矩阵,根据用户头部的位移矩阵、虚拟场景的视差偏转 矩和虚拟场景的原变换矩阵,确定新的变换矩阵,根据所述新的变换矩阵,构建并显示虚拟 场景的立体图像。 阳152] 具体的,根据所述实时跟踪数
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1