將獨立製作的 Unity 遊戲匯至 WebVR

WebVR 不需額外的下載或安裝作業,即可迅速達到玩家喜愛的多樣效果,因此已成未來「虛擬實境 (VR)」內容的關鍵。至少我們是這樣想的!現正陸續建構中的「Jump」跨平台數位遊戲訂閱服務,期能將原生的 Web 遊戲推送至桌機、行動裝置、電視遊樂器,當然還有目前正夯的 VR 裝置之上。同時更已將全數資源投入原生的 Web 技術,如 HTML5、WebGL、JavaScript,且很快就會擴及 WebAssembly。我們針對 Jump 寫出一款可支援 Oculus Rift 的 WebVR 遊戲,要展現 Web 在 VR 方面同樣游刃有餘!結果在一個月之內就打造出「SECVRITY」。因為時間過於急迫,我們並未深入 WebVR API 而原生打造出 Web 遊戲,所以我們選了「Unity 5」作為遊戲引擎。


「電腦病毒版本的打地鼠」大概最能貼切形容 SECVRITY 了。玩家將扮演電腦安全專家,試著在全景螢幕中追殺不斷冒出來的病毒。玩家必須找出遭病毒攻擊的螢幕並點擊之,有時用猜的可能還比較快。在玩這遊戲時要小心扭到自己的脖子,但整個遊戲的樂趣就是讓人無法停下來!看到 Mozilla 在遊戲開發者大會 (GDC) 展位上的情況就能證明!

SECVRITY-at-GDC

先回來看技術本身:「Unity」遊戲引擎雖可支援 WebGL 與 VR,但我們很快就發現此兩方互相排斥,且 Unity 目前尚未將 WebVR 納入其中程規劃之內。 因此我們著手「在此斷層上搭建一座橋樑」。由於 Unity 的 WebGL 匯出功能並未支援網站形式,因此必須設法銜接 WebVR API 與我們的 Unity 遊戲,才能將 WebVR 的輸入連回該遊戲引擎。我們真的很希望能有不只一個月的時間進行開發。

還好在將近一年前,我們有名勇者在上 GitHub 晃來晃去時發現了 gtk2k,當下就決定要幫大家搭建這座橋樑。他的方法很直接:先建構 Unity 的 WebGL 範本 (內含 JS 檔案),以能透過 API 處理 WebVR 輸入,接著再以一組簡單指令將該程式碼接上 Unity。為了能在 Unity 內正確建構此一指令,他先設定了相機預置 (Prefab)。其內有 3 組不同的相機:一組標準視點 (Standard view) 相機,亦為一般的 Unity 相機。而兩組並排顯示的立體相機,另稍微調整了其 x-positions 與 Viewport rects。開發者只要在自己的場景內以此 Prefab 取代主要相機,再於其上附掛 StereoCamera.cs,就能看到如魔法般的效果了。只要玩家按下 WebVR Unity 客製範本中的「Enter VR」按鈕,gtk2k 就能智慧切換標準相機與立體相機。

oculus-rift-vr-headset-1200x698-500x291

立刻下載 Unity WebVR 簡易專案,或取得 UnityPackage 將必要檔案匯入到自己的專案之中。

如果要親身體驗範本,你必須:……

 

參閱本文原文中的後續說明。文中會詳細列出你所應準備的 App、所應入手的實體裝置、所應使用的 Firefox 版本,以及所應完成的詳盡步驟。接著就能進入 VR 的世界親身體驗,甚至進一步開發自己的 VR 內容!

 

 

原文連結:Exporting An Indie Unity Game to WebVR

 

 

您可能也會喜歡

目前找不到相關文章

共 1 則讀者回應

對此文章發表回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *