Unity VR全景漫游
一、前言:
最近VR如火如茶,再不学习就落伍啦。有空闲时间,跟Rodolfo一起研究下相关知识。
本文介绍了两种方法来制作VR场景:
- 方法一:通过6张小图搭建的VR场景
- 方法二:通过一张全景图来搭建VR场景
最后搭建场景的方法是相同的,可以小图或者全景来充当场景。
二、软件环境
Unity5.3.1 X64: http://unity3d.com/cn/get-unity/download/archive
PTGui[可选]: 把全景图转成6个立方小图 http://www.ptgui.com/download.html
Google VR SDK For Unity: https://github.com/googlevr/gvr-unity-sdk
全景图片一张:(自行拍摄或者google查找)
三、切立方体图
1、运行PTGui,选择 Tools – Convert to QTVR/Cubic
2、点击 Add Files,添加全景文件
3、选择 cube faces,6 separate files (立方体表面,6个单独文件),可以选择 Cube Face Names ,设置每个文件的后缀
4、点击 Convert ,输出文件和你的全景图片在同一个目录

切图结果

四、六张立体图设置
1、导入 GoogleVRForUnity.unitypackage (如果已有,可忽略)
2、导入切好的6张小图,选中这6张图,统一设置图片的属性如下:

3、创建一个mat,命名为scene_cubes
4、修改scene_cubes的shader为 skybox/6 sided

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

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

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

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

4、现在你的资源看起来如下
六、搭建场景
1、拖动gvr sdk自带的GvrMain.prefab到场景中,当然也可以自已创建,注意:结构要和GvrMain一样,组件也要绑定。

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

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

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

七、运行效果
按住Alt键,移动鼠标模拟头部运动

