二維碼追蹤示例
此示例演示了如何在現實世界中(zhōng)檢測和追蹤二維碼。
有(yǒu)關自定義可(kě)追蹤對象更新(xīn)的基本信息以及 Unreal Engine 的 AR Trackable Notify 組件的功能(néng),請參考 Unreal Engine 的文(wén)檔。要使用(yòng)此功能(néng),需要在 OpenXR 插件設置中(zhōng)啓用(yòng),位置為(wèi)Project Settings > Snapdragon Spaces 插件.
示例工(gōng)作(zuò)原理(lǐ)
默認情況下,當示例運行并識别到二維碼時,它會在物(wù)理(lǐ)目标上生成一個數據面闆,并在面闆下方顯示二維碼的相關信息。
用(yòng)戶可(kě)以通過地圖中(zhōng)的 UI 面闆來驗證二維碼的推薦尺寸和支持的版本。
二維碼 AR 管理(lǐ)
BP_QrCodeTrackingManager 藍圖資産(chǎn)(位于 SnapdragonSpacesSamples 内容 > SnapdragonSpaces > Samples > QrCode > Placeable)負責通過事件系統創建和銷毀 BP_QRCodeDataWidget 參與者。它将來自 AR Trackable Notify 組件的事件綁定,以響應 AR 可(kě)追蹤二維碼的變化,當系統檢測到二維碼時,會觸發 On Add/Update/Remove Tracked Image 事件,并返回一個 Spaces AR Tracked QR 對象。
Spaces AR Tracked QR 是一個 Snapdragon Spaces 對象,用(yòng)于插件中(zhōng)擴展追蹤的信息(如原始數據),并從 AR Tracked QR Code 派生。Unreal Engine 分(fēn)配該對象來管理(lǐ)被追蹤的二維碼。
在示例藍圖中(zhōng),如果需要開始檢測,請将 Toggle AR Capture 設置為(wèi) ON;如果要停止檢測并銷毀所有(yǒu)生成的 AR 二維碼,請将其設置為(wèi) OFF。也可(kě)以使用(yòng) Toggle Spaces Feature 作(zuò)為(wèi)啓用(yòng)該功能(néng)的另一種方式,此外,該節點的捕獲類型必須設置為(wèi) QRCode。
二維碼 AR 會話配置
系統使用(yòng)默認的 D_SpacesSessionConfig 資産(chǎn)(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Common > Core)來檢測二維碼。
會話配置文(wén)件包含五個字段:一個用(yòng)于指定應追蹤的最大同時圖像數量,一個用(yòng)于定義被追蹤二維碼的物(wù)理(lǐ)尺寸(以米為(wèi)單位),以及一個用(yòng)于指定支持的最小(xiǎo)和最大二維碼版本的字段