Table of Contents

session 검증 도구 사용하기

이 문서는 editor에서 session 워크플로를 빠르게 검증하고 EIF 파일로 시뮬레이션 실행을 하는 데 session 검증 도구를 사용하는 방법을 설명합니다.

시작하기 전에

시뮬레이션은 EIF 파일을 입력으로 사용하므로, 시작하기 전에 먼저 EIF 파일을 녹화해야 합니다.

또한 다음 내용을 이해해야 합니다.

session 검증 도구

session 검증 도구는 Unity Editor에서 session 워크플로를 빠르게 검증하고 EIF 파일로 시뮬레이션 실행을 할 수 있도록 돕는 도구입니다.

기본적으로 AR Session (EasyAR) 오브젝트의 Inspector 창에서 session 검증 도구를 볼 수 있으며, 이는 DiagnosticsController editor의 일부입니다.

alt text

도구 오른쪽 위의 버튼을 클릭하면 도구를 별도 창으로 띄울 수 있어 보기와 조작이 편합니다. 창을 닫거나 버튼을 누르면 도구는 다시 Inspector 창에 표시됩니다.

alt text

도구가 실행될 때의 효과는 아래 영상과 같습니다.

이 영상은 Unity의 play 모드에서 녹화한 session 검증 도구 사용 효과를 보여줍니다. 영상 상단 왼쪽은 Hierarchy 뷰, 가운데는 Scene 뷰, 오른쪽은 Game 뷰이며, 영상 하단은 session 검증 도구입니다. Game 뷰의 내용은 실제 세계에서 사용자가 휴대폰으로 보는 내용과 같습니다.

도구의 왼쪽 위쪽에는 EIF 재생 진행 막대가 표시되어 있으며, 재생 진행에 따라 계속 변합니다. 도구의 왼쪽 아래에는 현재 session 상태가 표시됩니다. 도구의 오른쪽에는 session 컴포넌트와 사용 가능한 중심 모드가 표시됩니다.

장면에서는 동시에 동작하는 3개의 AR 기능을 볼 수 있습니다.

  • 모션 추적: frame player가 제공합니다. 파란 구체는 XR Origin이고, 파란 원뿔은 사용자 위치를 나타냅니다.
  • 밀집 공간 매핑: 시점이 이동함에 따라 반투명 메쉬 모델이 계속 생성되는 것을 볼 수 있습니다.
  • 밀집 공간 추적: 영상에서는 크리스마스 트리가 추적되고 있으며, 겹쳐진 가상 물체는 연한 파란색 point cloud입니다.

도구 시작

도구 상단의 버튼을 클릭하면 도구를 시작할 수 있습니다. 이 버튼의 동작은 Unity 툴바 버튼을 직접 누르는 것과 같습니다.

alt text

도구가 이미 시작된 경우 버튼은 로 바뀌며, 클릭하면 도구를 중지할 수 있습니다.

도구가 별도 창으로 표시될 때는 버튼 오른쪽의 선택 상자에서 도구가 사용할 session 오브젝트를 선택할 수 있습니다. 창이 초기화되어 session을 잃어버린 경우 여기에서 다시 선택할 수 있습니다.

EIF 재생 제어

도구의 EIF 재생 기능을 사용하려면 실행 전에 도구의 Frame Player 옵션을 선택해야 합니다. 그러면 도구가 session assemble 과정에서 frame source 선택을 대신 관리하며, AssembleOptions.FrameSource 값이 무엇이든 frame player 컴포넌트가 활성화됩니다.

alt text

따라서 실행 시 현재 session에서 사용하는 frame source가 도구에 의해 관리되고 있음을 알리는 팝업이 표시됩니다.

alt text

참고

도구는 Unity Editor에서의 assemble 과정에서만 frame source 선택을 관리하며, 패키징된 앱 실행 시에는 이 옵션이 아무 영향도 없습니다.

정상 실행 시 EIF 재생 제어는 도구 상단에 표시된 영역에 나타납니다.

alt text

다음 버튼으로 EIF 파일 재생을 제어할 수 있습니다.

  • : 재생, 일시 중지 또는 정지 상태에서 다시 재생
  • ▮▮: 일시 중지
  • : 정지
  • ▮◀: 5초 이전으로 이동(파일이 지원하는 경우)
  • ◀◀: 재생 속도 낮추기(파일이 지원하는 경우)
  • ▶▶: 재생 속도 높이기(파일이 지원하는 경우)
  • ▶▮: 5초 이후로 이동(파일이 지원하는 경우)
  • : 파일 열기
  • 진행 막대: 클릭하면 재생 위치를 이동할 수 있음(파일이 지원하는 경우)

