Table of Contents

EasyAR 구성

EasyAR 구성 페이지는 Unity 메뉴 EasyAR > Sense > Configuration 또는 Edit > Project Settings > EasyAR에서 열 수 있습니다.

alt text

여기에는 EasyAR Sense Unity Plugin의 모든 전역 설정이 있습니다

alt text


Initialize On Startup

시작 시 EasyAR를 초기화합니다. 보통 이 옵션은 켜 두는 것이 좋습니다.

이 옵션을 끄면 EasyAR Sense를 수동으로 초기화해야 하며, 방법은 EasyAR Sense 초기화하기를 참고하세요.

EasyAR Sense License

EasyAR Sense License related configuration.

LicenseKey

EasyAR Sense License Key. A valid license is required to use EasyAR features.

It can be left empty only when EasyAR Sense is initialized manually through the interface.

참고

When used on headset devices (Vision Pro, XREAL, Pico, Rokid, Meta Quest, etc.), EasyAR XR License is required.

참고

사용자 지정 카메라 또는 헤드셋에서 평가판 제품(Personal Edition license, 평가판 XR license 또는 평가판 Mega 서비스 등)을 사용할 때 EasyAR Sense는 시작할 때마다 100초 후 응답을 중지합니다(Mega 사용자는 승인 후 EasyAR Business를 통해 시간을 조정할 수 있습니다). 유료 버전의 EasyAR Sense와 유료 EasyAR Mega 서비스에는 이 제한이 없습니다.

Verify When Build

Verify the license Key when building the Unity project.

When this option is enabled, the Unity project build process verifies the license Key. If the license is invalid on the build platform or does not include the package name set in Unity Player Settings, the build process will fail. If you need to use a license key configured elsewhere or need to modify the package name after the Unity build process, you can disable this option.

Lib Variants

EasyAR Sense 라이브러리 variant 설정입니다.

Only Android, iOS, and visionOS platforms can be selected. Windows and Mac platforms do not support selection and always use the Full variant.

EasyAR Sense usually has multiple variants, and different variants have different features. The library variants integrated in the plugin are compared below.

Variant EasyAR Sense variant name Feature differences Other notes
Normal Community/Enterprise Does not include screen recording, inertial navigation, or Mega Go
Full CommunityFull/EnterpriseFull Includes inertial navigation and Mega Go Larger library file size
VideoRecording CommunityR Includes screen recording feature (Android only)

Some variants that cannot be used in Unity are not listed, such as the iOS CommunityR variant.

기본값:

  • EasyAR Mega support package not imported: Normal
  • EasyAR Mega support package imported: Full

권장 구성:

  • Full: use EasyAR Mega or inertial navigation features
  • Normal: pursue the smallest package size and do not use EasyAR Mega or inertial navigation support
  • VideoRecording: need to use screen recording feature (Android only)

Permissions

애플리케이션 권한 설정입니다. 보통은 기본값을 유지하는 것이 좋습니다.

카메라 권한을 제외한 다른 권한은 변경할 수 없으며, 다른 기능 설정에 의해 결정됩니다.

Permission 변경 가능 활성 조건 권한 설명
Camera 카메라 장치 사용에 필요한 카메라 권한
AndroidMicrophone 아니오 Variant = VideoRecording 화면 녹화 기능 사용에 필요한 마이크 권한
Location 아니오 Mega 지원 패키지 가져오기 EasyAR Mega 사용에 필요한 위치(fine) 권한

Unity XR

Unity XR 프레임워크(예: AR Foundation) 관련 설정입니다.

AR Foundation Support

AR Foundation 지원 스위치입니다. 켜 두는 것을 권장합니다.

아주 드문 경우, 예를 들어 AR Foundation 4를 사용해야 하거나 AR Foundation 업데이트로 컴파일 오류가 발생하는 경우 이 옵션을 끌 수 있지만, 플러그인 내부의 AR Foundation 관련 기능은 모두 함께 비활성화됩니다.

참고

이 옵션을 변경하면 스크립트가 자동으로 다시 컴파일됩니다.

Unity XR Auto Switch

Unity XR 오브젝트(예: AR Foundation)를 자동으로 전환하는 기능 설정입니다.

  • Editor: editor mode 옵션
    • Disable AR Session: ARSession이 있으면 editor에서 AR Foundation의 ARSession을 비활성화합니다.
  • Player: 실행 mode 옵션
    • Enable: runtime 제어를 활성화합니다. 이 옵션을 끄면 editor mode에서 비활성화된 컴포넌트는 runtime에서 복원되지 않습니다.
    • Enable If Desktop: Windows/Mac에서 활성화합니다.
    • Enable If Mobile AR On Startup: switcher 시작 시 mobile AR(ARKit/ARCore) loader가 활성 상태이면 활성화합니다. 보통 이 옵션은 XR Plug-in Management의 Initialize XR on Startup이 선택되어 있어야 합니다.
    • Disable If Non Mobile AR Post Startup: switcher 시작 시 mobile AR(ARKit/ARCore) 이외의 loader가 존재하지만 활성인 것이 없으면 비활성화합니다. 보통 이 옵션은 XR Plug-in Management에서 Initialize XR on Startup이 선택되지 않았을 때 사용합니다.
    • Restore AR Session When Disabled: 기능이 비활성화될 때 EasyAR가 비활성화했는지와 상관없이 비활성화된 모든 AR Foundation ARSession을 복원(활성화)합니다. 이 옵션은 보통 editor에서 비활성화된 컴포넌트를 복원하는 데 사용합니다.

자세한 기능 설명은 Unity XR Auto Switch를 참고하세요.


Mega

EasyAR Mega 기능 설정입니다.

Mega Block/Landmark Support

Mega Block/Landmark 지원을 활성화할지 여부입니다.

이 옵션은 com.easyar.mega를 가져오면 기본적으로 켜지고, 가져오지 않으면 기본적으로 꺼집니다.

Mega Go Support

버전 >= 4003.1

Mega Go 온디바이스 localization 지원을 활성화할지 여부입니다.

읽기 전용 옵션으로, 현재 설정에서 Mega Go 기능을 사용할 수 있는지 보여줍니다.

표시 정보가 요구 사항과 맞지 않으면 Lib Variants 옵션을 적절히 수정하세요.

InertialCameraDevice Support

읽기 전용 옵션으로, 현재 설정에서 inertial 기능을 사용할 수 있는지 보여줍니다.

표시 정보가 요구 사항과 맞지 않으면 Lib Variants 옵션을 적절히 수정하세요.

ONNX Rumtime

읽기 전용 옵션으로, 현재 설정에서 ONNX runtime 정보를 보여줍니다.

표시 정보가 요구 사항과 맞지 않으면 Lib VariantsONNX Runtime (Bundled) 옵션을 적절히 수정하세요.

Mega Block > Localization Service Access [Global]

Mega Block localization server의 전역 설정입니다.

Mega Landmark > Localization Service Access [Global]

Mega Landmark localization server의 전역 설정입니다.

Spatial Map

EasyAR spatial map 기능 설정입니다.

Service Access [Global]

sparse map server의 전역 설정입니다.

Image Tracking

EasyAR image tracking 기능 설정입니다.

Target Gizmo

editor에서의 ImageTarget Gizmo 설정입니다.

이 옵션을 켜면 Unity Editor에서 해당 gizmo가 표시됩니다. 씬에 이 종류의 target이 너무 많으면 editor 시작 성능에 영향을 줄 수 있습니다. 디바이스에서의 성능에는 영향을 주지 않습니다.

Cloud Recognition (CRS) > Service Access [Global]

cloud recognition server의 전역 설정입니다.

Object Tracking

