[AR Project] 프로젝트 빌드하기

[Ted's Log] 테드로그·2021년 6월 7일
3

Project Driven Study

목록 보기
3/6
post-thumbnail

👋   Prologue

  저번 포스팅에서 작업한 내용을 직접 빌드하여 APK 파일 추출 후, 디바이스에서 테스트 해보자. Android 운영체제 환경에서 빌드할 때 필요한 설정과 주의해야 할 내용은 어떤 것이 있는지 알아볼 것이다. 그리고 실제 지면을 인식해서 Plane 프리팹을 렌더링 하는 모습은 어떻게 보이는 지도 확인해볼 수 있을 것이다.

⚙️   Build Setting

  빌드 설정을 위해 File-Buid Setting 창을 열어보자.

  작업한 Scene을 Add Open Scene을 하여 빌드 파일에 포함시켜주자. 그리고 Player Setting 항목을 통해 추가적인 설정을 해주어야 한다. Player Setting의 Android OS 탭으로 들어가서 Other Setting을 열어보자.

  우선 Graphics APIs에 Vulkan graphics API가 포함되어 있는지 확인하여야 한다. AR Foundation에서 아직 Vulkan API을 완전히 호환할 수 없어 제거해주어야 빌드가 가능하다.

  그 다음으로 확인해야할 내용은 API 수준이다. 시리즈 1편에서 다루었듯이, AR 기능을 구현하기 위해서는 최소 API 수준을 알맞게 설정해야 한다. AR 기능이 필수인 경우라면 Android 7.0 Nougat(Level 24) 이상으로 설정하지 않으면 빌드가 되지 않는다.

  마지막으로 XR Setting 항목에 들어가서 ARCore Supported가 체크되어 있는지 확인해보자. 초기 개발환경 설정 시 설치해 주었던 ARCore XR Plugin가 그 역할을 대체하기 때문에 체크되어 있다면 이 역시 해제해주여야 빌드가 가능하다.

  여기까지 설정을 해주었다면 빌드를 진행할 수 있다. Build 버튼을 눌러서 APK 파일이 추출되기를 기다려보자.

  cf. Build Setting 오류 시 Console에 찍히는 LogError Message


🚨   Build Failure?

  회사에서 프로젝트를 진행했을 당시, 빌드 과정이 끝나고 나서 위와 같은 빌드 실패창을 보게 되었다. 모든 것이 순조롭게 진행되어 디바이스에서 테스트를 진행할 생각에 들떴던 장밋빛 미래가 갑작스런 Build Failure 경고창과 함께 어두워지고 말았다. 아마도 여러분도 빌드했을 때 위와 같은 결과를 보게 되는 상황이 많을 것으로 예상되어 어떻게 해결할 수 있을 지 함께 알아보면 좋을 것 같다.

  문제의 원인은 유니티 2019.4.4f1 에디터 버전에 설치되어 있는 Gradle 버전과 AR Foundation 동작에 필요한 Gradle 버전이 다른 부분이다. 구글 AR Core 사이트에서 해당 이슈에 대한 해결책을 자세히 설명하고 있다. 간단히 요약하자면, 작업하고 있는 유니티 에디터 파일에서 Gradle 파일이 저장되어 있는 곳에서 Gradle 버전이 5.6.4 이상인지 확인해야 한다. 업데이트가 필요하다면 다운로드 링크로 가서 다운 받은 후, 설치한 파일로 구 버전 파일을 대체하면 된다.

  그 후, Build Setting의 Player Settings로 다시 들어가서 Publishing Settings에서 Gradle Template을 생성해보자.

아래 프로퍼티 항목을 활성화 시키면 Gradle Template이 Assets-Plugins-Android 경로에 생성된다. 그 후, 두 파일을 열어서 약간의 수정을 하면 된다.

  1. 파일 상단의 주석을 제거
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
  1. 파일 맨 위에 아래의 내용을 삽입해서 추가
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'
      }
   }
}

 

🧪   드디어 디바이스 테스트를 해보자

  드디어 빌드가 이상 없이 끝나고, APK 파일 추출이 완료되었다. 필자가 직접 APK 설치 후 테스트 했던 모습은 아래 스크린샷에서 확인할 수 있다. 여러분들도 자신이 만든 AR 앱을 디바이스에서 직접 작동해보면 확장된 현실 세계의 경험을 통해 AR 기술의 매력과 기술 자체의 발전 가능성에 대해 관심을 가지게 될 것이다.

                                                          지면을 인식하여 Default Plane Prefab을 생성해준 모습
                                                                                              생성된 LCD 모듈
                                                                                우와 마치 달의 뒷면을 바라보는 느낌이야!

profile
성장하는 개발자가 되기 위한 발자취 🧑🏻‍💻

0개의 댓글