Table of Contents

Лучшие практики для сценариев навигации

В сценариях навигации критически важно обеспечить плавный и точный user experience. EasyAR Mega предоставляет несколько режимов xDoF для адаптации к разным device capabilities и требованиям environment. Понимание различий между этими режимами и выбор с учетом особенностей платформы - ключ к созданию отличного навигационного приложения.

Правильно выбирайте tracking mode

На основе Mega localization можно выбирать разные tracking modes в соответствии с sensor capabilities устройства и требованиями приложения, чтобы улучшить navigation experience.

Для телефонов с ARKit или ARCore достаточно использовать default 6DoF tracking mode. В сочетании с Mega spatial localization это позволяет реализовать стабильную и плавную continuous route navigation и обеспечить лучший user navigation experience.

Однако для средних и бюджетных моделей, где поддержка ARKit или ARCore недостаточно ясна, или для максимально широкой пользовательской базы, выбор подходящего режима xDoF крайне важен. Разные рабочие режимы xDoF напрямую влияют на tracking effect на terminal device.

Для таких моделей нужно тестировать и выбирать рабочие режимы в следующем порядке приоритета:

  • Inertial navigation / режим 5DoF

    • Описание: Использует sensors устройства и встроенный в EasyAR алгоритм inertial navigation для реализации 5DoF tracking, в определенной степени обеспечивая стабильную и плавную continuous route navigation.
    • Поведение: Когда пользователь идет, virtual route indicators, например стрелки на ground, стабильно привязаны к ground. Даже если пользователь кратковременно потрясет устройство или изменит направление, indicator не будет сильно прыгать. Но при подъеме или спуске по высоте, например на лестнице, virtual content больше не будет прилегать к поверхности и начнет плавать в воздухе или окажется ниже ground.
    • Требования: Устройству нужны качественные gyroscope и accelerometer.
    • Подходящие сценарии: Большинство indoor и outdoor navigation scenarios, предпочтительный fallback при недоступности 6DoF.
  • Режим 3DoF

    • Описание: Когда у устройства нет accelerometer, но есть gyroscope, можно выполнить fallback в режим 3DoF.
    • Поведение: В режиме 3DoF navigation indicator вращается в соответствии с orientation устройства (pitch, yaw, roll), но когда пользователь перемещается поступательно (вперед, назад или в сторону), position в пространстве indicator не обновляется. Он всегда указывает правильное направление, как компас, но не перемещается по map вместе с шагами пользователя.
    • Требования: Устройству нужен как минимум gyroscope.
    • Подходящие сценарии: Fallback, когда даже 5DoF недоступен. Подходит для простого direction guidance, но не для сложной навигации, где требуется precise route following.
  • Режим 0DoF

    • Описание: Это самый базовый режим, который подходит почти для всех устройств, но user experience в нем наиболее ограничен.
    • Поведение: В режиме 0DoF устройство не может воспринимать свое движение или rotation. Navigation indicator фиксируется в определенной позиции на screen, например стрелка в центре screen, и показывает только relative direction цели, например цель находится спереди слева.
    • Требования: Нет специальных требований к sensors.
    • Подходящие сценарии: Финальный fallback или простая функция "найти направление", похожая на compass в традиционной навигации.

Сводное сравнение experience:

Tracking mode Поведение при движении пользователя User experience Рекомендация
6DoF Virtual route стабильно следует за всеми перемещениями пользователя в real space Лучший, сильная immersive составляющая и точность ⭐⭐⭐⭐⭐
5DoF (inertial navigation) Virtual route стабильно следует за движением пользователя, но перестает работать при изменении высоты Второй лучший, предпочтительный fallback при сбое 6DoF ⭐⭐⭐⭐
3DoF Route indicator вращается с orientation устройства, но не следует за движением пользователя Средний, может указывать направление, но не дает ощущения spatial following ⭐⭐⭐
0DoF Indicator закреплен на screen и показывает только направление цели Базовый, предоставляет только информацию о направлении

Особые примечания для платформы WeChat Mini Program

Важно: Mega WeChat MiniProgram Plugin на платформе WeChat Mini Program еще не полностью выпустил поддержку функций 5DoF (inertial navigation), 3DoF и 0DoF.

В WeChat Mini Program на текущем этапе в основном поддерживается navigation experience в режиме 6DoF.

  • Текущее поведение: После запуска навигации на основе Mega в Mini Program, если running device сам по себе не поддерживает режим 6DoF, ARSession не запустится и сообщит ошибку на terminal.
  • Рекомендация по разработке: При планировании навигации в WeChat Mini Program проектируйте исходя из режима 6DoF. Посмотрите официальную документацию WeChat для списка device support или проверьте поддержку устройства через наш 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);
}

Альтернативное решение для платформы WeChat Mini Program

Для разработчиков, которым нужно реализовать навигационное приложение с полной поддержкой устройств в WeChat Mini Program, мы настоятельно рекомендуем напрямую использовать наш продукт SightPlus AR Navigation.

Этот навигационный продукт специально оптимизирован для экосистемы Mini Program и имеет следующие преимущества:

  • Готово к использованию: Не требуется сложная интеграция Mega SDK. Можно быстро подключить продукт через простые API calls.
  • Широкая совместимость: Широко совместим с различными terminal devices и поддерживает почти все устройства от 0DoF до 6DoF.
  • Полные функции: Поддерживает расширенные функции навигации, включая полное route planning, yaw correction, turn prompts и digital human guidance.
  • Полный набор сопутствующих инструментов: Предоставляет полноценные backends и tools для information management, road network deployment, POI adjustment, route calculation services и т. д.
  • Оптимизированный experience: Глубоко оптимизирован под performance и interaction особенности WeChat Mini Program, чтобы обеспечить плавный user experience.

Как начать?
Посетите официальную страницу AR Navigation, чтобы узнать, как быстро интегрировать и использовать наш навигационный продукт для создания вашего Mini Program приложения.

Сводка лучших практик

  • При разработке App на Android/iOS устройствах или на headset devices с поддержкой 6DoF в первую очередь используйте режим Mega + 6DoF, чтобы получить лучший navigation experience. В зависимости от actual running device выполняйте fallback на 5DoF, 3DoF и 0DoF для максимальной широкой device compatibility.
  • На платформе WeChat Mini Program на текущем этапе поддерживается только запуск на устройствах в режиме 6DoF, либо можно напрямую интегрировать SightPlus AR Navigation, чтобы получить полную поддержку устройств и богатые функции продукта.