Table of Contents

Problemas conhecidos e limitações do plug-in wechat mini program mega

Este artigo apresenta problemas conhecidos e limitações ao usar o plug-in Mega para mini programas.

Problemas conhecidos do wechat

Defeitos atuais confirmados no xr-frame ou VisionKit do WeChat. Quando ocorrem, causam falha na funcionalidade AR. Por favor, esteja atento aos cenários de gatilho durante o desenvolvimento.

Detecção de plano anormal do wechat

Em circunstâncias específicas (como grandes paredes brancas na imagem, câmera obstruída por longos períodos, etc.), a detecção de planos fornecida pelo WeChat pode apresentar estado anormal. Neste estado, o MegaTracker não funciona normalmente.

Manejo de referência Tratamento de anomalias do rastreador AR planar.

Tempo de inicialização da session longo

A AR Session precisa aguardar a conclusão da inicialização da detecção de planos do WeChat para finalizar sua inicialização. Em alguns casos, a inicialização da detecção de planos do WeChat leva mais tempo.

Para entender por que a AR Session precisa aguardar a inicialização do ARTracker do xr-frame, consulte Como o MegaTracker funciona no 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('Plano agora detectado pelo ARTracker do XR-Frame.');
    }
}

worldPosition do nó não é atualizado imediatamente no quadro atual

Neste exemplo, trs.worldPosition não é atualizado prontamente:

public onTick(delta, data) {
    const trs = this.el.getComponent(xrFrameSystem.Transform);
    // WorldPosition do nó antes da atualização
    console.log(`World Position antes da atualização: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // LocalPosition do nó antes da atualização
    console.log(`Local Position antes da atualização: ${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 do nó não atualizado
    console.log(`World Position após atualização: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
    // LocalPosition do nó atualizado
    console.log(`Local Position após atualização: ${trs.Position.x}, ${trs.Position.y}, ${trs.Position.z}`);
}

Durante o desenvolvimento, é recomendado usar sempre LocalTransform, ou seja, el.getComponent(xrFrameSystem.Transform).position e el.getComponent(xrFrameSystem.Transform).rotation.

Anomalia na alternância de orientação da tela

Se "auto" for inserido em window na configuração global app.json do mini programa wechat.

Se o dispositivo sair do mini programa no modo paisagem e retornar no modo retrato, ocorrerá anomalia na imagem AR.

Portanto, nunca use "auto" em aplicativos de mini programa AR.

Restrições de uso

Requisitos rígidos para a operação da funcionalidade. Não atendidos, a funcionalidade fica indisponível, mas pode ser evitada ajustando configurações ou ambiente.

Restrições de modelo de dispositivo

Dispositivos executando o plug-in Mega para mini programas precisam suportar pelo menos a interface de plano VisionKit V1 do wechat. Para resultados ideais, recomenda-se usar dispositivos compatíveis com a interface de plano VisionKit V2 do wechat.

  • Lista de modelos compatíveis: Consulte Lista de suporte para interface de plano AR V2.

  • Método rápido de verificação:

    1. Digitalize o código QR da amostra oficial do mini programa wechat. Código QR da amostra oficial do mini programa wechat
    2. Após entrar no mini programa, navegue até Interface > Capacidade visual VisionKit > AR de plano horizontal-v2 para verificar rapidamente se o dispositivo atual é compatível.

Se precisar usar serviços Mega em dispositivos não compatíveis com VisionKit, consulte Melhores práticas para cenários de navegação para usar o produto de navegação AR Vision+ compatível com quase todos os dispositivos.

Configuração forçada do PlaneMode

Devido a limitações no suporte de algumas interfaces do WeChat, planeMode deve ser definido como 1.

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

Limitações da funcionalidade GPS

Alinhamento de Block via GPS ainda não é suportado.

Posicionamento de dados de anotação via GPS ainda não é suportado.

Tópicos relacionados