Mega Go 추적 대상 추가
本文介绍了如何添加和配置 Mega Go 的跟踪目标。
시작하기 전에
- 我的定位功能可以使用了吗? 를 확인하여 올바른 지도가 다운로드되었는지 확인하세요.
- 导入最新版本的 EasyAR 插件并启用 Mega Go 功能
- Unity AR 의 추적 대상 의 기본 개념과 사용 방법을 이해하세요.
참고
以下内容及工具仅适用于使用 EasyAR Mega Go 开发 Unity 应用的过程。需要插件版本 >= 4003.1。
Mega Go 는 소프트웨어 개발에 지원하지 않습니다.
本文内容需要工程中已经导入如下 Unity 包:
com.easyar.sense
Mega Go 의 추적 대상
Mega Go 의 추적 대상은 MegaGoBlockController 구성 요소가 포함된 빈 개체로, Unity 에서 block 을 나타냅니다.

참고
com.easyar.mega 包을 가져오지 않은 경우 block 의 편집기 기능을 사용할 수 없지만 런타임의 추적 효과와 기능에는 영향을 미치지 않습니다.
추적 대상 만들기
Hierarchy 보기에서 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 메뉴 EasyAR Sense > Mega > Target : Mega Go Block 을 통해 Mega 의 추적 대상을 만들 수 있습니다.

스크립트에서는 ARSessionFactory.CreateController 를 사용하여 만들 수 있습니다.
ARSessionFactory.CreateController<MegaGoBlockController>();
추적 대상 구성
target 을 사용하기 전에 데이터 원본과 추적기를 구성해야 합니다.
target 데이터 원본 구성
추적 대상은 원본이 올바르게 구성된 후에만 식별되고 추적될 수 있습니다.
Hierarchy 보기에서 block 노드를 선택한 다음 block 의 Path Type 및 Path 를 입력할 수 있습니다.

스크립트에서는 구성 요소 MonoBehaviour.Start() 전에 Source 를 수정하여 block 의 원본을 설정할 수 있습니다.
block.Source = new MegaGoBlockController.FileSourceData(PathType.Absolute, path);
여기서
- PathType 은 emg 파일 경로의 유형으로, 절대 경로(
Absolute) 또는 프로젝트의 StreamingAssets 경로(StreamingAssets)일 수 있습니다. - Path 는 emg 파일의 경로입니다. PathType 이
Absolute인 경우 파일 시스템의 절대 경로이며, PathType 이StreamingAssets인 경우 프로젝트의 StreamingAssets 폴더 아래의 상대 경로입니다.
팁
emg 파일이 클 수 있으므로 앱 패키지 크기가 너무 큰 경우 테스트 단계에서만 StreamingAssets 경로를 사용하고 공식 릴리스 시 절대 경로를 사용하고 리소스 패키지 또는 기타 방법을 통해 emg 파일을 앱이 액세스할 수 있는 파일 시스템 경로에 배치하는 것이 좋습니다.
target 에서 사용할 추적기 구성
추적 대상은 구성된 추적기에 의해 로드되고 추적됩니다.
중요
Mega Go 의 추적기는 한 번에 하나의 block 만 추적할 수 있습니다. 여러 block 이 동일한 추적기에 구성된 경우 마지막으로 로드된 block 만 사용됩니다.
Hierarchy 보기에서 block 노드를 선택한 다음 세션의 Mega Go Tracker 를 선택할 수 있습니다.
![]()
스크립트에서는 Tracker 를 수정하여 block 의 추적기를 설정할 수 있습니다.
block.Tracker = megaGoTracker;
Tracker 는 런타임에 언제든지 수정할 수 있으며, 로드/언로드는 세션이 실행되는 동안 발생합니다. Tracker 를 null 로 설정하면 이 target 은 이전에 설정된 추적기에서 언로드됩니다.
참고
target 이 추적되기 위해서는 다음과 같은 몇 가지 중요한 조건이 있습니다.
- 해당 Source 에 해당하는 block 이 사용 가능한 상태여야 합니다(공식 데이터는 항상 오프라인으로 사용 가능하며, 테스트 데이터는 서비스에 해당 데이터가 있는 경우에만 사용 가능합니다).
- MegaGoBlockController.Source 의 파일이 올바르게 로드되어야 합니다.
- 파일이 로드된 후 다른 block 에 해당하는 파일이 로드되지 않아야 합니다.
추적 대상의 수명 주기
일반적인 추적 대상 수명 주기는 다음과 같습니다.
flowchart LR
sstart((session 启动))
sstop([session 停止])
start("Target.Start")
load("加载")
tracking[["持续跟踪"]]
sstart --> load --> tracking --> sstop
start -. "Target.Tracker = tracker" .-> load
프로세스는 크게 다음과 같은 단계로 나뉩니다.
- 로드: 추적 대상이 구성된 추적기에 의해 로드됩니다. 이는 target 자체의 Start() 및 세션이 시작된 후에 발생합니다.
- 추적 프로세스: 추적 대상이 위치가 확인된 후 추적기는 대상이 언로드되거나 다른 대상이 로드될 때까지 대상의 위치와 상태를 지속적으로 추적합니다.
- 언로드: 추적 대상이 추적기에서 언로드되며 추적기는 더 이상 대상을 추적하지 않습니다. 이는 세션이 중지되거나 target 이 추적기를 사용하지 않도록 설정된 후에 발생합니다.