EasyAR object tracking 기능 설정입니다.

Target Gizmo

editor에서의 ObjectTarget Gizmo 설정입니다.

  • Enable: gizmo를 켭니다.

Third-Party Libraries

타사 라이브러리 구성입니다.

ARCore SDK

ARCore SDK 구성입니다.

ARCore는 일부 Android 디바이스에서 모션 추적 기능을 제공합니다. 모션 추적과 EasyAR 기능을 읽어 EasyAR 기능과 모션 추적의 관계, 그리고 ARCore를 사용해야 하는지와 언제 사용해야 하는지 이해할 수 있습니다.

  • AR Foundation Or Optional: EasyAR 또는 AR Foundation과 함께 배포되는 ARCore SDK가 ARCore XR Plugin 설정에 따라 애플리케이션에 포함됩니다. 일반적으로 이 옵션을 권장하며, AR Foundation 상황을 자동으로 처리합니다.
  • Optional: ARCore를 지원하고 Google Play Services for AR가 설치된 디바이스에서 ARCore 기능을 사용할 수 있습니다.
  • Required: 애플리케이션은 ARCore를 지원하고 Google Play Services for AR가 설치된 디바이스에서만 실행될 수 있습니다.
  • External: AR Foundation 또는 다른 ARCore SDK 배포를 사용하는 경우 이 옵션을 사용할 수 있습니다. EasyAR와 함께 배포되는 ARCore SDK는 사용되지 않습니다. 이 옵션은 애플리케이션에서 ARCore SDK 사용을 완전히 제외하는 데도 사용할 수 있습니다.
주의

ARCore SDKRequired로 설정하거나 AR Foundation의 ARCore 구성에서 RequirementRequired로 설정한 뒤, 패키징된 애플리케이션을 ARCore를 지원하지 않는 디바이스에 설치하면, 디바이스가 ARCore를 사용할 수 있다고 잘못 보고하고 ARCore로 실행됩니다. 이로 인해 해당 디바이스가 ARCore를 실행하고 있지만 정상적으로 작동하지 않는 것처럼, 예를 들어 검은 화면이나 기타 이상 상황처럼 보이는 착각이 생기지만 이는 잘못된 것입니다.

이 현상이 발생하는 이유는 Google Play Store가 ARCore가 필수로 표시된 애플리케이션을 지원되지 않는 디바이스에 설치하지 못하게 하기 때문에, 이러한 애플리케이션은 항상 지원되는 디바이스에서 실행 중이라고 가정하기 때문입니다.

정상 구성에서는 이러한 디바이스가 session 조립 시 ARCore가 지원되지 않는다고 판단하고 EasyAR 기능을 사용합니다.

OptionalRequired에 대한 자세한 설명 및 Google Play Store에 애플리케이션을 출시할 때 필요한 기타 구성은 Google 설명(중국 본토, 국제)을 참고하십시오.

참고

EasyAR Sense Unity Plugin에서는 ARCore 지원에 필요한 라이브러리 파일과 구성이 이미 플러그인 패키지에 포함되어 있습니다. 하지만 휴대폰에서 실행하려면 휴대폰에 Google Play Services for AR를 설치해야 합니다.

세 가지 다른 출처의 ARCore SDK를 사용할 수 있습니다.

  • 플러그인과 함께 배포되는 ARCore SDK 사용

    플러그인에는 하나의 ARCore SDK 버전이 통합되어 있습니다. 자세한 내용은 ARCore, AR Engine 버전 호환성을 참고하십시오. EasyAR의 ARCore 래퍼를 사용할 때는 AR Foundation을 별도로 임포트하지 않아도 됩니다.

  • AR Foundation의 ARCore SDK 사용

    AR Foundation의 ARCore SDK를 사용해야 하는 경우 Google 설명(중국 본토, 국제)을 참고하여 구성할 수 있습니다. 이때 ARCore SDK 옵션은 AR Foundation Or Optional 또는 External을 선택해야 합니다.

  • 기타 ARCore SDK 사용

    다른 타사 플러그인이나 프로젝트 내에 ARCore SDK 배포가 있는 경우 이러한 ARCore SDK도 사용할 수 있습니다. 이때 ARCore SDK 옵션은 External을 선택하고, 구체적인 플러그인 또는 프로젝트 요구 사항에 따라 구성해야 합니다.

