VR开发--利用鱼眼图片制作VR全景漫游(多种方式)
全景:
01/概念
虚拟全景图是环绕着观众的全景图(在内,向外),使人产生置身其中的感觉。通过“拼接”几张正常照片或者是两张采用了180度鱼眼镜头拍摄的照片来制作,或使用具有专门功能的全景相机,甚至使用三维建模的场景渲染的两张图片。
02/分类
虚拟现实全景进一步分为包含顶部和底部,称为立方体或者球形全景,那些不包括顶部和底部的通常称为柱形全景。
03/QTVR
苹果公司的QuickTime支持的一种文件格式。可以用它观看、制作可拖拽的全景照片,并通过在不同角度拍摄的图像来观察物体。
QuickTime VR文件格式的对全景图节点有两种表达方式:
圆柱形(由围绕观众而成一个360度的图像)
立方(由环绕观众的六张图片两两90 °× 90°正交构成的立方体 )
这两种格式通常被细分或者平铺成几个较小的图像,并被储存到一个特殊格式的QuickTime影片。
04/如何拍摄
最简单的对象全景图是在单排上捕捉的,通常在一个物体的赤道方向上抓取拍摄。这通常会使用一个旋转的转盘使拍摄变得便利。对象被放置在转盘上,并且通过固定在三脚架上的相机以平均递增的角度进行拍摄(通常是10 °)。
05/图片来源
不必须是照片,也可以用3D效果图或者图纸。
类似这种鱼眼照片(全景照片)怎么去在Unity3D中实现漫游即全景浏览
Paste_Image.png方案一
创建一个表面着色器
Paste_Image.png Paste_Image.png
Shader "Custom/1" {
Properties {
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_Glossiness ("Smoothness", Range(0,1)) = 0.5
_Metallic ("Metallic", Range(0,1)) = 0.0
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
cull off // 添这一句就可以,这个就是关闭北图
CGPROGRAM
// Physically based Standard lighting model, and enable shadows on all light types
#pragma surface surf Standard fullforwardshadows
// Use shader model 3.0 target, to get nicer looking lighting
#pragma target 3.0
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
};
half _Glossiness;
half _Metallic;
fixed4 _Color;
void surf (Input IN, inout SurfaceOutputStandard o) {
// Albedo comes from a texture tinted by color
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
// Metallic and smoothness come from slider variables
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
做完上一步,修改材质球的选项
Paste_Image.png关闭场景的天空盒子
Paste_Image.png
给球体添加光源是内部的场景亮起来.拖入CameraRig ,尝试一下!
方案二:
02.jpg使用工具来进行切割,分成6张图片,使用下面的软件PanoVR
你也可以使用PTGui: 把全景图转成6个立方小图 http://www.ptgui.com/download.html Paste_Image.png
这里介绍PanoVR
Paste_Image.png Paste_Image.png
修改转出的类型,格式,质量等!
Paste_Image.png
新建文件夹:用来存放切割好的图片
Paste_Image.png
点击转换后,打开新建好的文件夹就看到相应的东西了
Paste_Image.png
当我们裁剪好图片后,就可以打开Unity3d软件开始使用这几张图片了
01:创建材质球
Paste_Image.png02:选择shader类型:天空盒子6张图
Paste_Image.png03:将切割好的图片导入进去
Paste_Image.png04:添加一个天空盒子组件(前提选中摄像机)
Paste_Image.png05:接着导入全景图,设置图片的属性如下图所示:
Paste_Image.png在文件夹中应该是这样的形式
Paste_Image.png
06:导入SteamVR,拖入CameraRig(头显组件)
修改Main Camera 的 Clear Flags为SkyBox
给Head内部的Left,Right添加一个Skybox
类似下面操作
Paste_Image.png