2022年11月19日 星期六

Oculus Quest 2 程式開發

若將目標設定在Meta的Oculus Quest 2上撰寫互動程式。蒐集知識如下。首先是開發環境,因為要在某個世界中移動,要有立體感,所以開發介面會類似遊戲引擎。目前可使用的引擎有UNITY和UNREAL,因為META推薦前者為開發平台,後續就集中在UNITY。類似整體性的內容,還可以參考。

  • VR Game Development - A step by step guideline (連結)

以UNITY為基礎,安裝XR插件(連結)後就能開發VR互動程式,XR是UNITY專門插件,範圍不只是Virtual Reality (VR),還有Mixed Reality (MR)和Augmented Reality (AR)。OCULUS QUEST 2是純VR,或許PRO開始還能學習到MR方案。對XR操作,難得看到中文介紹(連結 連結),尤其是這個影片說的非常好(連結)

VR中包含很多不同裝置,META的OCULUS僅是其中之一,UNITY的原則是,不同類型裝置都使用相同核心,編譯時依照裝置特性產生不同格式執行資料。以OCULUS來說,裝置本體是ANDROID,猜測UNITY應該會將核心包成NDK形式,APP用JAVA展現(?不確定)。

總之,因為OCULUS是ANDROID裝置,所以開發機器要安裝ANDROID開發環境,且UNITY會和開發環境連動,將UNITY資料編譯成ANDROID APP,透過LINK線將APP送到DEVICE上。ANDROID裝置特性,必須開啟設定,才能安裝外部APP。看範例,似乎要透過手機軟體和眼鏡連線,才能操作。至此,DEVICE就能透過LINK回到PC上進行DEBUG。在VR世界中看到場景,揮動手勢,也算是完成基本測試。

  • XR Step-by-Step! Installing the Tools you need for XR development == Unity 2022(連結)
  • Easy Unity VR Tutorial for Beginners(連結)
  • [Oculus Quest 1&2]來用Unity製作第一個Oculus Quest App吧!(連結)
  • 马修-仟虚软件(連結)
  • How to Draw in VR - Unity Tutorial(連結  沒有code)
  • How to make a VR game in Unity - 2022 tutorial for Oculus Quest 2 (Part 1, The Basics)(連結)
  • How to Make Oculus Quest 2 Games (with Unity)(連結)

進階功能:只是晃來晃去,過於初階。若要加入程式設計,作法是回到UNITY,用C#控制物件,想像中可以讓揮劍碰到就能得分,且分數顯示在某個位置等等。有了程式奧援,互動性會立刻增加。程式可參考資源。

  • XR Step-by-Step! Coding your Touch Controller for your Oculus Quest XR project in Unity 2021!(連結 連結)
  • Build Your First VR App(連結)
  • How to Make a VR Game in Unity 2022 - PART 1(連結 共有七集,有說明但無法下載,也沒多完整)。
  • Open Brush(連結 連結)

從程式架構來看,VR互動程式的邏輯和PC遊戲並無差異,僅僅是顯示部分要分成左右兩區渲染。輸入源更多元(左右手勢,頭部位置等等)。

既然有如此高的沉浸感和互動性介面,相關應用呢?

  • 遊戲:最大宗,有個球體蓋村莊範例,可惜沒有程式碼,過程值得看(連結)。似乎有個打鼓遊戲很棒。
  • 藝術欣賞:如黃心健作品。
  • 小規模展示3D物件:如線上看車、看屋、選衣服。
  • 大規模展示資料庫中眾多3D物件:如動物園(?)、博物館(?)。
  • 建立和處理3D物件的工具:技巧上強調手操作感,模式上強調可單獨或協同創作。3D的Gravity Sketch(連結 連結),2D的Tilt Brush(連結)
----

最遠大的應用就是虛擬世界,其中又以Meta的Horizon Worlds或稱為Metaverse為典範,在Horizon Worlds中,頭盔的定位並沒有想像中重要,比較像是網路時代的瀏覽器,只負責連網。Horizon Worlds比較像是Web 2.0時代的入口網站,集合了各種虛擬世界用到的硬體(建築)和軟體(例如會議室、遊樂場、酒吧等)功能。使用者可像是在mincraft中建立自己的小天地,當然也能進入他人小天地(實際畫面拍攝連結,房間 連結),軟體部分,也可以參考會議室範例(連結 連結)。而世界的建立工具並不重要,就像FACEBOOK僅是由PHP和MYSQL搭建起來,虛擬世界的物件可以是UNITY,也或許是UNREAL,重點是速度要快,且能同時維持多人同時運作。評論(連結 , 這篇評論有哲學性 連結)。

未來展望。隨著裝置升級輸入裝置會更多,包括手指、臉部表情、眼睛位置追蹤,輸入源的細分和更多元,勢必會擴大應用的可能性(例如手勢操作和手機APP)。此外,更大的變化應會是MR,因為現在都是已經定義好的3D環境,MR將帶入環境因素,處理場景的方式不同,不知會如何安排。只是這就脫離這篇文章討論範圍。

----

各種VR裝置:

  • META OCULUS
    • RIFT
    • QUEST 1
    • QUEST 2  二手約八、九千。要確認有LINK線。開箱(連結),好像至少128G才能繪圖。
    • PRO 連結
  • VIVE,推測是ANDROID環境,有篇文章介紹NDK開發VR,連結
  • PICO
----

沒有留言:

張貼留言