Warn 32-bit-only ARCore-enabled build

Google 설명에 따르면 arm64 디바이스에서 armv7 라이브러리 파일만 있는 프로그램을 실행하면 ARCore가 정상적으로 작동하지 않습니다. 패키징 시 ARM64를 선택하지 않은 경우 경고가 표시됩니다.

alt text

이때 프로젝트 구성을 수정하고 IL2CPP 컴파일을 사용하며 ARM64 지원을 선택해야 합니다.

alt text

주의

실제로 필요한 경우 Continue and don't warn me again을 선택하거나 이 옵션을 끌 수 있습니다. 그러면 패키징 시 검사가 꺼집니다. 검사를 끄는 것은 패키징 시 경고가 표시되지 않게 할 뿐이며, 런타임에는 일부 디바이스에서 크래시나 검은 화면 등을 포함하되 이에 국한되지 않는 이상이 발생할 수 있습니다.

AR Engine SDK

AR Engine SDK 구성입니다.

AR Engine은 일부 Android 디바이스에서 모션 추적 기능을 제공합니다. 모션 추적과 EasyAR 기능을 읽어 EasyAR 기능과 모션 추적의 관계, 그리고 AR Engine을 사용해야 하는지와 언제 사용해야 하는지 이해할 수 있습니다.

  • AREngineInterop: AREngineInterop을 사용할 수 있습니다. EasyAR와 함께 배포되는 AR Engine SDK가 애플리케이션에 포함됩니다.
  • External: AREngineInterop을 사용할 수 있습니다. EasyAR와 함께 배포되는 AR Engine SDK는 사용되지 않습니다.
  • Disabled: AREngineInterop을 사용할 수 없습니다. EasyAR와 함께 배포되는 AR Engine SDK는 사용되지 않습니다. AR Engine과 관련된 모든 기능이 비활성화됩니다.

ONNX Runtime (Bundled)

번들된 ONNX runtime을 사용할지 여부입니다.

다른 버전의 ONNX를 사용해야 하는 경우 ONNX 공식 소스에서 더 최신 버전을 가져오고 이 옵션을 끌 수 있습니다. 직접 컴파일한 바이너리 호환성이 없는 ONNX를 사용하면 알 수 없는 오류가 발생합니다.

Workaround For Unity

Unity의 bug나 부자연스러운 동작에 대한 대응 방법입니다.

GenerateXMLDoc

scripts를 다시 로드할 때 XML 문서를 생성하여 API 문서의 intelliSense가 동작하도록 합니다.

URP17RG_DX11_RuinedScene

URP 17 Render Graph DX11 scene 렌더링 손상에 대한 workaround입니다. 이 옵션은 Unity 6.2 및 이후 버전에서 비활성화되어 있습니다.

URP17RG_IOS_Glitches_Partial

Unity Issue UUM-87787를 부분적으로 회피합니다.

문제 요약: EasyAR에서 카메라 텍스처를 가져올 때, ImageTracking_Coloring3D sample 및 ARSession workflow (CameraDevice) sample의 사용과 유사하게 iOS/Mac 기기에서 visual glitches와 artifacts가 관찰될 수 있습니다. 우리는 순수 Unity package에서 이 문제를 재현하고 Unity에 보고했습니다: Glitches on iOS with AR Camera Image Rendering (URP 17 render graph). 진행 상황은 Unity Issue UUM-87787 업데이트와 향후 Unity release notes를 확인하세요.