平台專屬指南
AR 內容必須正確放置和調整大小,才能融入場景。就像現實世界中的物體一樣,較遠的虛擬物體應該會顯得較小。您可以執行命中測試 (或 Unity 適用的 AR 基礎架構中的光線投射),判斷 3D 物件在場景中的正確位置。正確放置可確保 AR 內容以適當 (明顯) 大小呈現。
命中測試會找出真實世界 3D 幾何圖形與虛擬射線 (由原點和方向組成) 之間的交集。以裝置相機為原點的光線最常使用,但 ARCore 包含的 API 可用來對世界空間座標中的任意光線執行命中測試。
假設從使用者裝置的相機發出光線,並向前延伸,直到碰到場景的 3D 幾何圖形 (例如地板、牆壁或物體)。此時你會收到命中結果清單,或與偵測到的場景幾何圖形相交的結果。清單會依據與裝置的距離排序,最近的十字路口會顯示在最上方。這點很重要,因為一般來說,您無法看到其他物件後方的遮蔽物件,因此大部分時間第一個結果最重要。

命中結果的內容
系統會以清單形式傳回個別命中結果,其中包含每項結果的下列資訊:
- 與光線原點的距離 (以公尺為單位)
- 命中結果的姿勢 (位置和方向)
- 您擊中的 3D 幾何圖形,以 Trackable 形式呈現
接著,您可以使用所需的命中結果,透過錨點真實地放置 3D 內容。
命中結果類型
命中結果分為四種類型:深度、平面、特徵點和即時放置結果。如下表所示,每種方法都有各自的用途和取捨考量。
| 命中結果類型 | 說明 | 方向 | 用途 |
|---|---|---|---|
| 深度 | 使用整個場景的深度資訊,判斷某個點的正確深度和方向 | 垂直於 3D 表面 | 在任意表面上放置虛擬物件 (不限於地板和牆壁) |
| 飛機 | 撞擊水平和/或垂直表面,判斷某個點的正確深度和方向 | 垂直於 3D 表面 | 使用平面的完整幾何圖形,將物件放置在平面上 (地板或牆壁)。請立即提供正確的比例。深度命中測試的備用方案 |
| 特徵點 | 依據使用者輕觸點周圍的視覺特徵,判斷該點的正確位置和方向 | 垂直於 3D 表面 | 在任意表面上放置物件 (不限於地板和牆壁) |
| 即時放置 (持續性光線投射) | 使用螢幕空間放置內容。一開始會使用應用程式提供的預估深度。這項功能會立即運作,但 ARCore 判斷實際場景幾何結構後,姿勢和實際深度就會改變。 | +Y 指向上方,與重力相反 | 將物件放置在平面 (地板或牆壁) 上,使用平面的完整幾何圖形,適用於需要快速放置物件,且體驗可容許初始深度和比例不明的情況 |
裝置相容性
所有支援 ARCore 的裝置都支援命中測試,但深度命中測試需要支援深度的裝置。
使用命中結果放置 AR 內容
取得命中結果後,您可以使用其姿態做為輸入內容,在場景中放置 AR 內容。