UNITY VR應用(二){360°環景移動導覽-CardboardGVR}

本系列上一篇已經講到如何做出環景的幾個方法,那經常會看到類似GoogleMap的街景導覽移動又是怎麼達成的呢?現在就來看看吧。vive

環景球集合

首先,我們使用了前一篇(UNITY VR應用(一){360°環景製作-CardboardGVR}),最後提到的做法製作數個要切換的場景,球型3D物件+Cubemap的材質球。
animation-20180531001


animation-20180531001

 

GVR準心&互動

接下來,找到GVR套件提供的準心GvrReticlePointer預制物件,並放入攝影機中,這樣我們的畫面上就有一個可供瞄準的參考。(而且該物件的材質球上可以調整顏色)
animation-20180531003

animation-20180531002


然後在攝影機上加入GVR用的互動射線元件

animation-20180531004


以及,場景上放置GVR專屬的事件偵測預制物件GvrEventSystem,配合GvrPointerPhysicsRaycaster使用,同時在球型背景上想產生互動的位置放上一個3DObject(必須擁有碰撞器)

animation-20180531006


按下PLAY執行後把準心放到球上,應該會看到準心放大成圓圈狀態,這樣我們的觸發條件就已經達成了

animation-20180531005

 

流程控制

創建一個ViewSystem.cs腳本於攝影機上,內容如下


設定2個Room清單,並將它們裝入對應位置,並且關閉第一個場景以外的Room

animation-20180601001

animation-20180601004


在預計當作開關的兩個物件(Cube、Sphere)裝上EventTrigger,並設定PointerEnter事件執行上面寫的腳本中的ChangView(int I)功能,帶入要去的對象在清單中的序列號。

animation-20180531007


animation-20180601003


執行後:
1527784698770
這樣就大功告成啦!!
之後可以拿掉觸發物件的模型,留下碰撞框再加一些UI提示就可以了。

Leave a Reply