Table of Contents

WeChat Mini Program Mega plugin known issue 및 제한

이 문서는 Mega Mini Program plugin 사용 중의 known issue와 제한을 설명합니다.

WeChat known issue

현재 WeChat xr-frame 또는 VisionKit에서 확인된 결함입니다. 발생 시 AR 기능이 실패하므로 development 중 관련 trigger scenario에 유의하십시오.

WeChat plane detection exception

특정 상황, 예를 들어 화면에 넓은 흰 벽이 나타나거나 카메라가 장시간 가려지는 경우, WeChat이 제공하는 plane detection이 abnormal state가 될 수 있습니다. 이 state에서는 MegaTracker가 정상적으로 동작할 수 없습니다.

처리 방법은 Plane AR tracker exception handling을 참조하십시오.

Session initialization 시간이 김

AR Session은 WeChat plane detection initialization이 완료된 후에야 initialization을 완료할 수 있습니다. 경우에 따라 WeChat plane detection initialization 시간이 길어질 수 있습니다.

AR Session이 xr-frame ARTracker initialization 완료를 기다려야 하는 이유는 MegaTracker가 xr-frame에서 작동하는 방식을 참조하십시오.

<xr-ar-tracker id="xrARTracker" mode="Plane" bind:ar-tracker-state="handleARTrackerState"></xr-ar-tracker>
handleARTrackerState({detail}) {
    if (detail.value.state == xrFrameSystem.EARTrackerState.Detected) {
        console.log('Plane is now detected by XR-Frame ARTracker.');
    }
}

node의 worldPosition은 현재 frame에서 즉시 업데이트되지 않음

이 예에서 trs.worldPosition은 제때 업데이트되지 않습니다.

public onTick(delta, data) {
    const trs = this.el.getComponent(xrFrameSystem.Transform);
    // 업데이트 전 이 노드의 WorldPosition
    console.log(`World Position before update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // 업데이트 전 이 노드의 LocalPosition
    console.log(`Local Position before update: ${trs.Position.x}, ${trs.Position.y}, ${trs.Position.z}`);
    trs.position.x += 0.1;
    trs.position.y += 0.1;
    trs.position.z += 0.1;
    // 이 노드의 WorldPosition은 업데이트되지 않았습니다
    console.log(`World Position after update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // 이 노드의 LocalPosition이 업데이트되었습니다
    console.log(`Local Position after update: ${trs.Position.x}, ${trs.Position.y}, ${trs.Position.z}`);
}

Development 중에는 항상 LocalTransform, 즉 el.getComponent(xrFrameSystem.Transform).positionel.getComponent(xrFrameSystem.Transform).rotation을 사용하는 것이 좋습니다.

화면 방향 전환 exception

WeChat Mini Program global configuration app.jsonwindow에 "auto"를 입력한 경우,

device가 landscape mode로 Mini Program을 떠난 후 portrait mode로 다시 들어오면 AR 화면이 abnormal해질 수 있습니다.

따라서 AR Mini Program application에서는 언제든지 "auto"를 사용하지 마십시오.

사용 제한

기능 실행을 위한 필수 요구사항입니다. 충족하지 않으면 기능을 사용할 수 없지만 configuration 또는 environment 조정을 통해 피할 수 있습니다.

기기 제한

Mega Mini Program plugin을 실행하는 device는 최소한 WeChat VisionKit V1 plane interface를 지원해야 합니다. 이상적인 효과를 얻으려면 WeChat VisionKit V2 plane interface를 지원하는 device 사용을 권장합니다.

  • 지원 device 목록: V2 plane AR interface support list를 참조하십시오.

  • 빠른 판단 방법:

    1. WeChat Mini Program 공식 Sample QR code를 scan합니다. Official WeChat Mini Program Sample QR code
    2. Mini Program에 들어간 후 Interface > VisionKit visual capability > Horizontal plane AR-v2로 이동하면 현재 device 지원 여부를 빠르게 판단할 수 있습니다.

VisionKit을 지원하지 않는 device에서 Mega service를 사용해야 하는 경우, navigation scene best practices를 참고하고 거의 모든 device를 지원하는 EasyAR Sense AR navigation product를 사용하십시오.

PlaneMode 필수 configuration

일부 WeChat interface 지원 제한으로 인해 planeMode는 반드시 1로 설정해야 합니다.

<xr-scene ar-system="modes:Plane; planeMode: 1" bind:ready="handleReady">

GPS 기능 제한

GPS를 통한 Block alignment는 아직 지원하지 않습니다.

GPS를 통한 annotation data placement는 아직 지원하지 않습니다.

관련 항목