Mega Go 추적 target 추가
이 문서에서는 Mega Go 추적 target을 추가하고 구성하는 방법을 설명합니다.
시작하기 전에
- 내 localization 기능을 사용할 수 있습니까?를 확인하여 올바른 map이 다운로드되었는지 확인합니다.
- 최신 버전의 EasyAR plugin을 가져오고 Mega Go 기능 활성화
- Unity AR 추적 target의 기본 개념과 사용 방법을 이해합니다
참고
다음 내용과 tools는 EasyAR Mega Go로 Unity 애플리케이션을 개발하는 과정에만 적용됩니다. plugin 버전 >= 4003.1이 필요합니다.
Mega Go는 mini program 개발을 지원하지 않습니다.
이 문서의 내용은 프로젝트에 다음 Unity 패키지가 이미 가져와져 있어야 합니다.
com.easyar.sense
Mega Go 추적 target
Mega Go 추적 target은 MegaGoBlockController 컴포넌트를 포함하는 empty object이며, Unity에서 하나의 block을 나타냅니다.

참고
com.easyar.mega 패키지를 가져오지 않은 경우 block의 editor 기능은 사용할 수 없지만, runtime의 추적 효과와 기능에는 영향을 주지 않습니다.
추적 target 만들기
Hierarchy 보기의 빈 영역에서 오른쪽 클릭한 뒤 EasyAR Sense > Mega > Target : Mega Go Block 메뉴를 통해 Mega 추적 target을 만들 수 있습니다.

script에서는 ARSessionFactory.CreateController를 사용하여 만들 수 있습니다.
ARSessionFactory.CreateController<MegaGoBlockController>();
추적 target 구성
target을 사용하기 전에 데이터 소스와 tracker를 구성해야 합니다.
target 데이터 소스 구성
추적 target은 소스가 올바르게 구성된 후에만 인식되고 추적될 수 있습니다.
Hierarchy 보기에서 block 노드를 선택한 뒤 block의 Path Type과 Path를 입력합니다.

script에서는 컴포넌트의 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 경로를 사용하는 것이 좋습니다. 공식 릴리스 시에는 절대 경로를 사용하고 resource package 또는 다른 방법으로 애플리케이션이 접근 가능한 파일 시스템 경로에 emg 파일을 배치하십시오.
target이 사용하는 tracker 구성
추적 target은 구성된 tracker에 의해 로드되고 추적됩니다.
중요
Mega Go의 tracker는 동시에 하나의 block만 추적할 수 있습니다. 여러 block이 동시에 같은 tracker에 구성된 경우 마지막으로 로드된 block만 사용됩니다.
Hierarchy 보기에서 block 노드를 선택한 뒤 session의 Mega Go Tracker를 선택합니다.
![]()
script에서는 Tracker를 수정하여 block의 tracker를 설정할 수 있습니다.
block.Tracker = megaGoTracker;
Tracker는 runtime 중 언제든지 수정할 수 있으며, session 실행 중에 로드/언로드가 발생합니다. Tracker를 null로 설정하면 이 target은 이전에 설정된 tracker에서 언로드됩니다.
참고
target이 추적되기 위한 몇 가지 핵심 조건이 있습니다:
- Source에 해당하는 block은 사용 가능한 상태여야 합니다(정식 데이터는 항상 offline 사용 가능하며, 테스트 데이터는 service에 해당 데이터가 있을 때만 사용 가능).
- MegaGoBlockController.Source의 파일이 올바르게 로드되어야 합니다.
- 파일 로드 후 다른 block에 해당하는 파일이 로드되지 않아야 합니다.
추적 target의 생명주기
일반적인 추적 target의 생명주기는 다음과 같습니다:
flowchart LR
sstart((session 시작))
sstop([session 중지])
start("Target.Start")
load("로드")
tracking[["지속 추적"]]
sstart --> load --> tracking --> sstop
start -. "Target.Tracker = tracker" .-> load
프로세스는 대략 몇 단계로 나뉩니다:
- 로드: 추적 target은 구성된 tracker에 의해 로드됩니다. 이는 target 자신의 Start() 및 session 시작 이후에 발생합니다.
- 추적 과정: 추적 target이 localization된 후, tracker는 target이 언로드되거나 다른 target이 로드될 때까지 target의 위치와 상태를 지속적으로 추적합니다.
- 언로드: 추적 target은 tracker에서 언로드되고, tracker는 더 이상 target을 추적하지 않습니다. 이는 session이 중지되거나 target이 tracker를 사용하지 않도록 설정된 후에 발생합니다.
