기본 콘텐츠로 건너뛰기

[Unity] Arcore SDK (구버전) 환경설정

    목차
Deprecated

개요

  • Unity용 ARCore SDK : 구버전 프로젝트 (2020 미만), Unitypackage 형태로 제공
    DOC : Android 빠른 시작 문서가 삭제되었다…
  • AR Foundation (+ ARCore XR 플러그인, ARCore 확장 프로그램) (2019.4.3.f1 이상), 플러그인 형태로 제공
    DOC : AR Foundation 시작하기

두 버전 서로간 호환이 되지 않는다. Unity용 ARCore SDK 이전 가이드 이 문서도 날라감…




소프트웨어 요구사항

Arcore Depth Lab Sample (GitHub) 에서 요구하는 조건을 기준으로 한다.
(오른쪽 상단 “Code” 버튼을 눌러 zip 형태로 소스코드를 다운로드 한다.)

  • Unity 2019.4.36f
    • 안드로이드 빌드 지원 모듈이 설치되어 있어야함.
      • 경우에 따라서 Gradle 5.6.4 버전을 수동 설치해야 될 수 있다.
    • Package
      • ARCore SDK for Unity v1.25.0
    • Plugin
      • Multiplayer HLAPI 1.0.8+
      • XR Lagacy Input Helpers 2.1.7+

패키지 설치

  1. 다운로드 받은 압축파일을 푼 다음, Unity Editor로 해당 프로젝트를 연다.
  2. Windows → Package Manager 에서 Multiplayer HLAPI와 XR Lagacy Input Helpers 플러그인을 설치한다.

패키지 설치 (ARCore SDK for Unity)

  1. GitHub 페이지에서 "arcore-unity-sdk-1.25.0.unitypackage"를 다운로드 받는다.
  2. Assets → Import Package → Custom Package 누른 후, 다운로드 받은 unitypackage 파일을 선택한다.
  3. 대화상자에서 모든 항목이 체크되었는지 확인하고 “Import” 버튼을 클릭한다.

기능 On/Off

ARCore 활성화

  1. Edit → Project Settings → Google ARCore 에서 아래와 같이 설정한다.
  • ARCore Required 체크
  • Instant Preview Enabled 체크 해제
  1. Edit → Project Settings → Player → Android 아이콘 → Other Settings → Identification 부분에 있는 Minimum API Level을 "Android 7.0 ‘Nougat’ (API level 24) 이상으로 선택

ARCore SDK 내의 Plugin 비활성화

  1. Assets → GoogleARCore → SDK → Plugins로 이동
  2. “arcore_client”, “arcore_unity” 를 비활성화
  • 선택하면 아래 이미지 처럼 오른쪽 “Inspector” 창이 뜨게된다. 여기서 “Android” 부분에 있는 **체크를 해제**한다.

Build And Run

ARCore가 지원되는 안드로이드 단말기를 연결한 후, Build And Run을 실행하자. (개발자 모드, USB 디버깅을 활성화 하는 것 잊지 말자!)



안드로이드 빌드 설정

보통은 그냥 "Build And Run"을 해도 잘 되지만, 기본 제공되는 Gradle을 인식하지 못하거나, 일부 Android 11 (API 30) 이상의 단말에 대해 빌드를 하기 위해서는 추가적인 설정이 필요하다.

Gradle 경로설정

※ Gradle이 없다면, “Gradle 빌드 도구” 에서 찾아보자. “binary-only” 또는 “complete” 둘 중 아무거나 선택해도된다.


만일 안드로이드 스튜디오를 설치했을 경우, Gradle은 아래와 같은 경로에 설치될 것이다.

C:\Users"사용자이름".gradle\wrapper\dists\

여기서 5.6.4 버전 이상의 Gradle의 lib 폴더가 있는 경로까지 복사한다.

C:\Users"사용자이름".gradle\wrapper\dists\gradle-5.6.4-all"문자여러개"\gradle-5.6.4

Edit → Preferences → External Tools → Android → Gradle 부분에서 체크를 해제하고 복사한 경로를 붙여 넣는다.

Gradle 파일 수정

Edit → Project Settings → Player → Android 아이콘 → Publishing Settings → Build 부분에서 “Custom Main Gradle Template”, “Custom Launcher Gradle Template” 두 부분을 체크한다.

아래의 두 파일을 편집해야된다.

  • Assets/Plugins/Android/mainTemplate.gradle
  • Assets/Plugins/Android/launcherTemplate.gradle

파일 상단에서 아래 코멘트는 삭제 (이미 없다면 안해도 된다.)

// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN

파일 상단에 아래 코드 추가 (이미 있다면 추가 안해도된다.)

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        // Must be Android Gradle Plugin 3.6.0 or later. For a list of
        // compatible Gradle versions refer to:
        // https://developer.android.com/studio/releases/gradle-plugin
        classpath 'com.android.tools.build:gradle:3.6.0'
    }
}

