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