Unity顯示360度全景照片

Unity顯示360度全景,其實(shí)就是把全景圖片貼到一個(gè)球上,只不過(guò),這個(gè)球是從里往外看。

先把攝像機(jī)移動(dòng)到坐標(biāo)(0,0,0)。


20170110142230066.jpg

添加一個(gè)球體,坐標(biāo)也是(0,0,0)

20170110142331352.jpg

把全景圖片拖到球體上,


20170110142557403.jpg

這個(gè)時(shí)候,因?yàn)橘N圖在外面,所以還看不到


20170110142659358.jpg

新建一個(gè)著色器

Shader "InsideVisible" {

Properties {
    _MainTex ("Base (RGB)", 2D) = "white" {}
}

SubShader {
    Tags { "RenderType"="Opaque" }
    Cull front    // ADDED BY BERNIE, TO FLIP THE SURFACES
    LOD 100
    
    Pass {  
        CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            
            #include "UnityCG.cginc"

            struct appdata_t {
                float4 vertex : POSITION;
                float2 texcoord : TEXCOORD0;
            };

            struct v2f {
                float4 vertex : SV_POSITION;
                half2 texcoord : TEXCOORD0;
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;
            
            v2f vert (appdata_t v)
            {
                v2f o;
                o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
                // ADDED BY BERNIE:
                v.texcoord.x = 1 - v.texcoord.x;                
                o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
                return o;
            }
            
            fixed4 frag (v2f i) : SV_Target
            {
                fixed4 col = tex2D(_MainTex, i.texcoord);
                return col;
            }
        ENDCG
    }
}
}

將球體的著色器改成新加的。

20170110142954518.jpg

這個(gè)時(shí)候,就能顯示了

20170110143245303.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容