Unity 9

Unity 프로젝트를 Git 로 관리할 때 주의사항

프로그램 코드를 Git 로 관리 하는 이유는 여러가지 있겠지만 가장 중요한 건 역시 백업에 있지 않나 싶다. 그렇다고 무턱대고 모든 파일을 repository 에 넣어버린다면 불필요한 파일을 저장하는건 둘째 치더라도, github 에서 거부를 해버린다. 100mb 이상의 바이너리 파일은 Push 를 허용하지 않는다. (50mb 이상은 경고를 보낸다고 한다.) 유니티에서 Library 폴더의 경우가 여기에 해당된다. 빌드 과정에서 엄청나게 용량이 큰 바이너리들이 수시로 생성되고 없어진다. 그렇다고 Library 를 뺀다면 어떻게 될까? 별도의 폴더로 받아서 유니티로 로드했더니 에러 투성이었다. 이를 해결하기 위한 결론은 다음과 같다. *.meta 파일을 git 에 포함시켜라. (.gitignore 에서 *..

Unity 2019.11.07

[Unity] Failed to install the following Android SDK packages as some licences have not been accepted.

구글의 64비트 정책 때문에 빌드 옵션을 바꿨더니(IL2CPP, ARM64) 제목과 같은 빌드 에러가 발생했다. Android SDK 라이센스가 없기 때문에 빌드가 되지 않는 에러 메시지이다. 구글링해보니 Android Studio 의 경우만 나와 있는데 SDK Tools 중에 Google Play Licensing Library 라는 것을 설치하면 된다고 한다. 하지만, 유니티의 경우 유니티 허브에서 Android SDK 를 설치했기 때문에 저런 설치 옵션이 존재하지 않거나 내가 찾지 못했다. 그래서, 어쨌든 Android Studio 에서는 라이센스가 설치가 됐으니 해당 폴더를 살펴 보기로 했다. 이 licenses 폴더를 통채로 카피한 다음 유니티 에디터 밑에 복사 했다. 결과는? 성공!!

Unity 2019.10.15

[Unity] YesNo 팝업 만들기

event 와 delegate 를 이용. Canvas 에서 UI 를 아래처럼 만든다. YesnoBox, MsgPanel => Panel YesButton, NoButton => Button MsgText, Text => Text 프리팹으로 집어 넣는다. 필요할 때마다 런타임에 로드하기 위해 Assets/Resources/Prefabs/Canvas/YesnoBox 에 집어 넣었다. YesnoBox.cs using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class YesnoBox : MonoBehaviour { [SerializeField] ..

Unity 2019.10.04

[Unity] Canvas 상에서의 position 에 대해

Unity 에서 UI 요소를 삽입하면 Canvas 폴더가 생기고, 그 아래에 있는 객체들은 기존의 좌표체계와 달라지는 것을 볼 수 있다. (RectTransform 은 Transform 을 상속받은 클래스라 한다.) 어쨌든, RectTransform 속성을 지닌 객체의 포지션에 대해 이해한 것만을 적어 본다. 직관적으로 쉽게 이해하기 위해 원점 좌표를 주면 어디에 위치하는지 테스트 해보았다. 테스트를 위해 Panel 을 생성하고 그 안에 Image 객체를 넣었다. Panel 사이즈는 1920x1080 전체화면으로 했고, Image 는 100x100 이다. (단위는 Pixel) Panel 의 인스펙터 RectTransform (1920x1080 스크린 전체를 차지한다.) Pos X : 0, Pos Y : ..

Unity 2019.09.27

[Unity] INSTALL_FAILED_NO_MATCHING_ABIS 안드로이드 에뮬레이터에 apk 설치가 안될 때

** 문제점 ** 안드로이드 에뮬레이터를 띄운 후 Build and Run 을 하자 이런 메시지를 만났다. 유니티에서의 에러 메시지: D:/AndroidSDK\platform-tools\adb.exe -s "emulator-5554" install -r "D:\UnityProjects\MyApp.apk 커맨드 라인에서 adb 로 설치해 보았다. adb install MyApp.apk adb: failed to install MyApp.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113] ** 해결방법 ** 유니티 안드로이드 Player Settings 에서 x86 을 추가 하면 해결 됨.

Unity 2019.09.23