평면 ar 추적기 예외 처리
이 글은 콜백 등록을 통해 WeChat 평면 AR 추적기의 예외를 처리하는 방법을 소개합니다.
시작하기 전에
MegaTracker 워크플로우를 통해 다음 사항을 이해하세요:
- xr-frame의 평면AR 추적기는 본질적으로 VisionKit 6DoF-평면 기능의 래퍼입니다.
- MegaTracker가 xr-frame에서 작동하는 방식.
AR 세션의 개념과 워크플로우를 이해하세요
평면 감지 예외가 발생하는 이유
특정 상황(예: 대규모 흰 벽이 화면에 나타나거나 카메라가 오랜 시간 가려진 경우 등)에서 WeChat 평면 AR 추적기가 상태 예외를 발생시킬 수 있습니다.
이때 평면 AR 추적기는 프레임별 카메라 포즈(즉 6DoF 데이터)를 정상적으로 출력할 수 없어 MegaTracker가 작동하지 않게 됩니다.
화면이 정상화되고(텍스처가 풍부해지고 카메라가 가려지지 않음) 일정 시간이 지나면 평면 AR 추적기가 작동을 재개하며, MegaTracker도 다시 작동합니다.
평면 감지 예외 시 동작 설정
setPlaneDetectionErrorBehavior(behavior)를 통해 예외 처리 콜백을 등록하세요. 예외가 감지되면 이 콜백이 트리거되어 개발자는 사용자 지정 안내 표시, 3D 콘텐츠 숨김 또는 기타 처리 로직을 구현할 수 있습니다.
session.setPlaneDetectionErrorBehavior(() => {
wx.showToast({
icon: 'none',
title: `Wechat 평면 감지 결과 예외, 추적 복구를 위해 카메라를 평면을 향해 움직여 주세요`,
duration: 2000,
});
});
이 예시는 세션의 setPlaneDetectionErrorBehavior(behavior) 인터페이스를 사용하여 Toast 창을 표시하는 콜백을 등록하며, 평면 감지 예외 시 트리거됩니다.