Unity5.3官方VR教程[系列1]

2021-02-15 泰然網

如果你不是VR遊戲或應用的開發者,可以選擇無視下面的內容,這不是給普通用戶看的~

如果你之前曾經為Oculus Rift DK2或者Gear VR開發過,那麼心裏面一定曾經有千萬個草泥馬來回奔跑過。雖然Unity從5.1版本開始就支持VR應用和遊戲開發,但是從Oculus和Unity雙方的開發者論壇討論情況看,大家都對雙方互相推諉責任感到不滿。

如今,隨著第一代消費級移動VR產品Samsung Gear VR正式推向市場,而三大核心主力設備也將悉數於2016年Q1和Q2粉墨登場,一向與時俱進的Unity再也坐不住了。


如果你不是VR遊戲或應用的開發者,可以選擇無視下面的內容,這不是給普通用戶看的~

如果你之前曾經為Oculus Rift DK2或者Gear VR開發過,那麼心裏面一定曾經有千萬個草泥馬來回奔跑過。雖然Unity從5.1版本開始就支持VR應用和遊戲開發,但是從Oculus和Unity雙方的開發者論壇討論情況看,大家都對雙方互相推諉責任感到不滿。

如今,隨著第一代消費級移動VR產品Samsung Gear VR正式推向市場,而三大核心主力設備也將悉數於2016年Q1和Q2粉墨登場,一向與時俱進的Unity再也坐不住了。

Unity內置對若干VR設備的支持,至於具體是哪些設備,不妨看看VRDeviceType這個枚舉變量。


本教程主要針對Oculus系列的VR設備,特別是Oculus Rift Development Kit 2(DK2)和消費者版本的Samsung Gear VR(需要配合三星旗艦手機系列使用,如Galaxy S6, S6 Edge,S6 Edge+,Note 5)。對於配合第一代開拓者版本Gear VR的Note4,我們並不關心。因此雖然有些VR示例還是可以在這臺設備上運行,但是效果肯定沒那麼好。哥,你就明說不要用note4和開拓者版本的gear vr好了。

當然,Unity也會在後續支持其它VR頭戴設備,比如HTC VIVE。因此當那一天到來的時刻,這篇官方的教程也會隨之更新的。老實說,Unity和Oculus真是一對好基友。

如果想了解VR頭戴設備的更多信息,建議去閱讀官方的手冊。

