1. 程式人生 > >googlevr for unity 快速製作全景視訊播放器

googlevr for unity 快速製作全景視訊播放器

今天這篇教程,將教大家使用Unity在Google Cardboard平臺上零程式碼製作一款執行在Android裝置上的360全景視訊應用。
以前做專案時,也做過一個全景視訊播放器,當時是使用EasyMovieTexture這個外掛,開發和除錯各種不方便。現在unity新版本有了VideoPlayer元件,開發就便得格外的簡單。

新建unity專案,在新建場景中新增一個球體,position設定為原點出(0,0,0),size設為(50,50,50),MainCamera的position同樣設定為原點出(0,0,0),這樣可以保證看視訊時視角不會變形。
當時這時camera是看不到東西的,這是因為處於節省效能的目的,unity沒有將球體的內部渲染 出來。所以現在需要通過著色器翻轉球體的法線,一個小shader就可以了。
新建材質給球體,在將新建的shader給剛剛新建的材質。shader程式碼如下(複製即可):

Shader "Custom/flipnormal" {
    Properties {
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
    }

    SubShader {
        Tags { "RenderType"="Opaque" }
        Cull Off        
        CGPROGRAM
        #pragma surface surf Lambert vertex:vert
        sampler2D _MainTex;
        struct Input {
            float2 uv_MainTex;
float4 color:COLOR; }; void vert(inout appdata_full v) { v.normal.xyz=v.normal*-1; } void surf (Input IN, inout SurfaceOutput o) { fixed3 c = tex2D (_MainTex, IN.uv_MainTex); o.Albedo = c.rgb; o.Alpha
= 1; } ENDCG } FallBack "Diffuse" }

給球體新增VideoPlayer元件,將準備好的 .MP4格式的全景視訊拖至Video clip
這裡寫圖片描述

匯入GoogleVR SDK,並更改一些相關的設定:
依次點選Unity選單項File – Build Settings,如果構建列表中不包含當前場景,則點選新增。選擇Android作為構建的目標平臺;
切換平臺完成後,點選Player Settings開啟播放器設定;
在播放器設定的“Other Settings”下勾選“Virtual Reality Supported”。在Virtual Reality SDKs下點選加號,選中Cardboard新增到列表;
設定調整完成後,將GoogleVR/Prefabs資料夾下的“GvrViewerMain”預製件拖拽到場景中,在檢視檢視中將其座標設為球體中心(0, 0, 0)。
GoogleVR的其它功能可以自己來實現,以後有機會在可以寫講解GoogleVR的部落格。

最後匯出apk到Android裝置上,就可以體驗了。