一种将普通3D程序转换成VR/XR扩展现实程序的方法与流程

文档序号:34817063发布日期:2023-07-19 19:59阅读:65来源:国知局
一种将普通3D程序转换成VR/XR扩展现实程序的方法与流程

本发明涉及一种3d程序的转换方法,具体涉及一种将普通3d程序转换成vr/xr扩展现实程序的方法。


背景技术:

1、vr是虚拟现实,通常使用沉浸式虚拟现实头盔观看沉浸式的虚拟现实内容。虚拟显示内容有两种,第一种是720度视场角的图像视频内容,这种内容通常是通过包裹在一个球形网格模型上,观察者的视点落在球心位置,观察者转动头部,在头盔内就会看到不同视角的画面。第二种是通过虚拟摄像机动态生成场景内容,六自由度传感器会将观察者头部位姿信息传递给虚拟摄像机,虚拟摄像机渲染该位姿下的3d场景并在头盔内观看到该视角的虚拟图像。

2、xr是扩展现实,通常是用沉浸式led环境呈现出虚拟场景,人可以不用佩戴头盔就能够获得身临其境的感觉,其内容生产方式与vr类似,一种是720度影片,一种是根据观察者的视点动态生成虚拟场景。在第二种方法中,通常是利用视点跟踪和视点透视矫正的方法对虚拟场景进行投影,以获得最佳观看效果。

3、vr/xr程序都需要开发人员使用专用的sdk(软件开发工具包)开发,不同的头盔,不同显示形状的led都会对应不同的sdk或者不同的sdk设置,难以普及。

4、目前大部分的3d程序(3d游戏、虚拟仿真软件、3d互动展示软件)都不能直接在vr/xr设备上运行,其中关键的原因在于3d程序中的虚拟摄像机的视场角通常只有一个,视场角在120度以内,不能提供360视场角,而且这些3d程序不能够完成视点跟踪和透视矫正,所以画面即使显示在vr/xr设备上,也是扭曲变形的。


技术实现思路

1、针对目前开发vr/xr 3d应用程序只能使用专用sdk进行开发的问题,本发明提供了一种将普通3d程序转换成vr/xr扩展现实程序的方法。该方法能够将已经编译好的3d图形类型的可执行app文件转换成具有720度视场角(水平360度垂直360度)的互动3d场景程序,可用于跟虚拟现实领域相关的虚拟仿真程序应用开发,使开发人员无需考虑终端设备的类型(头盔vr、xr),能够在终端设备中直接运行并呈现出沉浸式的显示效果。

2、本发明的目的是通过以下技术方案实现的:

3、一种将普通3d程序转换成vr/xr扩展现实程序的方法,包括如下步骤:

4、步骤1、检测目标3d应用程序的类型;

5、步骤2、通过修改器方法,获取3d应用程序中存储虚拟摄像机的内存地址,并解析摄像机对象类型,使用c++或者c#将内存地址表转换成可以操作的虚拟摄像机对象物体,通过内存地址的指针访问虚拟摄像机的参数;

6、步骤3、在每一次渲染的循环函数中,操作虚拟摄像机,设定其视场角为90度,分别朝向量方向(1,0,0)、(-1,0,0)、(0,0,1)、(0,0,-1)、(0,1,0)和(0,-1,0)进行场景渲染,其渲染图像分别是r1、r2、r3、r4、r5、r6;

7、步骤4、利用c++或者c#建立一个新的虚拟摄像机,给其绑定一个cg/hlsl/glsl材质程序,将r1、r2、r3、r4、r5、r6根据用户的视点位姿参数,渲染到vr或者xr设备特定的显示缓冲区,并完成透视矫正;

8、步骤5、将原3d应用程序的指令操作通过键盘映射映射到vr/xr的交互手柄上,实现对虚拟场景的交互操作;

9、步骤6、将程序编译成动态链接库文件,使用动态链接库注入程序实现vr/xr场景的渲染。

10、相比于现有技术,本发明具有如下优点:

11、1、3d应用程序在编译好以后,里面的虚拟相机以及虚拟相机的数量已经被程序固化,无法调整其视角以及3d场景渲染的方式。而本发明则可以通过动态链接库注入的方式,在显示芯片层面对虚拟相机进行操作,调整虚拟相机的视场角和数量,并根据终端设备的类型完成视点跟踪和透视矫正,使设备上呈现出沉浸的vr画面,从而实现普通3d应用程序转化成vr/xr程序。

12、2、利用本发明转换方法开发的播放器,能够将已经编译好的3d程序(exe apkapp)直接在vr/xr设备上运行,并且还原其720度的观察画面。通过此技术,可以将已有的大量3d应用直接转换成vr/xr应用。

13、3、本发明的转换方法可以将普通3d图形程序如游戏、虚拟仿真应用都直接转换成vr/xr应用程序;分辨率比原有3d图形程序更大,交互性和沉浸性更强;无需要考虑终端设备的类型,能够基于当前设备情况完成自动适配。



技术特征:

1.一种将普通3d程序转换成vr/xr扩展现实程序的方法,其特征在于所述方法包括如下步骤:

2.根据权利要求1所述的将普通3d程序转换成vr/xr扩展现实程序的方法,其特征在于所述3d应用程序分成3大类:unity引擎开发、unrealengine开发以及使用图形api。

3.根据权利要求1所述的将普通3d程序转换成vr/xr扩展现实程序的方法,其特征在于所述3d应用程序若存在鼠标操作,则需要将鼠标的输入信息转换成基于视点位置的视线信息,映射到vr/xr的交互手柄上,实现虚拟鼠标操作。


技术总结
本发明公开了一种将普通3D程序转换成VR/XR扩展现实程序的方法,所述方法如下:1、检测目标3D应用程序的类型;2、获取3D应用程序中存储虚拟摄像机的内存地址,将内存地址表转换成虚拟摄像机对象物体;3、在每一次渲染的循环函数中,操作虚拟摄像机进行场景渲染;4、建立一个新的虚拟摄像机,给其绑定材质程序,将渲染图像渲染到VR或者XR设备特定的显示缓冲区,并完成透视矫正;5、将原3D应用程序的指令操作映射到VR/XR的交互手柄上,实现对虚拟场景的交互操作;6、将程序编译成动态链接库文件,使用动态链接库注入程序实现VR/XR场景的渲染。该方法可以将普通3D图形程序直接转换成VR/XR应用程序。

技术研发人员:欧剑
受保护的技术使用者:欧剑
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1