Best practices para cenários de navegação
Em cenários de navegação, oferecer uma user experience fluida e precisa é essencial. O EasyAR Mega fornece vários modos xDoF para se adaptar a diferentes device capabilities e requisitos de environment. Entender as diferenças entre esses modos e escolher conforme as características da plataforma é fundamental para criar uma excelente aplicação de navegação.
Dica
Referência: Diferenças de experience em diferentes dispositivos.
Escolher o tracking mode correto
Com base em Mega localization, você pode escolher diferentes tracking modes de acordo com as sensor capabilities fornecidas pelo dispositivo e os requisitos da aplicação para melhorar a navigation experience.
Para phones com ARKit ou ARCore, basta usar o default 6DoF tracking mode. Combinado com Mega spatial localization, ele permite continuous route navigation estável e fluida, oferecendo a melhor user navigation experience.
No entanto, para modelos intermediários e de entrada em que o suporte a ARKit ou ARCore não é claro, ou para a base de usuários mais ampla, escolher o modo xDoF adequado é essencial. Diferentes modos de trabalho xDoF afetam diretamente o tracking effect no terminal device.
Para esses modelos, você precisa testar e escolher os modos de trabalho na seguinte ordem de prioridade:
Inertial navigation / modo 5DoF
- Descrição: Usa os sensors do dispositivo e o algoritmo de inertial navigation integrado do EasyAR para implementar 5DoF tracking, oferecendo continuous route navigation estável e fluida em certa medida.
- Behavior: Quando o usuário caminha, virtual route indicators, como setas no ground, permanecem presos de forma estável ao ground. Mesmo que o usuário balance brevemente o dispositivo ou mude de direção, o indicator não terá grandes saltos. Mas se houver subida ou descida em altura, como subir ou descer escadas, o virtual content deixará de ficar aderido e passará a flutuar no ar ou aparecer abaixo do ground.
- Requirements: O dispositivo precisa ter gyroscope e accelerometer de alta qualidade.
- Applicable scenarios: A maioria dos cenários de navegação indoor e outdoor, como fallback preferencial quando 6DoF não estiver disponível.
Modo 3DoF
- Descrição: Quando o dispositivo não tem accelerometer mas tem gyroscope, pode fazer fallback para o modo 3DoF.
- Behavior: No modo 3DoF, o navigation indicator gira conforme a orientation do dispositivo (pitch, yaw, roll), mas quando o usuário translate (avança, recua ou se desloca lateralmente), a position no espaço do indicator não é atualizada. Ele sempre aponta para a direção correta como uma compass, mas não se move no map junto com os passos do usuário.
- Requirements: O dispositivo precisa ter pelo menos um gyroscope.
- Applicable scenarios: Fallback quando nem 5DoF está disponível. Pode ser usado para direction guidance simples, mas não é adequado para navegação complexa que exige precise route following.
Modo 0DoF
- Descrição: Este é o modo mais básico, aplicável a quase todos os dispositivos, mas também com a user experience mais limitada.
- Behavior: No modo 0DoF, o dispositivo não consegue perceber nenhum movement ou rotation de si mesmo. O navigation indicator fica fixo em uma posição da screen, por exemplo uma seta no centro da screen, e indica apenas a relative direction do target, por exemplo o target à sua frente à esquerda.
- Requirements: Sem requisitos especiais de sensors.
- Applicable scenarios: Fallback final, ou para funções simples de "encontrar direção", semelhante a uma compass na navegação tradicional.
Resumo de comparação de experience:
| Tracking mode | Behavior quando o usuário se move | User experience | Recomendação |
|---|---|---|---|
| 6DoF | A virtual route segue de forma estável todos os movimentos do usuário no real space | Melhor, imersiva e precisa | ⭐⭐⭐⭐⭐ |
| 5DoF (inertial navigation) | A virtual route segue de forma estável o movimento do usuário, mas falha quando a altura muda | Segunda melhor, fallback preferencial quando 6DoF falha | ⭐⭐⭐⭐ |
| 3DoF | O route indicator gira com a orientation do dispositivo, mas não segue o movimento do usuário | Média, pode indicar direção, mas falta sensação de spatial following | ⭐⭐⭐ |
| 0DoF | O indicator fica fixo na screen e mostra apenas a direção do target | Básica, fornece apenas informação de direção | ⭐ |
Observações especiais para a plataforma WeChat Mini Program
Importante: o Mega WeChat MiniProgram Plugin na plataforma WeChat Mini Program ainda não lançou suporte completo aos recursos 5DoF (inertial navigation), 3DoF e 0DoF.
No WeChat Mini Program, a etapa atual oferece suporte principalmente à navigation experience no modo 6DoF.
- Current behavior: Depois que o usuário inicia a navegação baseada em Mega em um Mini Program, se o running device em si não suportar o modo 6DoF,
ARSessionnão conseguirá iniciar e reportará um erro no terminal. - Development recommendation: Ao planejar recursos de navegação no WeChat Mini Program, projete com o modo 6DoF como premissa. Consulte a documentação oficial do WeChat para a lista de device support, ou verifique se o dispositivo é suportado por meio da nossa API call.
const easyarPlugin: easyar.EasyARWechatMiniprogramPlugin = requirePlugin("easyar-wechat-miniprogram") as easyar.EasyARWechatMiniprogramPlugin;
if (easyarPlugin.isMegaTrackerSupported() === false) {
const message = `当前设备不支持 VK v1 和 v2,请参考微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/plane.html`;
wx.showModal({
title: "设备不支持",
content: message,
showCancel: false,
});
console.error(message);
}
Solução alternativa para a plataforma WeChat Mini Program
Para desenvolvedores que precisam criar aplicações de navegação com complete device support no WeChat Mini Program, recomendamos fortemente usar diretamente nosso produto SightPlus AR Navigation.
Esse produto de navegação é uma solução otimizada especificamente para o ecossistema Mini Program e possui as seguintes vantagens:
- Ready to use: Não exige integração complexa do Mega SDK; pode ser integrado rapidamente por API calls simples.
- Broad compatibility: Amplamente compatível com vários terminal devices, suportando quase todos os dispositivos de 0DoF a 6DoF.
- Complete features: Suporta recursos avançados de navegação, como route planning completo, yaw correction, turn prompts e digital human guidance.
- Ferramentas de suporte completas: Fornece backends e tools completos para information management, road network deployment, POI adjustment, route calculation services e mais.
- Experience optimization: Profundamente otimizado para características de performance e interaction do WeChat Mini Program, garantindo uma user experience fluida.
Como começar?
Visite a página oficial de AR Navigation para aprender como integrar e usar rapidamente nosso produto de navegação para criar sua aplicação Mini Program.
Resumo de best practices
- Ao desenvolver Apps em dispositivos Android/iOS ou em headset devices que suportam 6DoF, priorize o modo Mega + 6DoF para obter a melhor navigation experience. Conforme o actual running device, faça fallback para 5DoF, 3DoF e 0DoF para maximizar a broad device compatibility.
- Na plataforma WeChat Mini Program, a etapa atual suporta apenas execução em dispositivos no modo 6DoF, ou integração direta com SightPlus AR Navigation para obter complete device support e product features ricas.