Unity VR全景漫游

前言

@H_502_2@最近VR如火如茶,就学习就落伍啦,所以有空闲时间研究下相关知识。

@H_502_2@本文介绍了两种方法来制作VR场景:

  • 方法一:通过6张小图搭建的VR场景
  • 方法二:通过一张全景图来搭建VR场景
@H_502_2@最后搭建场景的方法是相同的,可以小图或者全景来充当场景。

@H_502_2@ 

软件环境

@H_502_2@Unity5.3.1 X64: http://unity3d.com/cn/get-unity/download/archive

@H_502_2@PTGui[可选]: 把全景图转成6个立方小图 http://www.ptgui.com/download.html

@H_502_2@Google VR SDK For Unityhttps://github.com/googlevr/gvr-unity-sdk

@H_502_2@全景图片一张:(自行拍摄或者google查找

@H_502_2@ 

切立方体图

@H_502_2@1、运行PTGui,选择 ToolsConvert to QTVR/Cubic

@H_502_2@2、点击 Add Files添加全景文件

@H_502_2@3、选择 cube faces,6 separate files (立方体表面,6个单独文件),可以选择 Cube Face Names ,设置每个文件的后缀

@H_502_2@4、点击 Convert ,输出文件和你的全景图片在同一个目录

@H_502_2@

image

切图结果

@H_502_2@

image

@H_502_2@ 

6张立方体图设置

@H_502_2@1、导入 GoogleVRForUnity.unitypackage (如果已有,可忽略)

@H_502_2@2、导入切好的6张小图,选中这6张图,统一设置图片属性如下:

@H_502_2@

image[14]

@H_502_2@3、创建一个mat,命名为scene_cubes

@H_502_2@4、修改scene_cubes的shader为 skyBox/6 sided

@H_502_2@

image

@H_502_2@5、把6张小图根据名字放入相应的区域

@H_502_2@

image

@H_502_2@6、现在你的资源看起来应该如下

@H_502_2@

image

@H_502_2@ 

全景图设置

@H_502_2@1、导入 GoogleVRForUnity.unitypackage (如果已有,可忽略)

@H_502_2@2、导入全景图(未切割的大图),设置属性如下:

@H_502_2@

image

@H_502_2@3、创建一个mat,命名为scene

@H_502_2@3、修改scene的shader为 skyBox/cubemap,并把步骤2的全景图,拖动到CubeMap

@H_502_2@

image

@H_502_2@4、现在你的资源看起来如下

image

@H_502_2@ 

搭建场景

@H_502_2@1、拖动gvr sdk自带GvrMain.prefab到场景中,当然也可以自已创建,注意:结构要和GvrMain一样,组件也要绑定。

@H_502_2@

image

@H_502_2@2、修改Main Camera Clear FlagsSkyBox,而不是原来的 Solid Color,修改后左右相机也会保持一致。

@H_502_2@

image

@H_502_2@3、选中 左右镜头,给他们添加 SkyBox,并把 scene_cubes.mat 或 scene.mat 赋值 [可省略]

@H_502_2@

image

@H_502_2@4、点击 WindowLighting 打开Lighting窗口,在Scene 中设置SkyBox scene_cubes.matscene.mat

@H_502_2@

image

@H_502_2@ 

运行结果

@H_502_2@按住Alt键移动鼠标模拟头部运动

@H_502_2@

myvr_view

@H_502_2@ 

参考资料

QTVR

@H_502_2@QuickTime VR(也被称为QTVR)是苹果公司的QuickTime支持的一种文件格式。可以用它观看、制作可拖拽的全景照片,并通过在不同角度拍摄的图像来观察物体。它作为QuickTime播放器的插件工作,也可以以web浏览器的QuickTime插件方式工作。

@H_502_2@QuickTime VR可以在Windows系统中也可以在苹果系统中工作。

全景

@H_502_2@虚拟全景图是环绕着观众的全景图(在内,向外),使人产生置身其中的感觉。通过“拼接”几张正常照片或者是两张采用了180度鱼眼镜头拍摄的照片来制作,或使用具有专门功能的全景相机,甚至使用三维建模的场景渲染的两张图片

  • 单列全景,用一个水平行的照片。
  • 多行全景,与在不同倾斜角度拍摄的多行照片。
@H_502_2@虚拟现实全景进一步分为包含顶部和底部,称为立方体或者球形全景,那些不包括顶部和底部的通常称为柱形全景。

@H_502_2@单个全景,也称为节点,是从空间的独立的一个点拍摄到的。通过连接多节点或多对象的影片,使观众可以从一个地点转移另一个地点。这种多节点的QuickTime VR影片被称为场景。

@H_502_2@苹果公司的 QuickTime VR文件格式的对全景图节点有两种表达方式:

  • 圆柱形(由围绕观众而成一个360度的图像)
  • 立方(由环绕观众的六张图片两两90 °× 90°正交构成的立方体 )
@H_502_2@他们中的每一个通常被细分或者平铺成几个较小的图像,并被储存到一个特殊格式的QuickTime影片。

@H_502_2@热点可嵌入全景,当选中它们时可以调用一些动作,例如移到全景图的另一个热点。

对象

@H_502_2@相比于在一个地点以不同的角度向外拍摄而成的全景图,对象是指是对同一物体在不同视角进行拍摄。

@H_502_2@最简单的对象全景图是在单排上捕捉的,通常在一个物体的赤道方向上抓取拍摄。这通常会使用一个旋转的转盘使拍摄变得便利。对象被放置在转盘上,并且通过固定在三脚架上的相机以平均递增的角度进行拍摄(通常是10 °)。

@H_502_2@捕捉一个多行拍摄的对象影片则需要更精细的设置,因为相机必须在对象的赤道的上下方倾斜一定的角度。

@H_502_2@图像的来源不必须是照片,也可以用3D效果图或者图纸。

@H_502_2@更多请参考:https://zh.wikipedia.org/wiki/QuickTime_VR

@H_502_2@ 

@H_502_2@参考:http://szeching.com/how-to-make-cardboard-vr-app-with-unity3d/

相关文章

前言 本文所指的google类vr设备是指: 谷歌的Cardboard、三星Gear VR、暴风魔镜等这样的手机VR盒子,而...
ImageTarget 前言 ImageTarget 顾名思义,就是图像识别,本文记录下作者最近学习vuforia中的imageTarge...
前言 关于google vr sdk的具体使用,传送门 Gvr SDK for Unity 分析(一) Google Daydream平台已经整合进...
VuMark 准备知识 Vumark的说明: https://library.vuforia.com/articles/Training/VuMark https://libr...
环境 引擎: Unity 5.3.6f1 SDK: Vuforia 6.0.112 测试系统:Android 4.2/4.3 6.0 Android 6出错 在Andr...
前言 最近VR如火如茶,就学习就落伍啦,所以有空闲时间研究下相关知识。 本文介绍了两种方法来制作VR场...