CN104240281A - 一种基于Unity3D引擎的虚拟现实头戴式设备 - Google Patents
一种基于Unity3D引擎的虚拟现实头戴式设备 Download PDFInfo
- Publication number
- CN104240281A CN104240281A CN201410431515.7A CN201410431515A CN104240281A CN 104240281 A CN104240281 A CN 104240281A CN 201410431515 A CN201410431515 A CN 201410431515A CN 104240281 A CN104240281 A CN 104240281A
- Authority
- CN
- China
- Prior art keywords
- display screen
- virtual reality
- unity3d engine
- distortion
- lens
- 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
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种基于Unity3D引擎的虚拟现实头戴式设备,包括长方体外壳,所述长方体外壳内部固定有显示屏,所述显示屏通过计算机显示两个照相机获取的画面;所述显示屏相对的一侧呈双孔状结构,所述双孔状结构内放置有用于调焦的透镜,所述计算机采用Unity3D引擎来使显示屏显示的画面产生双筒状的扭曲来抵消透镜所产生的扭曲。本发明使用Unity3D引擎强大的软件功能克服了画面的模糊效果,极大的满足了用户的需求。
Description
技术领域
本发明涉及虚拟现实技术领域,特别是涉及一种基于Unity3D引擎的虚拟现实头戴式设备。
背景技术
目前,在现有的虚拟现实设备中,利用用户的双目立体视觉分别产生的不同图像,显示在不同的显示器上,一只眼睛只能看到奇数帧图像,另一只眼睛只能看到偶数帧图像,奇、偶帧之间的不同也就是视差就产生了立体感。但是基于设备现有的技术和构造难以使用户产生良好的立体感,而且容易使用户产生眩晕,这些都由于虚拟现实显示时的模糊效果和精度难以达到所需的要求,从而也不能使用户产生更好的体验。
发明内容
本发明所要解决的技术问题是提供一种基于Unity3D引擎的虚拟现实头戴式设备,以使设备显示出更好的3D场景效果,让体验者身临其境。
本发明解决其技术问题所采用的技术方案是:提供一种基于Unity3D引擎的虚拟现实头戴式设备,包括长方体外壳,所述长方体外壳内部固定有显示屏,所述显示屏通过计算机显示两个照相机获取的画面;所述显示屏相对的一侧呈双孔状结构,所述双孔状结构内放置有用于调焦的透镜,所述计算机采用Unity3D引擎来使显示屏显示的画面产生双筒状的扭曲来抵消透镜所产生的扭曲。
所述两个照相机的Viewport Rect参数分别设置为(0,0,0.5,1)和(0.5,0,0.5,1),使得显示屏产生两个左右相同的场景,并且左右两个相同场景各占屏幕的一半,所述计算机通过极坐标(r,θ)→(f(r)r,θ)变换来改变像素坐标点到各半屏幕中心的距离r,把改变后的距离r处所在的坐标点的像素颜色值返回给原来的坐标点上,此时改变了所有坐标点的像素颜色值,其中f(r)=k0+k1r2+k2r4+k3r6,通过选择k0,k1,k2,k3这四个系数能够作出相反于透镜所产生的扭曲效果。
k0,k1,k2,k3这四个系数分别为1.0、0.2、0.2和0。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明使用Unity3D引擎强大的软件功能克服了画面的模糊效果,极大的满足了用户的需求,不仅能够实现实时、高精度监控用户旋转的角度变化,而且能呈现给用户一个酷炫的3D世界。
附图说明
图1是在作双筒状扭曲前画面;
图2是在作双筒状扭曲后画面;
图3是处理画面变化的程序流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的实施方式涉及一种基于Unity3D引擎的虚拟现实头戴式设备,包括长方体外壳,所述长方体外壳内部固定有显示屏,所述显示屏通过计算机显示两个照相机获取的画面;所述显示屏相对的一侧呈双孔状结构,所述双孔状结构内放置有用于调焦的透镜,所述计算机采用Unity3D引擎来使显示屏显示的画面产生双筒状的扭曲来抵消透镜所产生的扭曲。
在制作外壳时,首先在外壳上采用长方形的框架,眼睛需要看的一侧做成双孔状,形成一个长方体盒子,使其内部可以很好的固定显示器屏幕,为了使用户产生身临其境的感觉,而不仅仅是像看3D电影那样只是在面前呈现场景,同时又不使用户贴着屏幕使眼睛的焦距变短,本发明在双孔上安装透镜来调焦,虽然这样会使场景产生扭曲,但是可以用Unity3D引擎提供的shader编写功能来使画面产生双筒状的扭曲来抵消透镜所产生的扭曲。
Unity3D引擎界面,分为场景视图、游戏视图、工程视图、层次视图以及属性面板。工程视图包含所有要用到的资源包,层次视图为场景视图显示的所有游戏物体,场景视图为显示层次视图中所有的游戏物体,运行后可以播放游戏视图。
如图1所示,在Unity3D引擎里运行,播放没有作双筒状扭曲的游戏场景,此时呈现的是一幅带有两个照相机的3D画面,用户左右眼看到的是两幅相同的场景,且戴上设备后看到的将是经过透镜扭曲过的画面,此时并没有模拟人双眼在真实生活中看到的世界,且画面经过透镜扭曲,由于没有做过处理,会使用户感觉整个世界都颠倒了。
为了模拟人双眼效果,在Unity3D里采用两个照相机来实现,分别设置左右两个照相机的Viewport Rect参数,左边照相机的Viewport Rect参数改成(0,0,0.5,1),右边照相机的Viewport Rect参数改成(0.5,0,0.5,1),此时将会在屏幕产生两个相同的场景,左右两个场景各占屏幕的一半。然后在Unity3D引擎里的Monodevelop编辑器用Cg语言编写Shader,并把脚本添加到相应的左右两个照相机上,在Shader里通过极坐标(r,θ)→(f(r)r,θ)变换来改变像素坐标点到各半屏幕中心的距离r,把改变后的距离r处所在的坐标点的像素颜色值返回给原来的坐标点上,此时改变了所有坐标点的像素颜色值,其中f(r)=k0+k1r2+k2r4+k3r6,通过合理的选择k0,k1,k2,k3这四个系数能够作出相反于透镜所产生的扭曲效果,在这里可以选择(1.0,0.2,0.2,0)作为四个系数的值。此时,把通过Cg语言编写的Shader分别添加给左右两个照相机能够精准的作出抵消透镜所产生的扭曲效果。最后模拟人双眼间的距离,在Shader里把左边透镜中心LensCenter的坐标设置为(0.4,0.5),右边透镜中心LensCenter的坐标设置为(0.6,0.4),同时左半屏幕的中心ScreenCenter的坐标设置为(0.4,0.5),右半屏幕的中心ScreenCenter的坐标设置为(0.6,0.5),此时产生的效果如图2所示,这也是经过大量试验才得到的参数值。
设置好这些参数后,在虚拟现实头戴式设备上安装三轴陀螺仪、三轴加速度传感器及三轴磁场传感器,并编写识别设备且接受设备数据的USB脚本,且添加给左右两个照相机。这样能接收并转换人头部的旋转角度。以让用户戴上虚拟现实设备后旋转头部就能使其感觉在真实世界中四处张望一样。再编写使人移动的脚本并添加给左右两个照相机,如此一来,人将会像生活在真实世界中一样在3D游戏场景里自由的行走。采用了这样一种全新的方案,使用Unity3D引擎强大的软件功能克服了虚拟现实头戴式设备显示3D画面的模糊效果,并实时接收并转换设备的数据,极大的满足了用户的需求。
图3为编写Shader脚本的程序流程图,先定义着色器的属性,包含所使用的贴图,这张贴图将是我们看到的场景画面。再用Cg语言定义顶点数据结构,这将包括贴图位置和像素点平面坐标值,然后在顶点函数vert中计算位置和像素点平面坐标值,接着在片段函数frag中,通过函数f(r)=k0+k1r2+k2r4+k3r6改变所有像素坐标点到各半屏幕中心的距离r,把改变后的距离r处所在的坐标点的像素颜色值返回给原来的坐标点上,最后把顶点函数vert的代码编译成顶点程序,把片段函数frag的代码编译成片段程序。再把编写好的Shader脚本添加给左右两个照相机就能使画面产生双筒状的效果以抵消透镜所产生的扭曲。
Claims (3)
1.一种基于Unity3D引擎的虚拟现实头戴式设备,包括长方体外壳,所述长方体外壳内部固定有显示屏,所述显示屏通过计算机显示两个照相机获取的画面;所述显示屏相对的一侧呈双孔状结构,其特征在于,所述双孔状结构内放置有用于调焦的透镜,所述计算机采用Unity3D引擎来使显示屏显示的画面产生双筒状的扭曲来抵消透镜所产生的扭曲。
2.根据权利要求1所述的基于Unity3D引擎的虚拟现实头戴式设备,其特征在于,所述两个照相机的Viewport Rect参数分别设置为(0,0,0.5,1)和(0.5,0,0.5,1),使得显示屏产生两个左右相同的场景,并且左右两个相同场景各占屏幕的一半,所述计算机通过极坐标(r,θ)→(f(r)r,θ)变换来改变像素坐标点到各半屏幕中心的距离r,把改变后的距离r处所在的坐标点的像素颜色值返回给原来的坐标点上,此时改变了所有坐标点的像素颜色值,其中f(r)=k0+k1r2+k2r4+k3r6,通过选择k0,k1,k2,k3这四个系数能够作出相反于透镜所产生的扭曲效果。
3.根据权利要求2所述的基于Unity3D引擎的虚拟现实头戴式设备,其特征在于,k0,k1,k2,k3这四个系数分别为1.0、0.2、0.2和0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410431515.7A CN104240281A (zh) | 2014-08-28 | 2014-08-28 | 一种基于Unity3D引擎的虚拟现实头戴式设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410431515.7A CN104240281A (zh) | 2014-08-28 | 2014-08-28 | 一种基于Unity3D引擎的虚拟现实头戴式设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104240281A true CN104240281A (zh) | 2014-12-24 |
Family
ID=52228283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410431515.7A Pending CN104240281A (zh) | 2014-08-28 | 2014-08-28 | 一种基于Unity3D引擎的虚拟现实头戴式设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104240281A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592103A (zh) * | 2016-02-02 | 2016-05-18 | 郭小虎 | 基于Unity3D的虚拟现实设备与移动设备的同步显示方法 |
CN107145222A (zh) * | 2017-04-06 | 2017-09-08 | 北京讯腾智慧科技股份有限公司 | 基于Unity三维引擎和VR设备的工具自动绑定系统和方法 |
US20180192022A1 (en) * | 2017-01-03 | 2018-07-05 | Black Sails Technology Inc. | Method and System for Real-time Rendering Displaying Virtual Reality (VR) On Mobile Using Head-Up Display Devices |
CN109166388A (zh) * | 2018-09-11 | 2019-01-08 | 杭州师范大学 | 一种面向地震安全教育的虚拟训练与体验方法 |
CN113256777A (zh) * | 2021-06-28 | 2021-08-13 | 山东捷瑞数字科技股份有限公司 | 一种基于计算机图形学实现的球幕播放及调整方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2482111Y (zh) * | 2001-03-14 | 2002-03-13 | 杜礼政 | 双视场高真度广角立体显示器 |
CN102122072A (zh) * | 2011-03-16 | 2011-07-13 | 北京理工大学 | 头戴式微投影立体视觉显示器 |
US20130063560A1 (en) * | 2011-09-12 | 2013-03-14 | Palo Alto Research Center Incorporated | Combined stereo camera and stereo display interaction |
CN203502676U (zh) * | 2013-10-13 | 2014-03-26 | 覃政 | 头戴式立体显示器 |
CN103778649A (zh) * | 2012-10-11 | 2014-05-07 | 通用汽车环球科技运作有限责任公司 | 用于相机建模和虚拟视图合成的成像表面建模 |
CN103957400A (zh) * | 2014-05-09 | 2014-07-30 | 北京乐成光视科技发展有限公司 | 一种基于Unity3D游戏引擎的裸眼3D显示系统 |
-
2014
- 2014-08-28 CN CN201410431515.7A patent/CN104240281A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2482111Y (zh) * | 2001-03-14 | 2002-03-13 | 杜礼政 | 双视场高真度广角立体显示器 |
CN102122072A (zh) * | 2011-03-16 | 2011-07-13 | 北京理工大学 | 头戴式微投影立体视觉显示器 |
US20130063560A1 (en) * | 2011-09-12 | 2013-03-14 | Palo Alto Research Center Incorporated | Combined stereo camera and stereo display interaction |
CN103778649A (zh) * | 2012-10-11 | 2014-05-07 | 通用汽车环球科技运作有限责任公司 | 用于相机建模和虚拟视图合成的成像表面建模 |
CN203502676U (zh) * | 2013-10-13 | 2014-03-26 | 覃政 | 头戴式立体显示器 |
CN103957400A (zh) * | 2014-05-09 | 2014-07-30 | 北京乐成光视科技发展有限公司 | 一种基于Unity3D游戏引擎的裸眼3D显示系统 |
Non-Patent Citations (2)
Title |
---|
吴志达: "一种基于Unity3d游戏引擎的体感游戏研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
李芳芳: "透镜畸变校正算法比较分析", 《测绘》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592103A (zh) * | 2016-02-02 | 2016-05-18 | 郭小虎 | 基于Unity3D的虚拟现实设备与移动设备的同步显示方法 |
CN105592103B (zh) * | 2016-02-02 | 2019-02-01 | 郭小虎 | 基于Unity3D的虚拟现实设备与移动设备的同步显示方法 |
US20180192022A1 (en) * | 2017-01-03 | 2018-07-05 | Black Sails Technology Inc. | Method and System for Real-time Rendering Displaying Virtual Reality (VR) On Mobile Using Head-Up Display Devices |
CN108377381A (zh) * | 2017-01-03 | 2018-08-07 | 黑帆科技有限公司 | 沉浸式vr视频渲染方法及装置 |
CN108419142A (zh) * | 2017-01-03 | 2018-08-17 | 黑帆科技有限公司 | Vr视频播放方法及装置 |
CN107145222A (zh) * | 2017-04-06 | 2017-09-08 | 北京讯腾智慧科技股份有限公司 | 基于Unity三维引擎和VR设备的工具自动绑定系统和方法 |
CN107145222B (zh) * | 2017-04-06 | 2019-03-05 | 北京讯腾智慧科技股份有限公司 | 基于Unity三维引擎和VR设备的工具自动绑定系统和方法 |
CN109166388A (zh) * | 2018-09-11 | 2019-01-08 | 杭州师范大学 | 一种面向地震安全教育的虚拟训练与体验方法 |
CN113256777A (zh) * | 2021-06-28 | 2021-08-13 | 山东捷瑞数字科技股份有限公司 | 一种基于计算机图形学实现的球幕播放及调整方法 |
CN113256777B (zh) * | 2021-06-28 | 2021-09-28 | 山东捷瑞数字科技股份有限公司 | 一种基于计算机图形学实现的球幕播放及调整方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11632537B2 (en) | Method and apparatus for obtaining binocular panoramic image, and storage medium | |
US11076142B2 (en) | Real-time aliasing rendering method for 3D VR video and virtual three-dimensional scene | |
US11577159B2 (en) | Realistic virtual/augmented/mixed reality viewing and interactions | |
US20160267720A1 (en) | Pleasant and Realistic Virtual/Augmented/Mixed Reality Experience | |
CN106101689B (zh) | 利用手机单目摄像头对虚拟现实眼镜进行增强现实的方法 | |
EP3057066B1 (en) | Generation of three-dimensional imagery from a two-dimensional image using a depth map | |
US9460555B2 (en) | System and method for three-dimensional visualization of geographical data | |
CN106406525A (zh) | 虚拟现实交互方法、装置及设备 | |
US6388666B1 (en) | System and method for generating stereoscopic image data | |
CN104240281A (zh) | 一种基于Unity3D引擎的虚拟现实头戴式设备 | |
CN101631257A (zh) | 一种实现二维视频码流立体播放的方法及装置 | |
Thatte et al. | Depth augmented stereo panorama for cinematic virtual reality with head-motion parallax | |
CN104702936A (zh) | 一种基于裸眼3d显示的虚拟现实交互方法 | |
CN105282536A (zh) | 一种基于Unity3D引擎的裸眼3D图文交互方法 | |
CN104216533A (zh) | 一种基于DirectX9的头戴式虚拟现实显示器 | |
CN105578172A (zh) | 基于Unity3D引擎的裸眼3D视频显示方法 | |
CN102521876A (zh) | 一种实现3d用户界面立体效果的方法及系统 | |
CN104335118A (zh) | 立体视频拍摄装置及相机 | |
CN108986228B (zh) | 用于虚拟现实中界面显示的方法及装置 | |
CN103871094A (zh) | 一种基于体扫描三维显示系统数据源生成方法 | |
CN105389847A (zh) | 一种3d场景的绘制系统及方法、终端 | |
TWM630947U (zh) | 立體影像播放裝置 | |
KR101425321B1 (ko) | 적응형 렌즈 어레이를 구비하는 3차원 집적 영상 디스플레이 시스템 및 적응형 렌즈 어레이에 대한 요소 영상 생성 방법 | |
CN108881892B (zh) | 用于桌面式虚拟现实系统的防眩晕方法、系统 | |
CN110197524A (zh) | 立体显示方法、设备、装置和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141224 |