前言
@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 Unity:
https://github.com/googlevr/gvr-unity-sdk @H_
502_2@
全景图片一张:(自行拍摄或者google查找 @H_
502_2@
切立方体图
@H_
502_2@1、运行
PTGui,选择
Tools –
Convert 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@

切图结果
@H_
502_2@

@H_
502_2@
6张立方体图设置
@H_
502_2@1、导入 GoogleVRForUnity.unitypackage (如果已有,可忽略) @H_
502_2@2、导入切好的6张小图,选中这6张图,统一设置
图片的
属性如下: @H_
502_2@
![image[14] image[14]](https://images2015.cnblogs.com/blog/363476/201605/363476-20160528173722131-1492784057.png)
@H_
502_2@3、创建一个mat,命名为
scene_cubes @H_
502_2@4、
修改scene_cubes的shader为
skyBox/6 sided @H_
502_2@

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

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

@H_
502_2@
全景图设置
@H_
502_2@1、导入 GoogleVRForUnity.unitypackage (如果已有,可忽略) @H_
502_2@2、导入全景图(未切割的大图),设置
属性如下: @H_
502_2@

@H_
502_2@3、创建一个mat,命名为
scene @H_
502_2@3、
修改scene的shader为
skyBox/cubemap,并把步骤2的全景图,拖动到
CubeMap中 @H_
502_2@

@H_
502_2@4、现在你的资源看起来如下

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

@H_
502_2@2、
修改Main Camera 的
Clear Flags为
SkyBox,而不是原来的
Solid Color,修改后左右相机也会保持一致。 @H_
502_2@

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

@H_
502_2@4、点击
Window –
Lighting 打开Lighting窗口,在
Scene 中设置
SkyBox为
scene_cubes.mat 或
scene.mat @H_
502_2@

@H_
502_2@
运行结果
@H_
502_2@
按住Alt键,
移动鼠标模拟头部运动 @H_
502_2@

@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/