VR相关

VR开发--利用鱼眼图片制作VR全景漫游(多种方式)

2016-11-02  本文已影响434人  元宇宙协会

全景:

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.png
02:选择shader类型:天空盒子6张图
Paste_Image.png
03:将切割好的图片导入进去
Paste_Image.png
04:添加一个天空盒子组件(前提选中摄像机)
Paste_Image.png
05:接着导入全景图,设置图片的属性如下图所示:
Paste_Image.png

在文件夹中应该是这样的形式


Paste_Image.png
06:导入SteamVR,拖入CameraRig(头显组件)

修改Main Camera 的 Clear Flags为SkyBox
给Head内部的Left,Right添加一个Skybox

类似下面操作


Paste_Image.png
07:修改场景天空盒
Paste_Image.png Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读