【VR遊戲開發乾貨】Unity5.3官方VR教程重磅登場-系列1

2021-02-15 VR陀螺


本文由知乎作者「王寒」授權VR陀螺發布。

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

不久前,Unity官方在推出5.3版本的同時也推出了首個官方的VR開發教程。雖然不是很詳細,但是對於苦逼了很久的開發者來說,簡直就是仙音佛樂。

廢話少說,讓我們來一起看看吧。

PART I UNITY VR簡介

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頭戴設備的更多信息,建議去閱讀官方的手冊。

PART II 在Unity項目中設置VR

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

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


然後在Inspector中勾選」Virtual Reality Supported「。


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



PART III 在Unity中預覽VR場景

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


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

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

PART IV 使用Unity進行VR開發的軟硬體推薦

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

1.硬體

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

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

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

個人建議是:自己配一個高性能的PC,價格估計在1W2左右。

2.軟體

蘋果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或更高版本。

PART V VR示例項目

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

該示例項目的下載連結如下:Asset Store ( 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)Object pooling(不知道咋翻譯好)

除了提供這些概念之外,為了方便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開發。

【VR陀螺】是「遊戲陀螺」旗下專注VR領域的公眾號,如果您有不錯的VR遊戲,或者您對於VR有自己的見解或想法,歡迎投稿或者分享交流。

分享交流請加微信:shimotsuki_jun(案山子)

媒體合作請加QQ:1394720173(文靜)

投稿請發送郵件至:tougao@youxituoluo.com




VR陀螺
一個讓你對虛擬世界有想法的公眾號

