Table of Contents

Hmd 확장 패키지 템플릿 소개

com.easyar.sense.ext.hmdtemplate 패키지는 hmd 확장 개발을 위한 샘플 및 템플릿을 제공합니다. 이는 SDK 구현체이며 애플리케이션 개발자를 위한 샘플을 포함합니다.

템플릿 내용

이 패키지의 구조는 Unity 권장 파일 레이아웃을 따릅니다:

.
├── CHANGELOG.md
├── Documentation~
├── Editor
├── LICENSE.md
├── package.json
├── Runtime
└── Samples~
    └── Combination_BasedOn_HMD

주요 내용은 다음과 같습니다:

  • Runtime: 런타임 플랫폼 에셋 폴더. 템플릿에서 가장 중요한 폴더입니다.
  • Samples~: 패키지 내 모든 샘플이 포함된 폴더. 다운스트림에서 사용할 수 있는 샘플로 확장 테스트용 데모 역할을 합니다. 로컬 개발 시 폴더명을 Samples로 변경해야 합니다. Client.Pack 메서드는 새 릴리즈 패키징 시 자동으로 Samples~로 이름을 변경합니다.
  • Editor: 에디터 플랫폼 에셋 폴더. 이 폴더의 스크립트는 주로 메뉴 아이템 생성에 사용됩니다.
  • package.json: 패키지 매니페스트 파일.

템플릿 샘플 생성 과정

  1. AR 세션 추가

    Hierarchy 뷰에서:

    • 빈 공간 우클릭 → EasyAR Sense > Mega > AR Session (Mega Block Default Preset)으로 ARSession 추가.
    • AR Session (EasyAR) 선택 후 우클릭 → EasyAR Sense > Image Tracking > Frame Filter : Image TrackerImageTrackerFrameFilter를 세션에 추가.
    • AR Session (EasyAR) 선택 후 우클릭 → EasyAR Sense > SpatialMap > Frame Filter : Dense SpatialMap BuilderDenseSpatialMapBuilderFrameFilter를 세션에 추가.
    • AR Session (EasyAR) 선택 후 우클릭 → EasyAR Sense > SpatialMap > Frame Filter : Sparse SpatialMap BuilderSparseSpatialMapBuilderFrameFilter를 세션에 추가.
    • AR Session (EasyAR) 선택 후 우클릭 → EasyAR Sense > Extensions > Frame Source : HMD Template (keep it only)로 HMD Template FrameSource 하나만 추가 및 유지.

    대체 텍스트

  2. ImageTargetController 추가

    Hierarchy 뷰에서 빈 공간 우클릭 → EasyAR Sense > Image Tracking > Target : Image TargetImageTargetController를 세션에 추가.

    ImageTargetController 구성:

    대체 텍스트

    구성 완료 후 Scene 뷰에 표시되는 이미지는 gizmo입니다. 이 샘플에서는 동일한 이미지를 표시하는 quad가 가상 오브젝트로 사용됩니다.

    타겟 위에 표시할 가상 오브젝트 추가:

    대체 텍스트

  3. 모션 트래킹 원점 참조용 모델 추가

    이 모델은 디바이스 모션 트래킹과 EasyAR 알고리즘의 디커플링에 중요하며 개발자와 다운스트림 사용자 모두에게 유용합니다.

    대체 텍스트

  4. 기능 선택 UI 추가

    대체 텍스트

  5. 시작 시 EasyAR 기능 비활성화 및 UI 토글로 제어

    예를 들어 이미지 트래킹 기능은 해당 컴포넌트의 enable을 false로 설정하여 시작 시 비활성화할 수 있습니다:

    대체 텍스트

    이후 UI 토글 핸들러 추가:

    대체 텍스트

관련 주제