📕Unity Apple Vision Pro 教學說明
這期教學我將介紹使用 Unity 開發 Apple Vision Pro 應用程式所需的 Unity 環境配置,以及如何匯入 PolySpatial 範例場景、配置 Play To Device 即時預覽功能、將 Unity 程式打包到頭顯中運作。
開發前期準備(軟硬體需求,開啟vision pro 開發者模式與 Wi-Fi 無線偵錯功能,Xcode 程式打包至頭戴裝置)
PolySpatial 官方文件(需要時刻關注開發者文檔,因為 PolySpatial 處於早期階段,在未來可能有些地方會發生變動)
📕教學內容概括
這期教程主要目標是成功運行 PolySpatial 官方範例場景,PolySpatial 是 Unity 提供的用於開發 visionOS 的 MR 應用的開發工具。
📕Unity 是什麼
Unity 是一款功能強大的跨平台遊戲引擎,可用於 2D 和 3D 遊戲的開發,支援包括個人電腦、行動裝置、遊戲主機、網頁平台、擴增實境(AR)和虛擬實境(VR)在內的多種平台。由於其高度的靈活性和豐富的資源庫,Unity 成為許多獨立遊戲開發者的首選工具,並在 iOS 和 Android 的遊戲開發中尤其受歡迎。Unity 不僅適用於遊戲開發,還逐漸在其他領域如電影製作、建築可視化、汽車設計等行業中嶄露頭角,成為多媒體和互動內容開發的重要工具之一。
📕Unity 配置
⭐新增 visionOS Build Support 模組
安裝 Unity 編輯器的時候需要新增 visionOS Build Support 模組,如果之前沒有加入過,也可以在 Unity Hub 手動新增對應版本的編輯器。
安裝了這個模組後,我們在打包 Unity 程式的時候就能夠選擇 visionOS 作為打包發布的平台,visionOS 是蘋果頭戴式獨立的作業系統。
⭐新增 Unity Pro 許可證
Unity 開發 Apple Vision Pro 的應用有分為三種模式:視窗模式,VR 模式,MR 模式。這三種模式的區分我會在下期教學進行詳細的說明。如果開發的是視窗模式,不需要新增 Unity Pro 許可證,如果開發的是 VR 或 MR 模式,則需要新增 Unity Pro 許可證。
新增 Unity Pro 授權可以在 Unity Hub 中點擊自己的頭像,選擇 Manage licenses
然後點選右上角的 Add,點選第一個選項,輸入 Unity Pro 的啟動碼:
⭐Unity 渲染管線選擇
可以選擇預設的 3D Build-in 渲染管線,也可以選擇 URP。不過導入 PolySpatial 後如果項目不是 URP,也會自動升級成 URP。
⭐Build Settings 裡切換 visionOS
在 Unity 的 File>Build Settings 裡將打包發布平台切換成切換 visionOS 。 Target SDK 處,如果要把程式打包到頭顯中執行,選擇 Device SDK 。如果要讓程式在 Xcode 模擬器裡運行,選擇 Simulator SDK。
⭐XR Plug-in Management 設定
Edit > Project Settings 新增 XR Plug-in Management ,勾選 Apple visionOS(只有新增了 Unity Pro 授權才能勾選上)
勾選後 Unity 會讓你匯入新版輸入系統 Input System,然後重新啟動編輯器,我們點擊 Yes 就能自動進行。
然後 Unity 也會自動幫我們匯入這些套件:
- Apple visionOS XR Plugin (com.unity.xr.visionos)
- AR Foundation (com.unity.xr.arfoundation)
- XR Core Utilities (com.unity.xr.core-utils)
⭐切換MR 模式
XR Plug-in Management 下方的 Apple visionOS 中將 App Mode 切換成自己想要的模式,匯入 PolySpatial 需要選擇 Mixed Reality。
然後 Unity 會幫我們匯入 PolySpatial 相關的套件:
- PolySpatial (com.unity.polyspatial)
- PolySpatial XR (com.unity.polyspatial.xr)
- PolySpatial visionOS (com.unity.polyspatial.visionos)
如果導入後發現 XR Plug-in Management 下只剩下 Project Validation,可以重新啟動 Unity 專案。
⭐Project Validation
XR Plug-in Management 下的Project Validation 點選Fix All。
⭐Hand Tracking Usage Description 和 World Sensing Usage Description
XR Plug-in Management 下的 Apple visionOS 中填寫 Hand Tracking Usage Description 和 World Sensing Usage Description,填寫的內容會在程式請求手追和空間資料權限的時候出現。
例如Unity 填寫的是:
Hand Tracking Usage Description:Input
World Sensing Usage Description:MR
那麼之後在程式中顯示的是:
📕匯入PolySpatial 範例場景
Window > Package Manager 中匯入 PolySpatial 的兩個 Sample
開啟 Samples > PolySpatial > Scenes 的 Project Launcher 場景,此場景相當於所有範例場景的啟動器,然後根據彈跳窗的資訊匯入 TMP Essentials。
如果專案之前的渲染管線是預設的渲染管線,那麼你會發現導入樣例後場景中物件是紫色的。這時候需要手動進行一次 URP 的材質升級,將原先渲染管線的材質轉換成URP。點選 Window > Rendering > Render Pipeline Converter,勾選所有選項,點選 Initialize And Convert。
📕配置Play To Device
Play To Device 相當於 Unity 中的 Vision Pro 串流調試工具。當電腦和頭戴裝置連接在一起的時候,點擊 Unity 運行按鈕,可以在頭顯中即時預覽Unity 中的場景,就不用每次調試都打包到頭顯中運行。
但是,在發布這篇文章的時候,Play To Device 只支援顯示預覽 MR 模式下的 Shared Space 共享空間的應用程式類型,像是 VR 應用程式和需要用到ARKit 功能的功能還不支援在 PolySpatial 中預覽。
⭐安裝 TestFlight 和 Unity Play To Device Host
首先,在 Mac 上下載 TestFlight,然後在 Test Flight 中安裝 Unity Play To Device Host,版本必須與 Unity 的 PolySpatial 版本一致,可以從此連結下載。
然後在 VP 上下載 TestFlight,登入和 Mac 相同的 Apple ID,這個時候能在 VP 的 TestFlight 看到 Unity Play To Device Host,安裝後點擊 Open,也可以直接在應用程式清單中找到 Play To Device Host 打開,此時介面會顯示 IP,這個 IP 待會兒會用到。
⭐Unity 配置 Play To Device
打開 Unity 的 Window > PolySpatial > Play To Device,Advance Settings 裡將 Name 改成自己喜歡的名字,將 Host IP 改成 VP 裡 Play To Device Host 裡顯示的 IP,然後 Add Device,點擊 Connect,再把 Connect To Play 改成 Enabled
設定完成後,之後若想要在頭戴裝置即時預覽 Unity 畫面,只要在頭戴裝置開啟 Play To Device Host,然後點選 Unity 執行按鈕,如果頭戴裝置顯示Unity 畫面即設定成功,關閉應用程式時最好在Unity 中再次點擊運行按鈕將程式退出。如果 Unity 的 Console控制台裡顯示連接不上 IP,並且確保輸入的 IP 是正確的,可以在 VP 裡把 Play To Device Host 的後台清理掉(長按頭顯上方的兩個按鈕,會彈出後台應用列表),再重新嘗試。
📕Unity 程式打包到頭顯中執行
開啟 File > Build Settings,把所有範例場景拖曳到 Scenes In Build 清單下,並且將 Project Launcher 場景放置第一位。
點選 Build,選擇一個打包好的資料夾,接下來 Unity 程式就會被打包成一個 Xcode 工程。我們開啟 Xcode,開啟剛轉換的 Xcode 工程,選擇後綴為 xcodeproj 的檔案。
這時候 Xcode 介面就會顯示出由 Unity 程式轉換成的 Xcode 專案。然後點選工程資料夾裡最頂端的資料夾,點選 Signing & Capabilities,勾選 Automatically manage signing,然後在 Team 處關聯自己的蘋果開發帳號。
打包設備選擇與電腦連接的頭顯設備,然後點擊運行按鈕點擊 Xcode 中的運行按鈕,就能將 Xcode 程式打包然後傳輸到頭顯。
上一步:Unity Vision Pro 開發|一、開發前準備
下一步:Unity Vision Pro 開發|三、visionOS 应用形态
————————————————
本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。
特約作家簡介
支持贊助 / DONATE
亞洲電玩通只是很小的力量,但仍希望為復甦台灣遊戲研發貢獻一點動能,如果您喜歡亞洲電玩通的文章,或是覺得它們對您有幫助,歡迎給予一些支持鼓勵,不論是按讚追蹤或是贊助,讓亞洲電玩通持續產出,感謝。
BTC | ETH | TRON |
352Bw8r46rfXv6jno8qt9Bc3xx6ptTcPze | 0x795442E321a953363a442C76d39f3fbf9b6bC666 | TCNcVmin18LbnXfdWZsY5pzcFvYe1MoD6f |