目錄
教學說明
本篇僅對展示畫面進行基本說明,完整版課程及答疑僅限社群成員可見。歡迎關注原文作者並加入社群。
你可以隨時回到初始頁:Unity Vision Pro 開發|一、開發前準備 來了解從頭開始串連 Unity 與 Apple Vision Pro 的完整流程。
教學內容概括
- 透過影像識別,在圖片上產生虛擬物體
- 透過辨識到的圖片座標,校準虛擬空間,讓虛擬空間與現實空間1:1貼合
- 靠近現實中的一個區域觸發事件
- 室內導航輔助線效果
- 事件管理中心代碼框架
ARFoundation 圖像識別
- 提前在圖片庫裡存好圖片信息,由 ARTrackedImageManager 腳本進行圖像識別的處理,如果圖片與圖片庫裡存儲的圖片匹配,視為識別成功。
- Tracked Image Prefab 參數會在識別到的圖片位置上生成我們指定的物體。
- 缺點:所有識別到的圖片上只會顯示相同的 Tracked Image Prefab,但是可以額外寫腳本本來處理不同圖片生成對應物體的邏輯。
識別到的圖片坐標系
在圖片辨識成功後,生成虛擬物體。這些物體會根據圖片座標生成,並且可以進行更新。
項目演示
⭐導入 PolySpatial SDK
- 打開 Unity 專案,進入到 Unity Hub。
- 在專案中,導入 Vision Pro 的開發 SDK 和 PolySpatial 開發包,具體是
PolySpatial 2.0 Pro 11
版本。 - 確保你的應用是基於 Reacticate 渲染的,並且 App 模式設定為
Reacticate with PolySpatial
。
設置 Frame Rate
- 在 Unity 的 Project Settings 中找到
Pre to device
配置面板。 - 設置
Limit friends per second
參數,將其調整為 90 以確保即時串流調試過程中的流暢幀率。
配置 XR 插件
- 打開 Unity 上方的
Edit
,進入Project Settings
。 - 進入
XR Plug-in Management
,勾選PolySpatial XR
來啟用該插件的圖片辨識功能。
加入圖片辨識功能
- 在
Assets/Samples/PolySpatial/Scenes
資料夾下,找到並打開Image Checkin
場景。 - 使用 AR
Tracked Image Manager
腳本,並引用一個圖片庫來實現圖片辨識。 - 預設包含兩張圖片,設定圖片在現實中的長度和寬度,單位是米。
- 如果需要加入自訂圖片,可點擊
Add Image
,並在Physical Size
中指定實際尺寸。
配置場景中的必要物件
- 在場景中加入
Volume Camera
(體積相機),並設定為無邊界的應用場景。 - 加入
AR Session
,通過 Unity 的XR
選單建立 AR 會話物體。 - 新增玩家物體並配置
XR Interaction Manager
和Event System
,用於管理場景中的互動。
自訂 AR Tracked Image Manager 腳本
- 創建自訂腳本
Custom Image Checking Manager
,用於圖片辨識成功時生成對應的遊戲物體。- 使用
GUID
作為圖片辨識的 key,並通過字典來對應要生成的遊戲物體。 - 監聽
Track boss change
事件,處理added
、updated
和removed
三種圖片辨識狀態。
- 使用
- 根據不同圖片生成不同的遊戲物體,並保持圖片座標和遊戲物體一致。
實現圖片辨識後的操作
- 在辨識成功後,生成遊戲物體並顯示在圖片上方(例如 UI 面板或座標系物體)。
- 點擊 UI 面板中的按鈕以進行進一步的操作,如校準虛擬房間與現實房間的位置。
測試與優化
- 配置完成後,運行應用,並測試圖片辨識是否能夠正常進行。
- 如果需要修正或優化功能,例如清除圖片識別後的物件,可以手動處理。
課程總結
透過對影片內容的整理,我們詳細介紹了如何使用 Unity 搭配 PolySpatial SDK 和 AR Foundation,從環境配置、圖片辨識的設置到自訂腳本的應用,成功實現基於圖片的 AR 互動功能。希望這些整理出的步驟能幫助你順利開發出流暢且功能強大的 MR 應用,並能靈活應用在實際項目中!
上一步:Unity Vision Pro 開發|九、空間錨點
下一步:Unity Vision Pro 開發|Metal 渲染模式開啟透視遇到背景黑畫面的解決方法
————————————————
本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。
特約作家簡介
支持贊助 / DONATE
亞洲電玩通只是很小的力量,但仍希望為復甦台灣遊戲研發貢獻一點動能,如果您喜歡亞洲電玩通的文章,或是覺得它們對您有幫助,歡迎給予一些支持鼓勵,不論是按讚追蹤或是贊助,讓亞洲電玩通持續產出,感謝。
BTC |
352Bw8r46rfXv6jno8qt9Bc3xx6ptTcPze |
ETH |
0x795442E321a953363a442C76d39f3fbf9b6bC666 |
TRON |
TCNcVmin18LbnXfdWZsY5pzcFvYe1MoD6f |