Table of Contents

Navigation scenario best practices

navigation scenario 에서는 부드럽고 정확한 user experience 를 제공하는 것이 매우 중요합니다. EasyAR Mega 는 다양한 device capabilities 와 environment 요구 사항에 맞추기 위해 여러 xDoF mode 를 제공합니다. 이러한 mode 의 차이를 이해하고 platform 특성과 결합하여 선택하는 것이 우수한 navigation application 을 구축하는 핵심입니다.

올바른 tracking mode 선택

Mega localization 을 기반으로, device 가 제공하는 sensor capabilities 와 application 요구 사항에 따라 다른 tracking modes 를 선택하여 navigation experience 를 향상시킬 수 있습니다.

ARKit 또는 ARCore 를 갖춘 phone 의 경우 default 6DoF tracking mode 만 사용하면 됩니다. Mega spatial localization 과 결합하면 안정적이고 부드러운 continuous route navigation 을 구현하고 최상의 user navigation experience 를 제공할 수 있습니다.

하지만 ARKit 또는 ARCore 지원 여부가 명확하지 않거나 가장 폭넓은 user base 를 대상으로 하는 중저가 model 의 경우, 적절한 xDoF mode 를 선택하는 것이 매우 중요합니다. 서로 다른 xDoF working mode 는 terminal device 의 tracking effect 에 직접 영향을 줍니다.

이러한 model 에 대해서는 다음 우선순위에 따라 working mode 를 테스트하고 선택해야 합니다.

  • Inertial navigation / 5DoF mode

    • Description: device 의 sensors 와 EasyAR 내장 inertial navigation algorithm 을 사용하여 5DoF tracking 을 구현하고, 어느 정도 안정적이고 부드러운 continuous route navigation 을 제공합니다.
    • Behavior: user 가 걸을 때 ground 위 arrow 같은 virtual route indicators 는 ground 에 안정적으로 붙어 있습니다. user 가 잠시 device 를 흔들거나 방향을 바꾸더라도 indicator 는 크게 튀지 않습니다. 하지만 계단을 오르내리는 것처럼 height 방향의 상승 또는 하강이 있으면 virtual content 는 더 이상 맞물리지 않고 공중에 떠 있거나 ground 아래에 위치합니다.
    • Requirements: device 는 고품질 gyroscope 와 accelerometer 를 갖춰야 합니다.
    • Applicable scenarios: 대부분의 indoor 및 outdoor navigation scenarios, 6DoF 를 사용할 수 없을 때 첫 번째 fallback.
  • 3DoF mode

    • Description: device 에 accelerometer 는 없지만 gyroscope 가 있는 경우 3DoF mode 로 fallback 할 수 있습니다.
    • Behavior: 3DoF mode 에서는 navigation indicator 가 device orientation(pitch, yaw, roll)에 따라 회전하지만, user 가 translate(전진, 후퇴, 측면 이동)할 때 indicator 의 space 내 position 은 업데이트되지 않습니다. compass 처럼 항상 올바른 방향을 가리키지만 user 의 발걸음을 따라 map 위에서 이동하지 않습니다.
    • Requirements: device 에 최소한 gyroscope 가 필요합니다.
    • Applicable scenarios: 5DoF 도 사용할 수 없을 때의 fallback. 단순한 direction guidance 에 사용할 수 있지만 precise route following 이 필요한 복잡한 navigation 에는 적합하지 않습니다.
  • 0DoF mode

    • Description: 가장 기본적인 mode 로 거의 모든 device 에 적용할 수 있지만 user experience 도 가장 제한적입니다.
    • Behavior: 0DoF mode 에서는 device 가 자신의 movement 또는 rotation 을 감지할 수 없습니다. navigation indicator 는 screen 의 특정 위치, 예를 들어 screen 중앙의 arrow 에 고정되며 target 의 relative direction 만 표시합니다. 예를 들어 target 이 왼쪽 앞에 있음을 표시합니다.
    • Requirements: 특별한 sensor requirement 는 없습니다.
    • Applicable scenarios: 최종 fallback 또는 기존 navigation 의 compass 와 유사한 간단한 "find direction" 기능.

