【Unity3D】分享一個Uniy3d開發VR程式的流程
一、前言
最近做VR專案比較多,也學習了很多的東西,現在把開發的流程,已經用到的技術以及軟體總結一下,分享出來供大家參考,本文內容比較基礎,有什麼不對的地方,希望大家能指正出來。
二、裝置
先帶大家認識一下VR裝置吧,現在VR/AR裝置非常的多,對於想要進行VR/AR開發的開發者真實眼花繚亂,今天就給大家簡單總結一下VR/AR裝置。
目前的VR/AR裝置按照硬體形態可以分為三大類:
主機VR頭顯、手機VR眼鏡和VR一體機
具體的引數介紹就參考我VR裝置盤點這篇文章吧。
三、SteamVR
這個是電腦開發VR的基礎,可以直接在Steam裡面搜尋SteamVR(庫-工具),然後下載安裝就行了
在這之前記得把VR裝置都連線好,我用的是HTC Vive,就用HTC VIVE為例吧。
線都連線好,然後兩個定位器定位到正確的位置
開啟SteamVR,然後進行房間設定,設定完成後就可以愉快的開發了。
四、正式開始
下載SteamVR外掛
在Unity商店中,搜尋SteamVR,找那個免費的安裝就行了
設定"[CameraRig]"的位置
[CameraRig]相當於VR在專案中攝像機的位置,也就是人能看到的位置
下載VRTK外掛
連結:https://pan.baidu.com/s/1IdHcPknTZHRavg7YhvZWjA
提取碼:kl2f
也可以直接在商店中搜索VRTK,但是商店裡面這個版本沒有用過,我還是用的老版本的
設定一下VRTK的引數
VRTK自帶的一些DEMO也可以學習一下,很全面
現在就可以用手柄瞬移了
手柄事件
1.手柄按鍵
1 - 選單鍵
2 - 圓盤左
3 - 圓盤上
4 - 圓盤右
5 - 圓盤下
6 - 系統鍵(按下後手柄斷開連線,再次按下手柄再次連線上)
7 - 扳機鍵
8 - 握持鍵
9 - 觸控板鍵
2.圓盤觸控事件
4.觸控板軸的獲取
通過以上兩種方式獲取的VRControllerState_t,獲取觸控板的軸
x = state.rAxis0.x
y = state.rAxis0.y
5.手柄按鍵事件
通過Device.GetPressDown / GetPressUp / GetPress獲取按鍵事件
Press是按壓事件
通過Device.GetTouchDown / GetTouchUp / GetTouch獲取按鍵事件
Touch是觸控事件
6.手柄自帶API
四、後言
本文章只是介紹了Unity3d開發VR程式的一般流程,當然也是最簡單的流程,主要是講的一些前期開發的準備,更像是一個開發入門的教程。最後的API介紹也是最初級的事件演示,到底在專案中想要達到什麼樣的效果,也是要靠大家自己的想象力去開發了。