Mega와 ARKit/ARCore 기능 비교
EasyAR Mega는 Apple의 ARKit 및 Google의 ARCore와 연관성을 가지면서도 차별점이 있습니다. 이들 간의 관계와 각각의 장점을 이해하는 것은 개발자가 Mega의 작동 방식을 숙지하는 데 중요합니다. 간단히 말해, Mega는 ARKit/ARCore의 모션 추적 능력을 최대한 활용하면서도 ARKit/ARCore가 충족시키지 못하는 대규모 공간 위치 인식 요구를 확장합니다.
핵심 관계
ARKit/ARCore (기반층):
- 이들은 기기 운영 체제(iOS/Android)가 제공하는 AR 개발 프레임워크입니다.
- 핵심 책임은: 기기 수준의 환경 인식 및 추적입니다. 예를 들어, 기기 카메라와 IMU를 활용한 동시적 위치 추정 및 맵핑(SLAM), 평면 감지, 조명 추정, 이미지/객체 인식 등이 있습니다.
- 이들은 상위 애플리케이션에 안정적이고 낮은 지연의 6DoF 포즈 데이터 스트림을 제공합니다.
EasyAR Mega (애플리케이션/플랫폼층):
- 이것은 초대규모 공간 컴퓨팅 플랫폼입니다.
- 핵심 책임은: 사전 구축된 고정밀 3차원 데이터와 결합하여, 고급 시각적 위치 인식 기술을 통해 도시 규모, 센티미터급의 지속적 위치 인식을 구현하는 것입니다. ARKit/ARCore가 제공하는 기저 6DoF 데이터를 활용하여 융합 모션 추적을 수행합니다.
- Mega는 ARKit/ARCore를 대체하지 않습니다. 오히려 물리적 세계에서 기기의 초기 모션 데이터를 얻기 위해 이들을 활용한 다음, Mega 맵과의 매칭을 통해 이 데이터를 통일되고 고정밀 좌표계에 "고정"시킵니다.
기능 비교 및 Mega의 장점
ARKit/ARCore 역시 ARWorldMap(ARKit), Cloud Anchors/Geospatial API(ARCore)와 같은 일정 수준의 공간 인식 및 위치 인식 능력을 제공합니다. 이러한 기능들은 Mega가 제공하는 초대규모 공간 위치 인식 능력과 일부 유사점이 있지만 근본적인 차이가 있습니다. 다음은 양자 간의 상세한 기술적 비교입니다.
| 기능 특성 | ARWorldMap | Cloud Anchors/Geospatial API | EasyAR Mega |
|---|---|---|---|
| 위치 인식 범위 | 주변 환경 스캔 및 위치 인식 가능 | 주변 환경 스캔 및 위치 인식 가능 | 도시 규모 공간 환경 스캔 및 위치 인식 가능 |
| 위치 인식 특성 | 환경 변화 대응 가능 | 환경 변화 대응 가능 | 환경 변화, 주야간 변화 대응 가능 |
| 맵 구축 | 기기 측에서 수집 및 구축, LAN을 통한 공유 | 기기 측에서 수집 및 구축, Google 클라우드 엔드포인트 호스팅을 통한 공유 | 전용 기기에서 수집 및 클라우드 구축, 클라우드 위치 인식 서비스를 통한 모든 기기 측의 공유 |
| 실-가상 오클루전 | LiDAR 스캔 Mesh를 통한 기하학적 오클루전 | Depth API를 통한 깊이 기반 오클루전 | LOD, 디테일이 풍부한 3D 모델 제공, 정밀 기하학적 오클루전 구현 |
| 크로스 디바이스 경험 | iOS 기기 간 공유 및 경험만 지원 | Google 클라우드 엔드포인트를 통한 Android 및 iOS 기기 간 공유 및 경험 | 통일된 클라우드 위치 인식 서비스를 통해 거의 모든 기기(Android, iOS, XR 헤드셋) 간 공유 및 경험 |
| 기술 의존성 | ARKit 지원 기기에서만 실행 가능, 일부 기능은 추가 하드웨어 또는 소프트웨어 요구사항 있음(LiDAR 등) | ARKit, ARCore 지원 기기에서 실행 가능 | 다양한 기기와 광범위하게 호환, 기기가 ARKit 또는 ARCore를 갖출 것을 강제하지 않음 |
ARKit/ARCore와 동시 사용
EasyAR Mega를 통합할 때, 일반적으로 ARKit 또는 ARCore의 인터페이스를 직접 호출할 필요가 없습니다. 이것은 매우 중요한 개념입니다:
- Mega 애플리케이션은 실행 중인 단말 기기에 따라 자동으로 사용 가능한 ARKit/ARCore의 6DoF 데이터 스트림을 획득합니다.
- 위치 인식 서비스 관리, 포즈 데이터 획득을 위해 통일된
MegaTrackerAPI만 사용하면 됩니다. 내부적으로 ARKit/ARCore의 원시 데이터를 융합 계산하여 최종적으로 통일되고 고정밀이며 지속적으로 추적되는 공간 위치 인식 결과를 제공합니다. - 이러한 설계는 개발 프로세스를 크게 단순화합니다. 다른 플랫폼을 위해 두 세트의 코드를 작성하고 유지 관리할 필요가 없으며, ARKit/ARCore의 복잡한 API를 깊이 이해할 필요도 없습니다. 애플리케이션 로직을 구축하기 위해 EasyAR Mega의 기능 사용에만 집중하면 됩니다.
팁
예외 상황: Mega 위치 인식을 사용하면서도 ARKit의 People Occlusion과 같은 ARKit/ARCore의 특정 기능을 추가로 활용하고 싶다면, 애플리케이션에서 네이티브 API를 혼합 호출해야 할 수 있습니다.
EasyAR Mega는 ARKit/ARCore와 경쟁하거나 이를 대체하기 위한 것이 아니라, 상호 보완 및 시너지를 이루기 위한 것입니다. ARKit/ARCore는 "기기가 환경 내에서 어떻게 움직이는가"라는 문제를 해결하는 반면, EasyAR Mega는 "모든 기기가 동일한 거대한 공간에서 정확히 위치를 인식하는 방법"이라는 문제를 해결합니다. 양자를 결합함으로써, 대규모 공간 공유 및 지속적 위치 인식 능력을 갖춘 전례 없는 증강 현실 애플리케이션을 구축할 수 있습니다.