allprojects {
   repositories {
      google()
      jcenter()
      flatDir {
        dirs 'libs'
      }
   }
}

※ 추가사항
Unity Editor 설치시 "Android Build Support"를 이용하여 내장 JDK, SDK, NDK 들이 인식되지 않는 경우가 있다면 아래와 같이 수동으로 경로를 설정해야한다 …
(1) 경로 오른쪽에 “Copy Path” 버튼 클릭
(2) “(JDK 또는 SDK 또는 NDK) Installed with Unity (recommended)” 의 체크박스 해제
(3) 복사한 경로 붙여 넣기 또는 “Browse” 버튼을 눌러서 폴더 찾기

※ 수동으로 경로를 지정해도 안된다면… 경로 부분에 있는 체크박스들을 체크 해제한 후, 다시 체크 해보자. 여러 버전의 유니티 에디터가 하나의 Preferences를 공유하기 때문에 값이 반영이되지 않는 경우가 있기 때문이다.




참고 : Document 복원

기존 document가 없어져 버리는 바람에… 예전에 copy 해둔 것을 다시 붙여넣는다.

소프트웨어

  • Unity 2017.4.40 부터 2020 : Android 빌드 지원 모듈 설치
  • Unity용 ARCore SDK 1.25.0 이상
  • Android Studio SDK Manager를 이용하여 Android SDK 4.0 (API 14) 이상

프로젝트 준비

  1. “새 3D 프로젝트” 생성
  2. Unity 버전 별로 패키지 설치
    • 2017, 2018 : 추가 패키지 불필요
    • 2019 : Windows -> Package Manager를 이용하여 패키지 설치
      • 멀티플레이어 HLAPI (Cloud Anchors 샘플에 필요)
      • XR 레거시 입력 도우미 (인스턴트 미리보기에 필요, TrackedPoseDriver 사용)
    • 2020 : Windows -> Package Manager를 이용하여 패키지 설치
      • 멀티플레이어 HLAPI (Cloud Anchors 샘플에 필요)
      • XR 플러그인 관리(TrackedPoseDriver를 사용하는 인스턴트 미리보기에 필요)
  3. Unity용 ARCore SDK를 가져옴
    • Assets > Import Package > Custom Package를 선택합니다.
    • 다운로드한 arcore-unity-sdk-1.25.0.unitypackage을 선택합니다.
    • Import Package 대화상자에서 모든 패키지 옵션이 선택되었는지 확인하고 Import를 클릭합니다.

프로젝트 설정

  • Build Settings에서 Android로 플랫폼 교체
  • Player Settings 에서 Android 설정 탭에서 다음 설정을 구성
섹션 설정 구성
기타 설정 렌더링 Auto Graphics API를 선택 해제합니다.
Vulkan API에 Vulkan이 표시되면 삭제하세요.
멀티스레드 렌더링

멀티스레드 렌더링을 사용하려면 이 옵션을 선택하세요참고 :

  • Android용으로 빌드할 때 멀티스레드 렌더링 옵션은 Unity용 ARCore SDK 1.17.0 이상에서 지원됩니다. 하지만 Unity 2018.1 이하에서 이 옵션을 사용 설정하면 전면 (셀카) 카메라 사용은 지원되지 않습니다.
  • 앱이 렌더링 스레드에 부담을 줄 때 3D 애셋이 항상 올바르게 렌더링되는 것은 아닙니다.

패키지 이름 자바 패키지 이름 형식을 사용하여 고유한 앱 ID를 만듭니다.예를 들어 com.example.helloAR를 사용합니다.
최소 API 수준 Android 7.0 ‘Nougat’ (API 수준 24) 이상을 선택합니다.AR 선택사항 앱의 경우 최소 API 수준은 14입니다.
백엔드 백엔드 스크립트 64비트 기기를 위해 빌드할 때 스크립팅 백엔드를 IL2CPP로 설정합니다.자세한 내용은 ARCore 64비트 요구사항을 참고하세요.
대상 아키텍처 64비트 기기를 위해 빌드할 때 ARM64를 선택합니다(백엔드 백엔드 스크립팅 필요).IL2CPP에 관한 자세한 내용은 ARCore 64비트 요구사항을 참고하세요.
XR 설정 ARCore 지원 이 옵션을 사용 설정합니다.

Gradle

Unity version Gradle version Android gradle Plug-in version
2023.1, 2023.2 7.6 7.3.1
2022.2 7.2 7.1.2
2022.12021.32021.22021.1 starting from 2021.1.16f12020.3 starting from 2020.3.15f1 6.1.1 4.0.1
2021.1 up to and including 2021.1.15f12020.1, 2020.2, 2020.3 up to and including 2020.3.14f1 5.6.4 4.0.1
2019.4 5.1.1 3.4.0

댓글