相關焦點

  • Unity5.3官方VR教程[系列1]
    如果你不是VR遊戲或應用的開發者,可以選擇無視下面的內容,這不是給普通用戶看的~如果你之前曾經為Oculus Rift DK2或者Gear VR開發過,那麼心裏面一定曾經有千萬個草泥馬來回奔跑過。雖然Unity從5.1版本開始就支持VR應用和遊戲開發,但是從Oculus和Unity雙方的開發者論壇討論情況看,大家都對雙方互相推諉責任感到不滿。
  • Unity3D VR 教程之VR開發
    基礎開始用unity進行基礎VR開發之前,先確認硬體和軟體已經按照前一篇文章進行了設置。
  • Unity3D VR 教程之VR概述
    Unity3D是由Unity Technologies開發的一個讓你輕鬆創建諸如三維視頻遊戲、建築可視化、實時三維動畫等類型互動內容的多平臺的綜合型遊戲開發工具
  • 【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到手機我收到了很多人的消息,他們共同的問題是如何建立
  • 2021-1-19 uplayvr今日更新遊戲
    遊戲下載頁面https://uplayvr.com/playnemingxiangyouxiplayne-the-meditation-game/46420.html2:太空頻道5VR大概跳一下也是場秀(Space Channel 5 VR Kinda Funky News Flash!)
  • quest2體驗,VR虛擬世界馬上到來
    必須裝的涉及3個軟體:具體怎麼弄可以看我最後貼的連結,不會可以知乎付費諮詢。網上開個開發者權限就8塊錢。其實網上類似內容太多,不是本文的重點。第一次開機時是最震撼的。去玩開機教程時,小機器人出現時竟然和真人一樣高,和小機器人跳舞互動,可以讓它轉圈。感覺vr牛逼,這2000塊沒白花。玩遊戲之前聽說過代表作《半條命》,《節奏光劍》。
  • 【年末乾貨巨獻】用Unity進行HTC Vive實戰開發系列
    Step 1 打開SteamVR,檢查一下HTC Vive的設備是否正常。在開發HTCVive遊戲應用的時候,不存在什麼Simulator的概念。所以在整個開發測試的過程中都要隨時在頭戴設備上進行真機測試。好吧,我承認我是Westworlds的劇迷。按照我以往寫教程的習慣,在每節的最後都會送上一個小福利。
  • 【171VR遊戲】2020年11月1日最新及更新的VR遊戲
    下載地址:https://www.171vr.cn/thread-3717-1-1.html2.Wrench【更新至最新版本】下載地址:https://www.171vr.cn/thread-1730-1-1.html3.Dement【更新至最新版本】
  • 2021-1-14 uplayvr今日更新遊戲
    1:對付喪屍(Undead Development)遊戲視頻
  • 2021-1-29 uplayvr今日更新遊戲
    1:Ven的冒險之旅(Ven VR Adventure)遊戲視頻
  • 【171VR遊戲】2021年1月22日最新及更新的VR遊戲
    下載地址:https://www.171vr.cn/thread-793-1-1.html2.人造騎士全DLC版(Synth Riders)【更新至最新版本】遊戲星級:⭐下載地址:https://www.171vr.cn/thread-779-1-1.html3.1976-回到中途島(1976 - Back to midway)【更新至最新版本】遊戲星級
  • 【171VR遊戲】2021年1月29日最新及更新的VR遊戲
    下載地址:https://www.171vr.cn/thread-2381-1-1.html2.搶灘登陸2020VR(BeachHead 2020)【更新至最新版本】遊戲星級:⭐⭐BH2020VR是有史以來第一款將遊戲和虛擬實境世界與自己的經濟相結合的娛樂產品,在這裡每個人都可以參與並繁榮發展。伯克希爾哈撒韋是一個與我們自己平行的另一個現實世界。這是一個真正的沉浸式多現實虛擬實境體驗,結合了商業,娛樂和遊戲在一個巨大的進化步驟。從備受喜愛的沙灘遊戲系列中脫穎而出。20年前,BEACH HEAD 2000改變了遊戲模式,為生活帶來了新的遊戲體驗。
  • 業界動態 Twitch收購Curse VR,不搞直播要開發遊戲?
    隨著Facebook和Twitter直播服務的漸漸成熟,Twitch在傳統的遊戲直播領域也面臨著阻礙。而為了打破僵持的局面,他們在今年5月份時公布了VR直播平臺VReal,試圖在遊戲直播領域更進一步。  Twitch的動向遠不僅如此,他們近日在官方博客中宣布將要收購全球著名的遊戲平臺——Curse。
  • 臺灣VR產業聯盟主席高煥堂:VR行業快速入門法,從技術應用、商業模式說起
    博客如下: http://www.cnblogs.com/myEIT/Q:1.vr ar的遊戲前景如何,會不會衝擊傳統的手遊桌遊;2.vr和ar什麼時候可以完全進去我們的生活,會不會有難題A:A:1.我們談論vr設備時一般會分成三大類,分別來說一下吧。一是pc型vr,目前全世界做的最好的pc端vr是臺灣htc,它的眩暈感最低,因為它是用雷射進一步精確跟蹤用戶的運動,偵測人的位置;還有一個是移動型vr,有名的是三星,谷歌也是關注以安卓為基礎的移動型vr;另一類就是一體機,這個深圳做的比較多。
  • 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。
  • 【171VR遊戲】2020年9月5日最新及更新的VR遊戲
    下載地址:https://www.171vr.cn/thread-4233-1-1.html2.OhShape【更新最新版本】遊戲星級:⭐⭐⭐⭐下載地址:https://www.171vr.cn/thread-2345-1-1.html3.零號殺手 (Zero Killed)【更新最新版本】遊戲星級:⭐⭐
  • 2021-1-13 uplayvr今日更新遊戲
    1:鎖定(Under Lock)遊戲視頻
  • 【171VR遊戲】2020年12月4日最新及更新的VR遊戲
    新的敵人陣營:金屬-1射擊機器人,2射擊機器人,4射擊機器人。3種新的敵人類型:自動炮塔(1發)、微型炮塔(16發)、盾牌騎兵(僅限近戰)。1種新武器類型:智能爆破手槍。完全重新設計的用戶界面:增加了街機,活動,挑戰,培訓和信息部分。增加了4個科幻武器模型。增加了3個新的科幻靈感武器包裝。增加了9個新的未來主義,和9個新的戰術色彩定製選項。增加了9個新的空間注入金屬飾面。
  • 2021-1-10 uplayvr今日更新遊戲
    1:日本(VR JAPAN)遊戲視頻