EasyAR 프로젝트에서의 AR Foundation 씬 구성 및 사용법
Unity에서 AR Foundation을 사용할 때는 종종 EasyAR를 활용하여 AR Foundation의 장치 한계를 해결합니다. 다음 내용은 EasyAR 씬에서 AR Foundation을 올바르게 구성하고 사용하는 방법과 장치 지원 여부에 따라 AR Foundation을 동적으로 활성화하는 방법을 설명합니다.
시작하기 전에
- EasyAR의 Unity XR 프레임워크 지원을 읽어 EasyAR의 Unity XR 프레임워크 지원 현황과 AR Foundation 사용을 고려할 수 있는 상황을 이해합니다.
- EasyAR 프로젝트에서 AR Foundation 활성화를 읽어 EasyAR 프로젝트에서 AR Foundation을 설치하고 구성하는 방법을 알아봅니다.
AR Foundation 컴포넌트 추가
EasyAR 씬에 AR Foundation의 AR Session과 XR Origin을 추가합니다.
AR 세션 추가
Hierarchy 뷰에서 빈 공간을 마우스 오른쪽 버튼으로 클릭하고, 메뉴 XR > AR Session을 통해 Unity의 ARSession을 씬에 추가합니다.

참고
이 AR Session은 EasyAR의 AR Session과 다르며, 두 개가 씬에 동시에 존재해야 합니다.
XR Origin 추가
Hierarchy 뷰에서 빈 공간을 마우스 오른쪽 버튼으로 클릭하고, 메뉴 XR > XR Origin (Mobile AR)을 통해 Unity의 XROrigin을 씬에 추가합니다.

참고
이 XR Origin은 EasyAR의 XR Origin 기능과 중복되므로, EasyAR의 XR Origin 대신 Unity XR Origin을 사용해야 합니다.
씬에 기존 EasyAR의 XR Origin(일반적으로 XR Origin (EasyAR)라는 이름)이 있는 경우, 해당 하위 객체들을 새로 생성한 XR Origin 아래로 이동시킨 후 XR Origin (EasyAR)을 삭제합니다.

이때 새로 생성한 XR Origin 아래에 XR Origin Child가 없다면 수동으로 추가해야 합니다.
Hierarchy 뷰에서 XR Origin을 선택하고 마우스 오른쪽 버튼으로 클릭한 후, 메뉴 EasyAR Sense > Origin > Origin : XR Origin Child를 통해 XR Origin Child를 XR Origin 아래에 추가합니다.

카메라 구성
씬에 기존 AR용 Camera가 있었다면, 씬에 중복된 메인 카메라가 나타날 것입니다. 기존 카메라를 제거합니다.

그런 다음 XR Origin 아래의 Main Camera를 선택하고, 카메라 구성의 지침에 따라 카메라를 구성합니다.
최종적으로 AR Foundation이 추가된 완전한 EasyAR 씬 구조는 다음과 유사해야 합니다:
주의
ARCameraManager.currentConfiguration를 통해 AR Foundation의 구성을 수정해야 하는 경우, 일부 휴대폰(예: Xiaomi 10)에는 구성 변경 후 이미지를 가져올 수 없는 문제가 있어 EasyAR를 사용할 수 없게 됩니다(앱에 이미지 배경은 있지만 EasyAR 기능이 반응하지 않음). 따라서 일반적으로 수정을 권장하지 않으며, 수정이 필요한 경우 EasyAR를 사용할 수 없을 때를 대비한 대체 방안을 마련해야 합니다.
장치 호환성 및 AR Foundation 동적 활성화
EasyAR가 호환되는 장치는 AR Foundation보다 훨씬 많습니다. 따라서 앱이 필요한 경우에만 AR Foundation을 활성화하고, 그 외의 경우에는 AR Foundation을 완전히 비활성화하도록 구성해야 합니다.
프레임 소스 컴포넌트 확인
일반적으로 EasyAR 메뉴를 통해 생성된 세션은 자동으로 ARCoreARFoundationFrameSource 및 ARKitARFoundationFrameSource를 추가합니다(일부 이미지 추적 등 SLAM 기능이 필요하지 않은 경우 제외).

중요
ARCoreARFoundationFrameSource 및 ARKitARFoundationFrameSource는 AR Foundation을 지원하는 장치에서 AR Foundation 기능을 활성화하기 위해 EasyAR에서 제공하는 프레임 소스입니다. 씬의 세션에 이러한 프레임 소스가 포함되어 있지 않으면 AR Foundation 기능을 활성화할 수 없습니다.
씬의 세션에 이러한 프레임 소스가 포함되어 있지 않다면, 메뉴를 통해 수동으로 추가할 수 있습니다.

AR Foundation을 지원하지 않는 휴대폰에서 실행하려면, 세션에 AR Foundation 이외의 프레임 소스가 포함되어 있는지 확인해야 합니다. 일반적인 ARSession은 다음과 유사해야 합니다:

팁
실제 필요에 따라 프레임 소스의 순서를 정렬할 수 있습니다. 앱 실행 시 세션은 장치 지원 여부에 따라 transform 순서대로 첫 번째 사용 가능한 프레임 소스를 선택합니다.
필요한 경우에만 AR Foundation 활성화
AR Foundation은 휴대폰에서 ARCore 및 ARKit으로 구현되므로 제한된 장치에서만 사용할 수 있으며, 특히 많은 국내 Android 휴대폰에서는 사용할 수 없습니다. 따라서 일반적으로 지원되는 장치에서만 AR Foundation 및 관련 기능 스크립트를 활성화하는 것이 좋습니다.
EasyAR는 이러한 작업을 자동으로 수행할 수 있으며, 이 기능은 Project Settings > EasyAR > Sense의 Unity XR > Unity XR Auto Switch 옵션에서 활성화하거나 비활성화할 수 있습니다. 자세한 설명은 Unity XR 객체 자동 전환을 참조하십시오.
AR Foundation 호환성 유지 씬
AR Foundation 컴포넌트가 올바르게 추가된 씬은 AR Foundation 패키지가 설치되었는지 여부와 관계없이 정상적으로 작동합니다.
AR Foundation이 설치되지 않은 경우 AR Foundation 기능 및 해당 프레임 소스는 사용할 수 없으며, 씬에 일부 스크립트가 누락될 수 있습니다. 이는 정상적인 현상입니다.

팁
많은 샘플은 AR Foundation 패키지 설치 여부와 관계없이 작동합니다. 이러한 샘플에서 AR Foundation 지원을 활성화하려면 EasyAR 프로젝트에서 AR Foundation 활성화만 수행하면 됩니다.
다음 단계
- 장치 지원 여부에 따라 AR Foundation 자동 전환 방법을 알아봅니다.