Experience 비교 요약:

Tracking mode user 이동 시 behavior User experience Recommendation
6DoF virtual route 가 real space 에서 user 의 다양한 movement 를 안정적으로 따라갑니다 최상, immersion 이 강하고 정확함 ⭐⭐⭐⭐⭐
5DoF (inertial navigation) virtual route 가 user movement 를 안정적으로 따라가지만 height 변화 시 실패합니다 차선, 6DoF 실패 시 첫 번째 fallback ⭐⭐⭐⭐
3DoF route indicator 가 device orientation 에 따라 회전하지만 user movement 는 따라가지 않습니다 보통, 방향은 표시할 수 있지만 spatial following 느낌이 부족함 ⭐⭐⭐
0DoF indicator 가 screen 에 고정되고 target 방향만 표시합니다 기본, 방향 정보만 제공

WeChat Mini Program platform 특별 설명

중요: WeChat Mini Program platform 의 Mega WeChat MiniProgram Plugin 은 5DoF (inertial navigation), 3DoF, 0DoF 기능 지원을 아직 완전히 출시하지 않았습니다.

WeChat Mini Program 에서는 현재 단계에서 주로 6DoF mode navigation experience 를 지원합니다.

  • Current behavior: user 가 Mini Program 에서 Mega 기반 navigation 을 시작한 후 running device 자체가 6DoF mode 를 지원하지 않으면 ARSession 이 시작되지 않고 terminal 에 오류가 보고됩니다.
  • Development recommendation: WeChat Mini Program 에서 navigation 기능을 계획할 때는 6DoF mode 를 전제로 설계하십시오. device support 목록은 WeChat official documentation을 확인하거나, 당사 API call 을 통해 device 지원 여부를 확인하십시오.
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 platform 대안

WeChat Mini Program 에서 complete device support 를 갖춘 navigation application 을 구현해야 하는 developer 에게는 당사의 SightPlus AR Navigation product 를 직접 사용할 것을 강력히 권장합니다.

이 navigation product 는 Mini Program ecosystem 에 특화되어 최적화된 solution 이며 다음 장점이 있습니다.

  • Ready to use: 복잡한 Mega SDK integration 없이 간단한 API calls 로 빠르게 접근할 수 있습니다.
  • Broad compatibility: 다양한 terminal devices 와 폭넓게 호환되며 0DoF 부터 6DoF 까지 거의 모든 device 를 지원합니다.
  • Complete features: 완전한 route planning, yaw correction, turn prompts, digital human guidance 등 고급 navigation 기능을 지원합니다.
  • 완비된 supporting tools: information management, road network deployment, POI adjustment, route calculation services 등 실용적인 backends 와 tools 를 완비했습니다.
  • Experience optimization: WeChat Mini Program 의 performance 및 interaction 특성에 맞춰 깊게 최적화하여 부드러운 user experience 를 보장합니다.

시작 방법
AR Navigation official page 를 방문하여 navigation product 를 빠르게 통합하고 사용해 Mini Program application 을 구축하는 방법을 확인하십시오.

Best practice 요약

  • Android/iOS device 에서 App 을 개발하거나 6DoF 를 지원하는 headset device 에서는 최상의 navigation experience 를 얻기 위해 Mega + 6DoF mode 를 우선 사용하십시오. actual running device 의 상황에 따라 5DoF, 3DoF, 0DoF 로 fallback 하여 broad device compatibility 를 최대화합니다.
  • WeChat Mini Program platform 에서는 현재 단계에서 6DoF mode device 에서의 실행만 지원하거나, SightPlus AR Navigation 을 직접 연동하여 complete device support 와 풍부한 product features 를 구현할 수 있습니다.