Table of Contents

Mega 微信小程序插件上的 AR Session 概念與流程

這篇文件將介紹 Mega 微信小程序插件上的 AR Session 的概念與流程。

AR Session 是什麼

Mega 微信小程序插件提供的 AR Session 是所有 AR 功能的入口。它管理運行過程和狀態:包括從 VisionKit 和微信提供的感測器 API 獲取資料、融合雲端定位與本地 AR 追蹤器結果、驅動場景中相機等其它部分物體的移動和渲染等。

flowchart LR
    Pose(VisionKit 相機位姿) -- 每幀同步 --> Session[Session]
    Image(計算該幀相機位姿所使用的相機圖片) -. 僅 Mega 定位時發送 .-> Session
    Sensor(微信感測器資料) -. 非同步 .-> Session
    Session -- Transform --> Camera(xr-frame 攝影機)

AR Session 的流程

flowchart LR
    Start((" "))
    End((" "))

    Init[Initializing]
    Run[Running]

    Check{Success?}

    Start -->|呼叫 start| Init
    Init --> Check

    Check -->|是| Run
    Check -->|否 / 重試次數超過上限| End

    Run -->|呼叫 stop| End

啟動: session 狀態轉為 Initializing 。包含環境檢查、資源載入以及等待微信 xr-frame 的 AR 系統就緒。

運行: session 狀態轉為 Running 。在此階段,session 每幀輸出追蹤結果並更新 xr-frame 相機的 Transform。

停止: session 狀態轉為 None 。包含釋放資源、重設狀態、銷毀 MegaTracker。

警告

AR 功能必須在 session 啟動成功後才能使用。

AR Session 狀態:

狀態 描述
None 初始狀態,session 未啟動或初始化失敗
Initializing 初始化過程中
Running 運行狀態,session已啟動且初始化完成

[可選] 微信小程序插件上的 AR Session 與 Unity 上的 AR Session

附註

僅針對 Unity 專案遷移的開發者。

Mega 微信小程序插件上的 AR Session 是 Unity 上 AR Session 的簡化版本。由於不支援其他演算法元件同時使用,微信小程序上的 AR Session 使用預整合的資料來源元件和演算法元件,使用者不能選擇資料來源和/或組裝演算法元件。

此外,可以認為 Mega 微信小程序插件僅支援以 Block 為 target 且使用以 target 為中心的中心模式。

後續步驟

相關主題