命中測試示例
此示例演示了(le)如何對(duì)真實世界中的(de)點和(hé)平面進行命中測試,有關命中測試的(de)基本信息以及 Unreal Engine 中 Line Trace Tracked Objects 3D 節點的(de)功能(如下(xià)圖所示),請參閱 Unreal Engine 文檔。要使用(yòng)此功能,需要在 OpenXR 插件設置中啓用(yòng),路徑爲:項目設置 > Snapdragon Spaces 插件。此外,還(hái)需啓用(yòng)平面檢測功能,以确保命中測試正常工作,爲了(le)獲得(de)更準确的(de)命中結果,請在 AR 會話(huà)配置中啓用(yòng)平面檢測功能的(de)“使用(yòng)凸包檢測”選項。
示例工作原理(lǐ)
在示例運行時(shí),屏幕前方會始終顯示一個(gè)小工具,并且每幀都會發射一次射線。如果射線檢測到有效的(de)命中結果,小工具會移動到命中的(de)位置,并以青色、黃(huáng)色和(hé)品紅色顯示。如果沒有檢測到命中,小工具會移動到頭部位置前方一米處,并變爲紅色。
命中管理(lǐ)器
該示例使用(yòng) BP_HitManager 藍圖資産(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Samples > HitTesting > Placeable)來(lái)處理(lǐ)地圖中的(de)命中測試。要啓用(yòng)或禁用(yòng)命中測試,需要使用(yòng) Toggle Spaces Feature 方法,并将 Hit Testing 作爲功能進行切換。開發者可(kě)以通(tōng)過以下(xià)選項自定義射線的(de)命中測試:
● Distance Ray Cast:射線的(de)長(cháng)度。
● GizmoTag:在 BP_Pawn 的(de) SceneComponent 中定義的(de)标簽名稱,用(yòng)于定位小工具,即示例中的(de)白色小工具。
● Distance Gizmo:從頭部位置到定位對(duì)象的(de)距離。