재생하면서 장면 내용과 상호작용 로직을 조정할 수 있어, 컴퓨터에서 대부분의 개발 작업을 하면서 결과를 직관적으로 확인할 수 있습니다.

참고

새 데이터를 재생하거나 재생 위치를 이동할 때, 장면에 있던 기존 데이터는 지워지지 않습니다. AR 컴포넌트의 상태도 초기화되지 않으며, 카메라 데이터가 이전 프레임에서 새 데이터로 갑자기 바뀐 것처럼 동작합니다.

일부 기능에는 큰 영향이 없지만, 모션 추적에 의존하는 기능(예: 밀집 공간 매핑, Mega 등)에서는 기능 상태가 비정상적으로 변해 실행 결과에 영향을 줄 수 있습니다.

session 워크플로 제어

도구의 session 워크플로 제어 기능을 사용하려면 실행 전에 도구의 Session Workflow 옵션을 선택해야 하며, 이 옵션은 기본적으로 선택되어 있습니다.

alt text

정상 실행 시 session 워크플로 제어는 도구의 재생 제어 아래에 표시된 영역에 나타납니다.

alt text

전체 영역 상단에는 EasyARController.IsReadyARSession.State 두 상태 정보가 표시됩니다.

영역 하단에는 session 워크플로를 제어하는 다음 버튼이 있습니다.

  • Initialize: session 초기화; Project Settings에 설정된 license key를 사용하거나 직접 입력할 수 있음
  • Assemble: session을 조립만 하고 시작하지 않음
  • StartSession (Assembled): 이미 조립된 session 시작
  • StartSession: session을 조립하고 시작
  • StopSession: session 중지
  • StopSession (keep image): session을 중지하지만 이미지 배경은 유지
  • Deinitialize: session 초기화 해제
참고

이 제어 기능들은 ARSessionEasyARController의 관련 메서드를 직접 호출하므로, 이 버튼들로 session 상태 변화가 내용에 미치는 영향을 확인할 수 있습니다. 동시에 앱 스크립트에서도 비슷한 메서드를 호출하면, 앱 실행 흐름이 앱이 예상한 범위를 넘어설 수 있습니다.

session 컴포넌트 제어

도구의 session 컴포넌트 제어 기능을 사용하려면 실행 전에 도구의 Session Workflow 옵션을 선택해야 하며, 이 옵션은 기본적으로 선택되어 있습니다.

alt text

정상 실행 시 session 컴포넌트 제어는 창 너비에 따라 도구의 아래쪽 또는 오른쪽에 표시된 영역에 나타납니다.

alt text

이 영역에 표시되는 내용은 session 구성에 따라 다릅니다. 예를 들어 위 이미지의 session에는 이미지 추적, 밀집 공간 매핑, 밀집 공간 추적의 3가지 기능 컴포넌트가 포함되어 있으므로, 도구에는 이 3가지 기능의 제어 체크박스가 표시됩니다.

일반적으로 이 영역에는 session의 모든 사용 가능한 AR 기능 컴포넌트가 표시되며, 다음 컴포넌트의 활성화/비활성화(enabled)를 제어할 수 있습니다.

  • AR Session: session 자체의 활성화/비활성화 제어
  • Image Renderer: 실제 카메라 이미지 렌더링 활성화/비활성화 제어
  • Camera: 가상 카메라 활성화/비활성화 제어
  • Frame Source: frame source 활성화/비활성화 제어. frame player가 활성화되지 않았을 때만 제어할 수 있으며, frame player가 활성화되면 기능 제어는 EIF 재생 제어 부분으로 대체됨
  • Frame Filter: 개별 AR 기능 활성화/비활성화 제어
  • Frame Recorder: EIF 녹화 컴포넌트 활성화/비활성화 제어. frame player가 활성화되지 않았을 때만 보이며, frame player가 활성화되면 이 컴포넌트는 session에 조립되지 않음

또한 이 영역에는 session에서 사용할 수 있는 중심 모드와 session 보고서도 표시됩니다.

참고

도구에 표시되는 사용 가능한 중심 모드와 session 보고서는 editor에서 실행한 결과이며, 실제 장치에서는 다릅니다.

Mega 기능을 사용할 때는 도구에 Mega 기능 컴포넌트 제어가 표시됩니다.

관련 항목