在補充(11)提到,要透過 ARKit 啟動擴增實境(相機鏡頭),最簡單的指令就是設定AR任務(ARSession)並加以執行(run):

// 補充(11a)
let AR視圖 = ARSCNView()
let 設定 = ARWorldTrackingConfiguration()
AR視圖.session.run(設定)

此例中,一旦AR任務設定為「世界追蹤(ARWorldTrackingConfiguration)」,就會啟用設備(iPad/iPhone)的後相機,將實景帶入畫面中,並開始追蹤實體世界的座標變化。

除了「世界追蹤」之外,ARKit 還有其他不同的設定,用來指定AR任務的基本模式與功能。以下是目前ARKit 可追蹤的8種任務設定:

# AR設定 名稱 鏡頭 說明
1 ARWorldTrackingConfiguration 世界追蹤 後相機 追蹤一般實體場景
2 ARFaceTrackingConfiguration 人臉追蹤 前相機 追蹤使用者臉型
3 ARBodyTrackingConfiguration 人體追蹤 後相機 追蹤任何人體動作
4 ARImageTrackingConfiguration 影像追蹤 後相機 追蹤特定靜態影像
5 ARObjectScanningConfiguration 3D物件追蹤 後相機 追蹤特定3D物件
6 ARGeoTrackingConfiguration 地理位置追蹤 後相機 追蹤GPS地理位置
需配合高精地圖,目前僅支援美、英、澳、加、日等部分國家及城市,參考原廠文件
7 ARPositionalTrackingConfiguration 設備位移追蹤 後相機 僅追蹤設備位移(3 DoF)
8 AROrientationTrackingConfiguration 設備旋轉追蹤 後相機 僅追蹤設備旋轉(3 DoF)

這8種是 ARKit 基本運作模式,因此不管配合SceneKit或RealityKit,功能都一樣(但用法有差異)。這其中,只有人臉追蹤採用前相機(會左右鏡像,有效距離3米),其餘均使用解析度較高的後相機。

人臉追蹤除了一般AR功能之外,還應用人工智慧辨識臉部輪廓,額外要求硬體必須含A12晶片以上(+iPadOS/iOS 14.0以上版本)。可執行人臉追蹤的最低配備如下:

只要 iPad 款式等於或高於上述型號,均可以透過 Swift Playgrounds 執行本節範例程式;至於 iPhone XS (或更新)也能執行,但必須透過 Mac + Xcode,且以USB連接 iPhone,這部分請自行參考網路相關文章

要設定AR任務為人臉追蹤,程式寫法與世界追蹤類似,只要將設定名稱改為ARFaceTrackingConfiguration 即可:

// 補充(14)
let AR視圖 = ARSCNView()
let 設定 = ARFaceTrackingConfiguration()
AR視圖.session.run(設定)