首先請下載最新的Oculus runtime 0.8或更高版本(https://developer.oculus.com/downloads/ ),以及最新的Unity5.3或更高版本(http://unity3d.com/get-unity/download )。

在項目中啟用對VR的支持非常簡單,只需要在Unity菜單中選擇Edit > Project Settings> Player > Other Settings > Rendering


然後在Inspector中勾選 "Virtual Reality Supported"。


在runtime時,可以通過在代碼中使用UnityEngine.VR.VRSettings.enabled屬性來進行設置。

當我們在Unity Editor中已經啟用VR Support,而且連接上了DK2設備時,進入Play 模式就可以在DK2上顯示遊戲的場景。這樣可以大大提高開發測試和迭代的效率。和之前不同,開發者無需編譯生成一個可執行的項目才能看到VR應用或遊戲的調整。當然,老司機們會發現此前的雙眼視圖已經被單一視圖替代了。


需要提醒大家的是,我們沒必要為每隻眼睛都創建一個camera,所有的camera都會在VR中進行渲染,除了那些分配了Render Texture(渲染紋理)的攝像機。關於Render Textures,請參考這裡(http://docs.unity3d.com/Manual/class-RenderTexture.html )。Unity會自動對攝像機的渲染進行優化,比如culling(剔除)和陰影渲染,從而減少性能消耗。

關於VR的相關主題還可以在Unity Manual(http://docs.unity3d.com/Manual/VROverview.html )和Unity Scripting API(http://docs.unity3d.com/ScriptReference/30_search.html?q=VR ) 和中找到更多信息。

因為VR是一個全新的媒介,所以在撰寫本教程的時候存在著軟硬體的限制,請參考以下內容。

為了讓用戶獲得好的VR遊戲體驗,需要在頭戴設備上實現所需的幀速。在DK2上的最小幀速是75fps,而在Gear VR上的最小幀速是60fps。如果幀速小於以上數值,那麼用戶會明顯感覺到體驗下降甚至導致暈眩。

除了保持遊戲幀速在一定的數值之上,玩家電腦上的GPU還必須具備足夠的能力,可以按所需的解析度以HMD頭戴設備面板的刷新率輸出。以DK2為例,就是需要做到75hz和19201080。不過如果你想給Oculus Rift CV1開發應用,那麼就必須實現90hz和21601200的解析度,這將是個巨大的挑戰。

如果你在使用DK2,那麼需要確保硬體設備可以用所需的解析度以所需的刷新率輸出圖像。很多筆記本電腦採用獨立顯卡和集成顯卡切換的方式,但這些顯卡基本上都無法滿足以上要求,甚至連1920*1080和75hz都實現不了,這樣將嚴重影響用戶體驗。關於這部分內容,請參考Oculus的相關文檔(https://support.oculus.com/hc/en-us/articles/201835987-Oculus-Rift-Development-Kit-2-FAQ ),以及Oculus PC配置指南(https://www.oculus.com/en-us/oculus-ready-pcs/ )。

蘋果OS X作業系統:目前來說我們還是可以使用OSX 10.9以上的作業系統配合Oculus 0.0.5 runtime進行開發。但因為Oculus官方暫停了對OS X系統的支持,因此建議果粉們不要拍磚,還是老老實實用Windows系統,並使用Unity的原生VR功能。

Windows: 支持Windows 7,8,8.1和windows 10.

Android: 推薦使用android OS Lollipop 5.1或更高版本

顯卡驅動:請確保你的顯卡驅動是最新的。可以使用Oculus Configuration Utility來檢查顯卡驅動是否夠用。

Oculus Runtime:為了在Unity 5.3中進行VR開發,請使用Oculus Runtime 0.8或更高版本。

 作為本教程的一部分,我們在Asset Store上免費提供了一個VR示例項目。該項目可以同時支持DK2和Gear VR,我們將根據Oculus硬體的迭代不斷更新該示例項目,同時也會在將來考慮支持其它頭戴設備。

該示例項目的下載連結如下:https://www.assetstore.unity3d.com/#!/content/51519

1.示例場景
主要的示例場景包括:
(1)Intro: 介紹場景,教用戶學習基本的交互
(2)Menu:菜單場景,可以選擇迷你遊戲來玩
(3)Flyer:一個飛行小遊戲
(4)Maze:一個桌面迷宮遊戲
(5)Target Gallery:一個迴廊射擊遊戲
(6)Target Arena:一個360度射擊競技場遊戲

怎麼樣,Unity還是很厚道的吧?
除了這些完整的小遊戲之外,還有一些示例場景涵蓋了本教程的一些重要概念:

(1)InteractiveItem:演示了如何VR中和物體進行交互
(2)RenderScale:演示了RenderScale將如何影響圖像質量
(3)Reticle: VR中 reticle的基本示例
(4)Rotation:演示了物體將如何隨頭部運動做出響應
(5)Touchpad:演示了如何使用Gear VR的觸摸板進行交互。

所涵蓋的重要概念:

(1)自頂向下的桌面遊戲機制
(2)朝屏幕內的星際火狐風格的射擊遊戲機制
(3)迴廊射擊遊戲機制
(4)360度迴廊射擊遊戲機制
(5)如何在VR中設計界面
(6)如何設計立體界面
(7)在VR中和物體進行交互的基本框架,包括如何處理視線焦點的切換
(8)reticle運動、縮放、陰影等
(9)基於頭部旋轉的運動
(10)如何使用Gear VR觸控螢幕,包括輕擊、雙擊和滑動,或是在使用DK2時如何使用鍵盤滑鼠進行交互。
(11)如何判斷設備時Gear VR還是DK2
(12)如何在圍繞中心點旋轉攝像機時避免暈眩效應
(13)如何實現攝像機的消隱
(14)攝像機消隱的過渡
(15)物體的池化

除了提供這些概念之外,為了方便VR開發者的重用,我們還提供了其它一些有用的示例:

(1)攝像機的消隱
(2)攝像機消隱的過渡
(3)在VR中和物體進行交互的框架
(4)Hold以確認交互
(5)reticle運動和縮放
(6)和平臺無關的文本
(7)指示特定方向的UI箭頭
(8)移動UI元素,使其始終面向攝像機
(9)交互時傾斜UI物體。

為了運行本項目,開發者需要使用Unity5.3.0或以上版本,擁有推薦配置以上的軟硬體,擁有一臺DK2或是搭配合適三星手機的Gear VR,同時要下載Oculus Runtime 0.8或以上版本。

PART VI Oculus Unity Utilities

作為補充,你也可以下載Oculus官方提供的Oculus Unity Utilities(https://developer.oculus.com/downloads/)來實現一些特殊功能。其中包含了有用的腳本和預設,比如如何調整IPD(瞳間距)等等。

本教程只關注原生Unity VR開發,因此對Oculus Unity Utilities,請參考Oculus官方網站以獲取更多信息。(https://developer.oculus.com/downloads/game-engines/0.1.3.0-beta/Oculus_Utilities_for_Unity_5/ )

好了,現在你已經知道自己需要哪些東西了。第一篇教程到此結束,在後續的時間裡面我們將進一步學習如何開始VR開發。

轉自賽隆網 http://www.cylonspace.com/

相關焦點

  • 【VR遊戲開發乾貨】Unity5.3官方VR教程重磅登場-系列1
    不久前,Unity官方在推出5.3版本的同時也推出了首個官方的VR開發教程。雖然不是很詳細,但是對於苦逼了很久的開發者來說,簡直就是仙音佛樂。廢話少說,讓我們來一起看看吧。需要配合三星旗艦手機系列使用,如Galaxy S6, S6 Edge,S6 Edge+,Note 5)。
  • Unity3D VR 教程之VR概述
    這個指南會專注於Oculus 系列的VR設備, 特別是 Oculus Rift Development Kit 2 (DK2 ) 和 消費者版本的Gear VR(一種手機外設,需要三星Galaxy s6, s6 Edge, s6 Edge+, 或者 Note 5)。也許以後會有關於Note 4的內容,但是暫時不涉及。其他 VR 頭戴設備也能運行unity的項目,例如HTC Vive。
  • Unity3D VR 教程之VR開發
    配置好並且安裝好unity以後,在打開unity之前,保證DK2已經連接好,並且已經啟動。在進行接下來的操作之前,先檢查一下Oculus的 配置工具是否正常工作。可能需要先設置一個新用戶來運行Demo場景。創建你的第一個VR項目先創建一個測試項目,然後創建一個能在VR中觀察的立方體作為開始。
  • 【VR/AR】Unity索尼VR頭顯優化經驗
    unity支持vr的方式有兩種,首先是以插件的方式加入unity,由第三方硬體廠家提供相應的SDK,這種方式左右眼需要雙倍的CPU
  • 【VR/AR】DaydreamVR入門系列教程
    1)6個簡單的步驟讓Daydream VR從unity到手機2)構建基於Daydream控制器的應用程式3)DayDream VR中創建一個視頻播放器4)DayDream VR中的空間音頻6個簡單的步驟讓Daydream VR從unity到手機我收到了很多人的消息,他們共同的問題是如何建立
  • 對話Unity | 關於Unity大學、官方教程、小遊戲和系統改進
    目前上海官方發布的跟疫情相關的舉措是進入上海必須提前申請「隨申碼」,目前還沒有接到提高防疫等級及針對某個地區的限制入境等政策。來培訓的同學建議提前通過微信小程序「隨申辦」申請好健康碼,確保能夠順利入學。如果由於防疫等級提高無法正常開班,我們支持全額退款或根據個人時間安排調整至下一期班級。完整並且系統化的官方中文線上教程現在就已經有了,未來還將繼續不斷完善。
  • VR開發 - Unity環境搭建-新手教程
    一、硬體設備選擇:1、PC配置:起碼要有1650獨立顯卡,筆記本也行,要開啟性能模式。VR軟體普遍偏大,配置跟不上,打個包要半個小時,太浪費時間了。2、一體機配置:這裡建議選用oculus quest 2。
  • Unity3D VR 教程1:VR概述
    這個指南會專注於Oculus 系列的VR設備, 特別是 Oculus Rift Development Kit 2 (DK2 ) 和 消費者版本的Gear VR(一種手機外設,需要三星Galaxy s6, s6 Edge, s6 Edge+, 或者 Note 5)。也許以後會有關於Note 4的內容,但是暫時不涉及。其他 VR 頭戴設備也能運行unity的項目,例如HTC Vive。
  • Unity 2021.1 內置教程功能開放試用
    Tutorials,簡稱IET)功能,該功能可以幫助 Unity 開發者們為編輯器內使用的工具或者是某 Unity 項目製作內置互動式教程。用戶可以選擇創建新的空白教程,也可以選擇已預設好的教程模版,再進行自定義修改。敲黑板: com.unity.learn.iet-framework:運行教程所需的框架,必須安裝軟體包教程才可運行。 com.unity.learn.iet-framework.authoring:製作教程所需的工具,與教程運行關係不大。
  • Unity基礎教程系列(四)——知識點小技巧總結
    教程簡介
  • 折騰了幾小時,終於完美搞定Unity Pro 2019.2,親測可用
    unity pro 2019.2.3f1其主要優點是可視化開發環境,跨平臺支持和模塊化組件系統,能夠適用於遊戲、汽車、運輸與製造、電影與動畫、建築、工程與施工等多個方面,比如unity遊戲解決方案提供了製作、運營移動遊戲、即時遊戲、ar/vr遊戲以及pc和遊戲主機遊戲並實現盈利所需的一切。
  • Unity教程之 Unity3d與Android交互總結
    也試過用android studio,以為官方的東西可能靠譜一些,結果發現android studio不能直接導出jar包,需要新建library再修改配置發布文件等等多個複雜步聚……最終生成jar包了,然並卵,仍然不能使用,貌似生成的jar包內容不對,遂放棄,不想繼續研究了,也許是我方法出錯……以下是我認為最靠譜省事的辦法:
  • Unity實現無縫大世界(1~3)
    無縫大世界則是眾多壁壘中的其中一個,這裡也是想通過無縫大世界這個系列,探討一下無縫大世界需要哪些知識儲備。本系列,著重闡明需要攻克的各個知識點,而不會貼出具體細節相關的代碼。引擎則是以Unity為主,思路應該是相通的,Unreal可能有很多工具都是現成的。無縫大世界定義大世界一直是一個很好的遊戲賣點,所以這個概念很模糊。
  • Unity破解教程
    破解工具1(Unity 4.x Pro Patch)連結:http://pan.baidu.com/s/1nvAOKFB 密碼:8ao3安裝unity程序,安裝完成後選擇不運行Unity3d程序,並關閉安裝程序;將Unity 4.x Pro Patch (破解工具)複製放到安裝目錄的 editor文件夾下,如我的文件夾是  C:\Unity\5.1.3f1
  • 【新教學上架】Unity遊戲特效案例系列教學
    時長:5小時20分左右售價:當前早鳥價:338.64元,超級會員價:304.78元,原價:498元地址:http://www.aboutcg.org/course/tut_unity3dfx_190329/
  • 零基礎開發|第一個虛擬實境應用——Google Cardboard VR
    網上有很多關於虛擬實境開發的入門視頻,有講unity的,有講其他引擎的,講的都很好,很形象又很生動。但搜索在線資源的方式還是比較浪費時間,很多時間都會花在搜索更適合自己看的教程上;另外同學們基於找到的在線教程進行學習時也會有各種各樣的坑,坑的大小都不一樣,儘管這個過程是必不可少的,但很容易讓同學們在入門學習的階段產生很強的挫敗感。
  • Unity:5隻是一小步,Unity 2017於3月推出
    (映維網 2017年3月2日)在本屆GDC大會上,Unity一直在討論Unity引擎的未來計劃。該公司已經證實Unity 5.6將會是5系列周期的最後一個版本,而Unity同時還讓我們窺見了下一迭代的引擎。
  • Unity Learn Premium現已面向所有開發者免費開放
    在今年3月19日,我們免費開放了Unity Learn Premium,一項包含綜合性實時3D學習內容和Unity專家線上諮詢的服務。自Learn Premium開放以來,社區的反響非常熱烈,超過320,000名用戶使用其學習。
  • Unity手機遊戲商業化優化系列!
    系列目錄 遊戲優化系列一:海外谷歌應用適配相關 遊戲優化系列二:Android Studio製作圖標教程遊戲優化系列三:Unity遊戲的黑屏問題解決方法遊戲優化系列一:海外谷歌應用適配相關本文目錄1. 谷歌應用圖標2. 狀態欄消息推送3.
  • Unity3D 5.0安裝教程
    Unity3D 5.0(32/64)位下載地址:連結:pan.baidu.com/s/1nimZpRblq355kxzdv70G3w