카테고리 보관물: Unreal

모래시계

개요

집에서 작은 모래시계를 사용하고 있는데 문득 앱으로 만들어 보면 어떨까하는 생각이 들어 앱을 제작하게 되었습니다.

기획

전체적인 모양은 모델링 후 유리 재질을 적용하는 방식으로 적용하면 큰 문제는 없을 것 같았습니다. 상단에 1, 3, 5분 버튼을 배치했습니다. 시간이 지나면 소리로 알려주는 기능을 추가했습니다. 이렇게 해서 간단하게 기획을 마무리 했습니다. 관건은 모래가 정해진 시간에 아래로 흘러내리는 효과를 구현하는 것 이었습니다.

완성된 모래시계 앱
완성된 모래시계 앱

모래가 흘러내리는 효과

처음에는 실제 모래시계와 같이 모래 한 알갱이를 많이 만들어서 만들려고 시도했습니다. 시간이 길면 모래 알갱이를 많이 만들면 될 것이라고 간단하게 생각했습니다. 그런데 여기에 큰 문제가 있었습니다.

모래 알갱이를 작게 만들어서 테스트 해 보니 흘러내리는 효과는 잘 구현이 되었습니다. 그러나 속도가 매우 느렸습니다. 모래 알갱이의 메시를 단순화 해서 테스트 해 보아도 너무 느렸습니다. 에디터에서도 느렸고 빌드해서 테스트 기기에서 수행해 보았더니 도저히 사용할 수 없는 수준이었습니다.

Niagara 시스템 사용

가장 좋은 것은 실제 모래 알갱이가 떨어지면서 시간이 흐르는 것 이었습니다. 그러나 현실적으로 그것은 불가능하다고 판단했습니다. 무슨 방법이 있을까 고민하다가 Unreal Engine 의 Niagara 시스템을 사용해서 모래 알갱이가 떨어지는 효과를 구현해 보기로 했습니다.

Niagara 시스템을 처음 사용해 보아서 좀 생소했습니다. 이것저것 수정을 하면서 조금은 익숙해졌습니다. 최대한 모래가 흘러내리는 효과와 비슷하도록 조정했습니다.

모래시계 위쪽과 아래쪽에 통으로 된 메시를 배치했습니다. 위쪽의 메시는 시간이 흐르면서 작아지고 아래의 메시는 커지는 형태로 작업했습니다. 그리고 모래시계 가운데 부분에 파티클이 아래쪽으로 생성되는 효과를 배치했습니다.

위 아래 메시의 크기 변화와 가운데 모래가 흘러내리는 효과 적용
위 아래 메시의 크기 변화와 가운데 모래가 흘러내리는 효과 적용

그 결과 그럴듯한 모래시계 앱이 완성되었습니다. 이곳에서 받으실 수 있고 하단에 배너광고가 포함되어 있습니다.

Unreal 안드로이드 배포판 패키지 이름 등록

개요

구글 플레이에 앱을 올릴 때 제한이 없던 이전과 달리 패키지 이름을 먼저 등록해야 합니다. 기존 앱들은 자동으로 추가되었지만 신규 앱은 따로 등록해야 합니다. Unreal 에서 안드로이드 배포판을 등록할 때 패키지 이름을 등록하는 과정을 알아보겠습니다.

패키지 이름 결정 및 Unreal 에서 APK 파일 생성

먼저 패키지 이름을 결정합니다. com.yourcompany.yourapp 을 예로 진행해 보도록 하겠습니다. jks 파일을 Android Studio 를 이용하거나 다른 방법으로 생성합니다. Unreal 에서 다음과 같이 설정 합니다.

Project Settings > Packaging > Project

Build Configuration > Shipping, For Distribution 항목 선택

Project Settings > Packaging > Project 항목 설정
Project Settings > Packaging > Project 항목 설정

Project Settings > Platforms > Android

Package game data inside .apk? 항목을 선택해야 APK 파일이 생성됩니다.

Project Settings > Platforms > Android 항목 설정
Project Settings > Platforms > Android 항목 설정

Key Store 항목에 생성한 jks 파일명을 지정하고 비밀번호를 입력합니다.

위와 같이 설정 후 APK파일을 생성합니다. 반드시 배포용으로 생성해야 합니다. 그렇지 않으면 SHA-256 digest 키가 일치하지 않아 패키지 이름 등록이 불가능 합니다.

키 정보 확인

생성된 APK파일을 대상으로 다음과 같이 명령어를 입력하면 키 정보를 확인할 수 있습니다.

apksigner verify –print-certs yourapp.apk

키 정보
키 정보

SHA-256 digest 키 정보를 복사해 놓습니다.

Android 개발자 인증에 등록

이제 구글 플레이 개발자 콘솔에 접속해서 Android 개발자 인증 버튼을 클릭합니다. 패키지 이름 등록 버튼을 클릭하면 다음과 같이 나타납니다.

패키지 이름 등록
패키지 이름 등록

여기에 패키지 이름을 입력합니다(ex:com.yourcompany.yourapp)

임시 상태로 등록 되는데 링크를 클릭해 보면 다음과 같이 키 추가 화면이 나타납니다.

키 추가 화면
키 추가 화면

키 추가 버튼을 클릭하면 다음 화면이 나타납니다. 이전에 복사해 두었던 SHA-256 digest 항목을 그대로 입력합니다.

SHA-256 digest 키 추가
SHA-256 digest 키 추가

키를 추가하면 다음과 같은 화면이 나타납니다.

등록된 지문 정보
등록된 지문 정보

우측의 확인 링크를 클릭하면 APK 파일을 안내와 같이 생성해서 올리라고 나타납니다.

APK 서명 및 업로드 안내 화면
APK 서명 및 업로드 안내 화면

패키지 이름 확인 용 APK 파일 생성

Android Studio 를 실행해서 아무 것도 없는 프로젝트를 생성합니다. Unreal에서 지정한 패키지 이름과 동일하게 생성해야 합니다. 패키지 이름이 동일하게 생성되었다면 app/src/main/assets/adi-registration.properties 파일을 생성하고 1 번에서 노출된 코드를 그대로 입력합니다. /assets/adi-registration.properties 경로는 임의로 변경하면 안됩니다. 경로가 잘못된 경우 APK 파일을 업로드 하면 The uploaded APK does not have the required token file. 오류가 발생합니다.

SHA-256 digest 키 정보가 일치하지 않으면 APK 파일을 업로드 하면 The uploaded APK has a different signature. 오류가 발생합니다.

문제가 없는 경우 하단의 제출 버튼이 활성화 되고 클릭하면 완료 됩니다. 잠시 기다리면 등록이 된 것을 확인할 수 있습니다.

패키지 이름이 등록된 것을 확인한 후 구글 플레이 콘솔에 앱 등록을 진행하면 됩니다.