Problemas conhecidos e limitações do plugin Mega para WeChat Mini Program
Este artigo apresenta os problemas conhecidos e as limitações do plugin Mega Mini Program durante o uso.
Problemas conhecidos do WeChat
Defeitos atualmente confirmados no WeChat xr-frame ou VisionKit. Quando ocorrem, a função AR falha. Preste atenção aos cenários de acionamento relacionados durante o desenvolvimento.
Exceção de detecção de plano do WeChat
Em casos específicos, como quando aparece uma grande parede branca na imagem ou a câmera fica bloqueada por muito tempo, a detecção de plano fornecida pelo WeChat pode entrar em um estado anormal. Nesse estado, MegaTracker não consegue funcionar normalmente.
Para o método de tratamento, consulte Tratamento de exceção do Plane AR tracker.
Tempo de inicialização da Session longo
AR Session só pode concluir a inicialização depois que a inicialização da detecção de plano do WeChat é concluída. Em alguns casos, a inicialização da detecção de plano do WeChat leva muito tempo.
Para saber por que AR Session precisa esperar a conclusão da inicialização do xr-frame ARTracker, consulte Como MegaTracker funciona no xr-frame.
- Referência de status: Documentação de status do AR tracker do WeChat Mini Program.
- Exemplo de listener:
<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.');
}
}
O worldPosition do nó não é atualizado imediatamente no frame atual
Neste exemplo, trs.worldPosition não é atualizado a tempo:
public onTick(delta, data) {
const trs = this.el.getComponent(xrFrameSystem.Transform);
// WorldPosition deste no antes da atualizacao
console.log(`World Position before update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
// LocalPosition deste no antes da atualizacao
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 deste no nao foi atualizado
console.log(`World Position after update: ${trs.worldPosition.x}, ${trs.worldPosition.y}, ${trs.worldPosition.z}`);
// LocalPosition deste no foi atualizado
console.log(`Local Position after update: ${trs.Position.x}, ${trs.Position.y}, ${trs.Position.z}`);
}
Durante o desenvolvimento, recomenda-se sempre usar LocalTransform, isto é, el.getComponent(xrFrameSystem.Transform).position e el.getComponent(xrFrameSystem.Transform).rotation.
Exceção ao alternar orientação da tela
Se "auto" for preenchido em window na configuração global app.json do WeChat Mini Program,
depois que o dispositivo sair do Mini Program no modo paisagem e entrar novamente no modo retrato, a visualização AR pode ficar anormal.
Portanto, não use "auto" em aplicações AR Mini Program em nenhum momento.
Limitações de uso
Requisitos rígidos para o funcionamento do recurso. Quando não são atendidos, o recurso fica indisponível, mas isso pode ser evitado ajustando a configuração ou o ambiente.
Limitações de dispositivos
Os dispositivos que executam o plugin Mega Mini Program precisam suportar pelo menos a interface de plano WeChat VisionKit V1. Para obter melhores resultados, recomenda-se usar dispositivos que suportem a interface de plano WeChat VisionKit V2.
Lista de dispositivos suportados: consulte lista de suporte da interface AR de plano V2.
Método de verificação rápida:
- Escaneie o QR code oficial Sample do WeChat Mini Program.

- Depois de entrar no Mini Program, navegue para Interface > VisionKit visual capability > Horizontal plane AR-v2 para determinar rapidamente se o dispositivo atual é suportado.
- Escaneie o QR code oficial Sample do WeChat Mini Program.
Se precisar usar o serviço Mega em dispositivos que não suportam VisionKit, consulte melhores práticas para cena de navegação e use o EasyAR Sense AR navigation product, que suporta quase todos os dispositivos.
Configuração obrigatória de PlaneMode
Devido a limitações de 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 função GPS
Ainda não há suporte para alinhar Block por GPS.
Ainda não há suporte para posicionar dados de anotação por GPS.