美文网首页VR相关
VR开发--利用鱼眼图片制作VR全景漫游(多种方式)

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

作者: 元宇宙协会 | 来源:发表于2016-11-02 11:33 被阅读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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/tfjvuttx.html