기본 콘텐츠로 건너뛰기

[UE5] ARCore 샘플 프로젝트 실행

    목차

ARCore 개념 정리

XR

  • Augmented Reality (증강현실) : 감각 정보가 핸드헬드(Handheld : 휴대용) 또는 웨어러블 디바이스를 통해 사용자의 현실 세계의 뷰에 오버레이
  • Virtual Reality (가상현실) : 가상 환경이 웨어러블 디바이스를 통해 사용자의 뷰를 대체
  • Mixed Reality (혼합현실) : 증강현실 + 가상현실

지원되는 AR 디바이스

  • Android 7.0(Nougat) 이상 : ARCore 1.22
  • HoloLens 2 : Windows 10 2019년 5월 이상
  • iOS 11.0 이상 : ARKit 4.0

핸드헬드 AR 기능 (Android)

  • 지원
    • 평면 탐지 (Plane Detection)
    • Object Occlusion : 현실 세계의 오브젝트가 가상 오브젝트를 가릴 수 있다.
      즉, 가상 오브젝트가 현실 세계의 오브젝트 뒤에 렌더링된 것처럼 표시
    • 환경 프로브 : 현실 세계의 라이팅 강도 및 방향을 예측
    • ARPin : 가상 오브젝트를 현실 세계의 특정 위치에 어태치
    • 증강 이미지 (Augmented Images) : 앱이 탐지 및 증강할 수 있는 레퍼런스 이미지를 제공
    • 페이셜 크래킹 (Facial Traking) : 트래킹 또는 증강을 위해 사용자 얼굴의 피처 포인트를 탐지
    • 카메라 내부 수치 (Camera intrinsics) : 디바이스의 물리적 카메라에 대한 정보를 가져옴
  • 비지원 (ARKit은 가능)
    • 사람 오클루전 (People Occlusion) : 사람이 가상 오브젝트를 가림
    • 지오트래킹 (Geotracking) : GPS 및 월드 트래킹 (다운로드 이미지 기반)

추가
• OpenXR은 헤드 마운트 디바이스만 지원 : HoloLens2 (Windows Mixed Reality), SteamVR, Oculus


Android SDK, NDK 설치

언리얼 엔진 4.25 이상은 Android studio에서 제공하는 SDK, NDK를 이용하면된다.
즉, Android studio를 설치하면서(Android studio용 내장 JDK가 같이 설치됨)
SDK Manager를 이용하여 SDK, NDK를 설치한다.

SDK는 26 이상으로 설치 할 것(ARCore 요구사항)
NDK는 제일 안정된 버전이 r21b(21.1.6352462) 이며, r23 까지 지원한다.

(하위 버전의 언리얼 엔진을 사용할 것이 아니라면, CodeWorks for Android는 Uninstall 할 것)


Unreal Engine Android Studio Compatible NDK Version
4.26.2 + Android Studio 4.0 NDK r21b
4.25 Android Studio 3.5.3 NDK r21b, NDK r20b
4.21 ~ 4.24 NDK r14b
4.19 ~ 4.20 NDK r12b
  • r21b : 21.1.6352462
  • r20b : 20.1.5948944

프로젝트 생성

게임 → 휴대형 증강 현실


프로젝트 세팅

SDK 경로 예시

프로젝트 세팅 → 플랫폼 → Android SDK

  • Location of SDK
    • build-tools 폴더가 들어있는 폴더 선택
  • Location of NDK
    • 버전 이름이 있는 폴더 까지 선택, 21.1.6352462 (r21b) 버전이 권장하는 버전
  • Location of JAVA
    • OpenJDK를 사용하는 경우 : bin 폴더가 들어있는 폴더 선택
    • Android Studio 내장 Java를 사용하는 경우 : 설치 경로에 있는 jre 폴더 선택 (폴더 안에 bin 폴더가 있음)
  • SDK API Level : 기본 값(latest)으로 두면 된다.
  • NDK API Level : 기본 값(android-21) 유지!

실행 예시

만일 “Play 프로텍트에 의해 차단됨” 대화상자가 뜨는 경우 “무시하고 설치” 버튼을 눌러준다.


오류 처리

LogPlayLevel: Error: ERROR: Platform Android is not a valid platform to build. Check that the SDK is installed properly.

SDK 경로 설정이 잘못될 경우에 뜨는 로그이다.



LogPlayLevel: Error: ERROR: Targets cannot be built in the Debug configuration with this engine distribution.

Build Configuration을 변경한다. (Solution을 컴파일할 때와 Project를 컴파일할 때, 지원되는 Build Configuration이 다르다.)
참고 : Unreal Engine Build Configuration



Build-tool 33.0.0 is missing DX at D:\lib\AndroidSdk\build-tools\33.0.0\dx.bat
  • SDK 설치 경로 → build-tools → 33.0.0 (또는 다른 버전)
    → d8.bat 파일의 이름을 dx.bat으로 바꾸거나, d8.bat 파일을 복사한 후, dx.bat으로 이름변경
  • lib 폴더로 들어가서 d8.jar 파일의 이름을 dx.jar로 바꾸거나, d8.jar 파일을 복사한 후, dx.jar로 이름 변경
  • 참고 : Android Build tool 31 이슈



Task :app:compileDebugAidl FAILED

현재로서는 프로젝트 폴더의 Build, Intermediate 폴더를 삭제하고 다시 빌드하는 것.
(본인의 경우 SDK, NDK 경로를 바꿔가면서 실행하다가 발견…)



참고자료

Unreal Document

언리얼에 Android SDK 및 NDK 설정
언리얼 엔진에서 ARCore 용으로 개발하기
휴대형 증강현실 템플릿 퀵스타트
휴대형 증강현실 템플릿 테크니컬 레퍼런스

Youtube

언리얼 VR 실행을 위한 SDK,NDK,JDK 설정

댓글