Table of Contents

EasyAR 프로젝트의 AR Foundation scene 설정과 사용법

Unity에서 AR Foundation을 사용할 때는 AR Foundation의 디바이스 한계를 해결하기 위해 EasyAR에 의존해야 하는 경우가 많습니다. 아래 내용은 EasyAR scene에서 AR Foundation을 올바르게 설정하고 사용하는 방법, 그리고 디바이스 지원 상황에 따라 AR Foundation을 동적으로 활성화하는 방법을 소개합니다.

시작하기 전에

AR Foundation 컴포넌트 추가

EasyAR scene에 AR Foundation의 AR Session과 XR Origin을 추가합니다.

AR Session 추가

Hierarchy 보기의 곳에서 마우스 오른쪽 버튼을 클릭하고, 메뉴 XR > AR Session을 통해 Unity의 ARSession을 scene에 추가합니다.

alt text

참고

이 AR Session은 EasyAR의 AR Session과 다르며, 둘 다 scene에 동시에 존재해야 합니다.

XR Origin 추가

Hierarchy 보기의 곳에서 마우스 오른쪽 버튼을 클릭하고, 메뉴 XR > XR Origin (Mobile AR)을 통해 Unity의 XROrigin을 scene에 추가합니다.

alt text

참고

이 XR Origin은 EasyAR의 XR Origin과 기능이 겹치므로 EasyAR의 XR Origin이 아니라 Unity XR Origin을 사용해야 합니다.

scene에 이전부터 EasyAR의 XR Origin이 있었다면 보통 이름은 XR Origin (EasyAR)입니다. 그 아래의 child object를 새로 만든 XR Origin 아래로 이동한 뒤 XR Origin (EasyAR)를 삭제해야 합니다.

alt text

이때 새로 만든 XR Origin 아래에 XR Origin Child가 없다면 수동으로 추가해야 합니다.

Hierarchy 보기에서 XR Origin을 선택하고 마우스 오른쪽 버튼을 클릭한 뒤, 메뉴 EasyAR Sense > Origin > Origin : XR Origin Child를 통해 XR Origin Child를 XR Origin 아래에 추가합니다.

alt text

Camera 설정

scene에 이전부터 AR용 Camera가 있었다면 scene에 여분의 main camera가 나타나므로 원래 camera를 삭제해야 합니다.

alt text

그런 다음 XR Origin 아래의 Main Camera를 선택하고 Camera 설정의 설명에 따라 camera를 설정합니다.

마지막으로, AR Foundation이 추가된 완전한 EasyAR scene 구조는 아래와 비슷해야 합니다:

alt text

주의

ARCameraManager.currentConfiguration을 통해 AR Foundation 설정을 수정해야 하는 경우, 일부 휴대폰 자체(예: Mi 10)에 문제가 있어 설정 변경 후 이미지를 얻을 수 없고 EasyAR를 사용할 수 없게 될 수 있음을 주의해야 합니다(앱에는 이미지 배경이 있지만 EasyAR 기능은 아무 반응을 하지 않음). 따라서 일반적으로 수정을 권장하지 않으며, 수정해야 한다면 EasyAR를 사용할 수 없을 때의 fallback 방안을 준비해야 합니다.

디바이스 호환성과 AR Foundation 동적 활성화

EasyAR가 호환되는 디바이스는 AR Foundation보다 훨씬 많으므로, 앱이 필요할 때만 AR Foundation을 활성화하고 그 외 상황에서는 AR Foundation을 완전히 끄도록 설정해야 합니다.

frame source 컴포넌트 확인

일반적으로 EasyAR 메뉴로 생성한 session은 보통 ARCoreARFoundationFrameSourceARKitARFoundationFrameSource를 자동으로 추가합니다(일부 image tracking 등 SLAM 기능이 필요 없는 경우 제외).

alt text

중요

ARCoreARFoundationFrameSourceARKitARFoundationFrameSource는 AR Foundation을 지원하는 디바이스에서 AR Foundation 기능을 활성화하기 위해 EasyAR가 제공하는 frame source입니다. scene의 session에 이러한 frame source가 포함되어 있지 않다면 AR Foundation 기능을 활성화할 수 없습니다.

scene의 session에 이러한 frame source가 없다면 메뉴를 통해 수동으로 추가할 수 있습니다.

alt text

AR Foundation을 지원하지 않는 휴대폰에서 실행하려면 session에 AR Foundation 외의 frame source도 포함되어 있는지 확인해야 합니다. 일반적인 ARSession은 아래와 비슷해야 합니다,

alt text

실제 필요에 따라 frame source를 정렬할 수 있습니다. 앱 runtime에서 session은 디바이스 지원 상황에 따라 transform 순서대로 첫 번째 사용 가능한 frame source를 선택합니다.

필요할 때만 AR Foundation 활성화

AR Foundation의 휴대폰 하위 구현은 ARCore와 ARKit이므로 제한된 디바이스에서만 사용할 수 있으며, 특히 많은 중국 내수 Android 휴대폰에서는 사용할 수 없습니다. 따라서 보통 지원되는 디바이스에서만 AR Foundation과 관련 기능 script를 활성화하는 것을 권장합니다.

EasyAR는 이러한 작업을 자동으로 완료할 수 있습니다. 이 기능은 Project Settings > EasyAR > SenseUnity XR > Unity XR Auto Switch option을 통해 활성화하거나 비활성화할 수 있습니다. 자세한 설명은 Unity XR object 자동 전환을 참고하세요.

AR Foundation 호환성을 유지하는 scene

AR Foundation 컴포넌트를 올바르게 추가한 scene은 AR Foundation package 설치 여부와 관계없이 모두 정상적으로 동작할 수 있습니다.

AR Foundation이 설치되지 않은 경우 AR Foundation 기능과 대응하는 frame source는 사용할 수 없고, scene의 일부 script가 missing 상태가 되지만 이는 정상입니다.

alt text alt text

많은 sample은 AR Foundation package 설치 여부와 관계없이 정상적으로 동작할 수 있습니다. 이러한 sample에서 AR Foundation 지원을 활성화해야 한다면 EasyAR 프로젝트에서 AR Foundation 활성화만 하면 됩니다.

다음 단계

관련 주제

  • 문서에서 언급한 관련 AR 컴포넌트:
  • AR Foundation은 일부 디바이스에서 motion tracking 능력을 제공합니다. motion tracking과 각 EasyAR 기능의 관계는 다음 내용을 참고할 수 있습니다:
  • AR Foundation scene 설정에 대한 더 많은 정보는 AR Foundation 공식 문서를 읽을 수 있으며, 읽기 전에 해당 문서 버전을 선택해야 합니다: