언리얼에서 안드로이드 개발환경 구성
https://docs.unrealengine.com/latest/KOR/Platforms/Android/GettingStarted/index.html
언리얼 엔진 4 (UE4) 는 CodeWorks for Android 1R6u1 라는 특수 버전 안드로이드 소프트웨어 개발 키트(SDK)를 사용한다. JDK, Android SDK, Android NDK, Gradle 등을 모두 포함하고 있으므로 안드로이드 개발환경을 쉽게 구성할 수 있다
언리얼 엔진과 안드로이드 SDK 호환성을 유지하기 위해 안드로이드용 CodeWorks 를 UE4.17.2 이상의 버전에 번들로 포함되어 있다. UE4.18 에서 Gradle 빌드 시스템이 기본으로 켜진다
UE4.21에서의 설치파일 기본적인 위치는 다음과 같다
C:\Program Files\Epic Games\UE_4.21\Engine\Extras\AndroidWorks\Win64\CodeWorksforAndroid-1R7u1-windows.exe
설치파일을 더블클릭하여 설치를 시작하고 이어지는 설정화면에서는 디폴트로 두고 설치를 진행한다
설치가 진행되는 중에 디바이스 드라이버를 설치는 과정에서 동의를 묻을 때 허용을 선택하고 설치를 계속한다
CodeWorks for Android 1R6u1 는 에디터와 런처 둘 다 닫힌 상태로 설치해야 설치에 문제가 없다.
CodeWorks for Android 1R6u1 인스톨러의 정상 완료를 위해서는 Visual Studio 가 설치되어 있어야 합니다. 지원되는 버전은 2013, 2015, 2017 입니다 (2017.12.07 현재)
Visual Studio 설치옵션에서 [C++을 이용한 데스크톱 개발] 항목을 반드시 선택한다
상세한 절차는 위에서 제시한 언리얼 사이트 링크를 눌러서 참조한다
위의 사이트에서는 CodeWorks for Android 설치 및 언리얼에서 모바일 프로젝트 생성, 안드로이드 기기에서 게임 테스트하기(안드로이드 디버깅), 안드로이드 기기에 설치할 APK 패키징하기 등의 내용이 상세히 소개되어 있다
위의 사이트에서 안내하는대로 따라 했지만 잘 안된다면 아래의 내용을 참고한다
목표:
UE4에서 Android 관련 설정 및 개발하여 Android 기기에서 테스트를 수행하고 최종적으로 배포판을 생성하는 전반적인 절차를 수행할 수 있다
참고사이트:
http://api.unrealengine.com/KOR/Platforms/GearVR/QuickStart/index.html
UE4의 Android 개발환경
- http://api.unrealengine.com/KOR/Platforms/Android/GettingStarted/index.html
UE4를 이용한 안드로이드 모바일 프로젝트 전반적 절차
- UE4에서 필수 안드로이드 셋업
- UE4에서 Android 프로젝트 생성 및 설정
- UE4에서 개발 및 완료
- UE4에서 Android 모바일 기기에 설치 및 실행 테스트
- UE4에서 최종 배포판(릴리즈)용 패키징
1. UE4에서 필수 안드로이드 셋업
- Visual Studio 2017 Community 설치(C++ 데스크톱 개발, C++ 게임 개발, C++ 모바일 게임 개발 선택)
- VS 설치옵션에 [C++을 이용한 데스크톱 개발] 항목은 필수
- UE4.18부터 CodeWorksForAndroid 설치파일을 내장하고 있으므로 UE4설치 경로에서 찾아서 실행한다
- CodeWorksForAndroid 를 실해하면, Android SDK, Androd NDK, JDK, Gradle 등이 모두 설치된다
- Java_Home 환경변수에 JDK의 bin 디렉토리를 포함한 상위 디렉토리가 등록되어 있는지 확인한다
- Path 환경변수에 adb.exe 의 경로가 등록되어 있는지 확인한다
- 만약 VS2017가 설치되어 있고 CodeWorks를 설치하는 중에 Visual Studio를 인식하지 못하는 오류가 발생하면 VS2015를 설치한 후에 다시 CodeWorks를 설치하면 된다
2. 안드로이드 기기에서 설정
- 개발환경이 설치된 PC에 USB로 Android 디바이스 연결
- 드라이버가 자동으로 설치되지 않으면 수동설치 요구됨
- Android 디바이스에서 Settings 메뉴 실행
- 개발자 옵션 선택(이 항목이 보이지 않으면 먼저 이 옵션을 활성화해야 함)
- 활성화안내: http://api.unrealengine.com/KOR/Platforms/Android/GettingStarted/2/index.html
- 개발자 모드가 활성화되지 않은 경우에는 다음과 같이 설정한다
- 설정 > 디바이스 정보 > 소프트웨어 정보 > 빌드번호 7번 탭 > 활성화되면 다시 개발자 옵션 선택
- USB 디버깅 선택 > 허용 창에서 [확인] > 우측에 파란색으로 표시되면 설정성공
- PC에서 USB 분리 후 다시 연결
- CMD에서 윈도우와 안드로이드가 정상적으로 연결된 상태인지 확인
- CMD 실행 : Window+R > cmd입력 엔터 > adb devices 입력 엔터
- 안드로이드 폰에서 "USB 디버깅 허용" 을 묻는 메시지 뜨면 "이 컴퓨터에서 항상 허용" 을 선택
- 오류가 없이 연결되고 디바이스의 ID가 표시되면 성공
- 인식 안되면 [USB 구성] 항목에서 MTP, PTP 등의 몇가지 프로토콜을 변경해가면서 확인한다
3. UE4에서 모바일용 프로젝트 생성 및 프로젝트 세팅
- New Project > Blueprint/C++> Third Person 선택
- 모바일/태블릭 > 스케일가능 3D 또는 2D > 시작용 컨텐츠 없음
- 프로젝트 이름 : UE4_AndroidProj 등을 입력 > 프로젝트 생성 버튼
- 편집 > 프로젝트 세팅 > 플랫폼 > 안드로이드
- APK Packaging : [지금환경설정] 버튼 클릭
- [SDK 라이선스 수락] > [동의]
- Map & Mode > Default Map 항목에 현재 레벨이름 입력
- Platforms > Android > Minimum SDK Version : 21
- Platforms > Android > Target SDK Version : 21
- Platforms > Android > Android Package Name : 임의로 설정
- Platforms > Android > Build 항목 검사
- Platforms > Android > Google Play Services : [지금 환경설정] 버튼 누름
- Platforms > Android SDK > SDK Config : 설치된 SDK 경로(Java, Android SDK, NDK, ANT 등) 설정
4. 레벨 디플로이
- USB로 안드로이드 디바이스와 연결한다
- 윈도우 CMD에서 "adb devices" 명령을 이용하여 연결여부를 확인한다
- 안드로이드에 디플로이하려는 레벨을 에디터에 연다
- [실행] 버튼 우측의 작은 삼각형을 누르고 현재 연결된 디바이스 항목을 선택한다
- 몇분 후에 UE4 우측 하단에 현재 실행상태가 나타난다
- 안드로이드 디바이스에 디플로이가 완료되면 알림 메시지가 표시된다(10분 정도 기다림)
- 안드로이드 디바이스에 디플로이가 완료되면 디바이스에서 프로젝트가 실행된다
- 안드로이드 화면위에서 4손가락을 대면 지원하는 텍스쳐 포맷이 표시되므로 패키징할 때 참고한다
- 안드로이드에서 게임을 테스트한다
- 4개의 손가락을 화면에 대면 명령 입력창에 quit 입력하면 게임을 종료할 수 있다
- JDK가 설치되어 있어야 하고 환경변수 JAVA_HOME가 설정되어 있지 않으면 중간에 오류가 발생함
- rungradle.bat 오류해결: http://hannom.tistory.com/114
- Android Studio를 이용하여 기본 프로젝트를 생성하는 과정에서 Gradle 관련 파일이 설치되고 오류 원인이 해결됨
5. 게임 패키징(배포용 패키징)
- 편집 > 패키지 프로젝트 > 빌드 환경설정 > Shipping
- 편집 > 패키지 프로젝트 > 안드로이드 > Android(확인된 텍스쳐 포맷) 선택
- 안드로이드 디플로이하면서 확인괸 텍스쳐 포맷을 찾아서 위에서 선택하면 된다
- 패키징된 게임을 저장할 경로 선택
- 패키징 상황은 화면 우측하단에 표시되고 성공시 메시지가 표시된다
- USB로 안드로이드 디바이스를 연결
- 패키징된 폴더에서 Install[프로젝트이름]Development.bat 파일을 실행한다
- BAT 파일이 작업을 마치면 APK 파일이 생성되며 연결된 안드로이드 디바이스에 설치됨
- USB로 디바이스가 연결되어 있지 않으면 APK 파일만 생성될 뿐이다
mixamo 에서 다운로드한 캐릭터가 안드로이드에서 보이지 않는다면
Project Settings > Android 선택
Build 항목에서
uncheck Support OpenGL ES2 and check Support OpenGL ES3.1.