教學說明
這期教學我將介紹使用 Apple Vision Pro 中 visionOS 開發的應用形態,以及 Unity 如何適合 visionOS 的。掌握了相關的知識點後,我們就能明白能在蘋果頭顯中開發什麼類型的應用,每一種類型在開發的時候有哪些限制,能夠利用上什麼特性。
你可以隨時回到初始頁:Unity Vision Pro 開發|一、開發前準備 來了解從頭開始串連 Unity 與 Apple Vision Pro 的完整流程。
常用名詞解釋
Metal:蘋果系統的底層圖形 API,負責渲染。
ARKit:蘋果的 AR 框架,提供了追蹤、偵測和姿態估計等核心功能。
RealityKit:基於 ARKit 的一套更高層的框架。擁有 3D 引擎來處理 AR 應用的渲染,物理,動畫等效果。 【 AR + 3D 渲染】渲染的底層也是基於 Metal,但提供了更高層的封裝。
visionOS 是什麼
visionOS 是蘋果為 Apple Vision Pro 設計的全新操作系統,專注於 AR 和 VR。2023 年 6 月 21 日,蘋果發布了 visionOS SDK,讓開發者創造出突破性的應用體驗。使用者能通過眼睛、手勢和語音與 3D 介面互動,將數位內容無縫融入現實世界。visionOS 支援多任務處理和高效能圖像,適用於娛樂、工作、創作等應用場景。Apple Vision Pro 採用全球首款空間作業系統 visionOS,提供無限畫布的運算應用。開發者能利用其強大功能,設計出生產力、設計、遊戲等類別的應用,帶來全新沉浸式互動體驗。
visionOS 空間型
Shared Space 共享空間
不同的 2D 視窗和 3D 應用程式能夠在空間中一起運作。打開頭顯預設進入的就是共享空間。
進階版的程式多開:共享空間中的所有應用程式由 RealityKit 渲染。
互動方式:眼睛注視 + Pinch 捏合手勢(Pinch:捏合拇指和食指),近距離 Poke,近距離 Pinch。
應用載體:Window 視窗和 Volume 體積分別裝載平面視窗和 3D 應用。其中 3D 應用都是被包裹在了一個立方體的範圍內。
Full Space/Immersive Space 獨佔空間
應用程式單獨佔據整個空間,會隱藏共享空間中的其他應用,然後整個空間只顯示這個應用程式。類比電腦,電腦螢幕上可以顯示多個窗口,對應共享空間;也可以一個應用程式全螢幕顯示,對應獨佔空間。只不過現在這些應用被搬到了三維空間中,並且既可以有2D 窗口,也可以有3D 模型。獨佔空間中整個空間都是應用載體,也可以存放視窗或體積類型的內容。
能夠使用 ARKit 的功能(共享空間無法使用)例:
- 手勢追蹤獲取手部骨骼數據。用法:手部與虛擬物體碰撞,手勢辨識。
- 取得到房間的網格資料。用法:實現虛擬物體與現實物體之間的碰撞。
- 平面識別。
- 圖片辨識。
- 物體追蹤。
- 頭部追蹤。
應用沉浸度:
visionOS 渲染框架
兩種渲染方式。
RealityKit:一般用於渲染 Shared Space 和 Full Space 下的 Passthrough 模式【現實環境+虛擬內容】。
CompositorServices:使用底層的 Metal 圖形 API 和 ARKit 相關的環境感知等能力,來做渲染的合成。其他引擎的渲染能夠基於這套 API 將自己渲染的內容適配到 visionOS 上,因此在渲染時能保留自己的渲染管線。
visionOS 1.0 時期一般用於渲染 Full Space下的 Fully Immersive 模式(VR)。其他的遊戲引擎開發 visionOS 的 VR 應用程式就是使用這種渲染方式。
visionOS 2.0 時期也支援 Full Space 下的 Passthrough 模式。
Full Space 下的渲染框架圖:
Unity 開發 visionOS 應用的不同模式
視窗模式
Unity 裡渲染的畫面會顯示在空間中的平面視窗中,使用 Metal 渲染。無需使用 Unity Pro 授權和 XR 開發工具包,只需適配眼手互動的輸入。
VR 模式
顯示完全虛擬的環境。渲染由 Unity 引擎完成,底層適配了蘋果的 CompositorSevices,使用 Metal 渲染。使用 XR 開發工具包進行開發,和傳統的 VR 開發方式類似。
MR 模式
現實環境中新增虛擬內容。分為 Shared 模式(對應 Shared Space)和 Exclusive 模式(對應 Full Space)。使用 PolySpatial 工具包進行開發,Unity 不負責渲染,而是把渲染相關的東西轉換成 RealityKit 能理解的東西,最後交給 Realitykit 處理渲染。在 Unity 支援了 visionOS 2.0 之後開發 Full Space 下的 MR 應用也能使用 Metal 渲染,能使用 Unity 自己的渲染管線。
總結
上一步:Unity Vision Pro 開發|二、Unity 環境配置、程式打包
下一步:Unity Vision Pro 開發|四、體積相機 Volume Camera
————————————————
本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。
特約作家簡介
支持贊助 / DONATE
亞洲電玩通只是很小的力量,但仍希望為復甦台灣遊戲研發貢獻一點動能,如果您喜歡亞洲電玩通的文章,或是覺得它們對您有幫助,歡迎給予一些支持鼓勵,不論是按讚追蹤或是贊助,讓亞洲電玩通持續產出,感謝。
BTC |
352Bw8r46rfXv6jno8qt9Bc3xx6ptTcPze |
ETH |
0x795442E321a953363a442C76d39f3fbf9b6bC666 |
TRON |
TCNcVmin18LbnXfdWZsY5pzcFvYe1MoD6f |