参考资料:
QTVR:
QuickTime VR(也被称为QTVR)是苹果公司的QuickTime支持的一种文件格式。可以用它观看、制作可拖拽的全景照片,并通过在不同角度拍摄的图像来观察物体。它作为QuickTime播放器的插件工作,也可以以web浏览器的QuickTime插件方式工作。
QuickTime VR可以在Windows系统中也可以在苹果系统中工作。
全景:
虚拟全景图是环绕着观众的全景图(在内,向外),使人产生置身其中的感觉。通过“拼接”几张正常照片或者是两张采用了180度鱼眼镜头拍摄的照片来制作,或使用具有专门功能的全景相机,甚至使用三维建模的场景渲染的两张图片。
- 单列全景,用一个水平行的照片。
- 多行全景,与在不同倾斜角度拍摄的多行照片。
虚拟现实全景进一步分为包含顶部和底部,称为立方体或者球形全景,那些不包括顶部和底部的通常称为柱形全景。
单个全景,也称为节点,是从空间的独立的一个点拍摄到的。通过连接多节点或多对象的影片,使观众可以从一个地点转移另一个地点。这种多节点的QuickTime VR影片被称为场景。
苹果公司的 QuickTime VR文件格式的对全景图节点有两种表达方式:
- 圆柱形(由围绕观众而成一个360度的图像)
- 立方(由环绕观众的六张图片两两90 °× 90°正交构成的立方体 )
他们中的每一个通常被细分或者平铺成几个较小的图像,并被储存到一个特殊格式的QuickTime影片。
热点可嵌入全景,当选中它们时可以调用一些动作,例如移到全景图的另一个热点。
对象:
相比于在一个地点以不同的角度向外拍摄而成的全景图,对象是指是对同一物体在不同视角进行拍摄。
最简单的对象全景图是在单排上捕捉的,通常在一个物体的赤道方向上抓取拍摄。这通常会使用一个旋转的转盘使拍摄变得便利。对象被放置在转盘上,并且通过固定在三脚架上的相机以平均递增的角度进行拍摄(通常是10 °)。
捕捉一个多行拍摄的对象影片则需要更精细的设置,因为相机必须在对象的赤道的上下方倾斜一定的角度。
图像的来源不必须是照片,也可以用3D效果图或者图纸。
更多请参考:https://zh.wikipedia.org/wiki/QuickTime_VR
Unity VR全景漫游的更多相关文章
- 轩辕展览-VR虚拟展厅设计如何实现全景漫游功能
什么是在线3d漫游?如何在VR虚拟展厅设计之中实现3d漫游功能?让我们来分享3dVR虚拟展厅的在线漫游. 实际上,在线3d漫游就是通过3d仿真场景,使用鼠标和键盘在虚拟空间之中自由漫游,它可以从高空俯 ...
- 打造H5里的“3D全景漫游”秘籍
近来风生水起的VR虚拟现实技术,抽空想起年初完成的“星球计划”项目,总结篇文章与各位分享一下制作基于Html5的3D全景漫游秘籍. QQ物联与深圳市天文台合作,在手Q“发现新设备”-“公共设备”里,连 ...
- VR全景是市场价值及前景
消费者视角痛点:比如酒店消费行业,很多消费者在预订酒店过程中,都遇到过这样的场景:网上照片里酒店房间看着宽敞明亮,格调不凡,感觉非常喜欢,等真正推开房门插上房卡一看,却大失所望.在酒店行业,网上照片和 ...
- VR全景智慧城市—你的掌上步行街
"春风十里,不如有你",不知不觉间,身边的人已对VR不再陌生,VR眼镜的热销,VR体验店的火爆,VR游戏的向往等等.可见VR就是为生活而诞生! 2015年被称作VR行业的产业元年, ...
- VR全景智慧城市—城市就在你眼前
"春风十里,不如有你",不知不觉间,身边的人已对VR不再陌生,VR眼镜的热销,VR体验店的火爆,VR游戏的向往等等.可见VR就是为生活而诞生! 2015年被称作VR行业的产业元年, ...
- 全景智慧城市——VR全景,开启VR营销新时代
全景是一种新兴的富媒体技术. 与视频.声音.图片等传统主流媒体最大的区别是"可操作,可交互". 全景给人以三维立体感觉的实景360°全方位图像,此图像最大的三个特点: 全方位:展示 ...
- VR全景:720全景在线购物点亮你的眼球
在今天,如果你还不了解什么叫做VR (Virtual Reality),那么你真的就已经Out了.现在的VR,正如当年的智能手机一样,传遍了整个世界,2016年,也被称作VR元年,各种各样的设备,以及 ...
- VR全景视图 Google VrPanoramaView
2019独角兽企业重金招聘Python工程师标准>>> 一.背景简介 Welcome to VR at Google 进入Google VR主页,发现官方给我们提供了两套解决观看VR ...
- VR全景项目外包团队— VR/AR相关领域介绍和VR全景案例
VR/AR相关领域这里我要说的一点就是硬件.诚然,硬件的确很难搞,国内在这方面就是荒漠,所以,如果你有信心,完全可以开拓一片蓝海.注意我是说真正的硬件,那些把Google的纸盒子拿来改改就能融资千万的 ...
随机推荐
- python基础-文件操作
一.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异 ...
- cookie被禁用session怎么办
关闭Cookie的情况下使用Session,途径有以下几种:\ 1. 设置php.ini配置文件中的“session.use_trans_sid = 1”,或者编译时打开“--enable-trans ...
- 搭建vpn环境:centos7+openvpn
vpn的含义:virtual private network vpn的作用/使用场景:最常见的一个作用,你通过公网来访问某个局域网里的主机/服务,其实就是搭建一个隧道,用公网传递你的数据包,等数据包到 ...
- 分析移动端APP的网络请求抓包
为了方便,本文以 iOS 系统来进行演示. 使用代理 移动操作系统中都有可以设定系统代理的设置,比如在 iOS 中可以通过 Settings->WLAN 看到很多 Networks,通过点击它们 ...
- Long Short-Term Memory (LSTM)公式简介
Long short-term memory: make that short-term memory last for a long time. Paper Reference: A Critica ...
- bzoj 1065: [NOI2008] 奥运物流
1065: [NOI2008] 奥运物流 Description 2008北京奥运会即将开幕,举国上下都在为这一盛事做好准备.为了高效率.成功地举办奥运会,对物流系统 进行规划是必不可少的.物流系统由 ...
- Nodejs - 如何用 eventproxy 模块控制并发
本文目标 本文的目标是获取 ZOJ 1001-1010 每道题 best solution 的作者 id,取得数据后一次性输出在控制台. 前文 如何用 Nodejs 分析一个简单页面 我们讲了如何用 ...
- Ubuntu下的MySQL安装
<1>安装mysql-server sudo apt-get update sudo apt-get install mysql-server mysql-client <2> ...
- 图解TCP、IP笔记
七层:应用层.表示层.会话层.传输层.网络层.数据链路层.物理层 应用层:与通信无关的功能 表示层:例如转换编码格式 会话层:采用哪种连接方法 传输层以下: 传输层:确立连接与断开连接重发 网络层:从 ...
- SVN如何查看修改的文件记录] 来源:Linux社区 作者:frogoscar
SVN如何查看修改的文件记录 [日期:2014-11-20] 来源:Linux社区 作者:frogoscar [字体:大 中 小] 主要是有四个命令,svn log用来展示svn 的版本作者 ...
