본문 바로가기

분류 전체보기

(19)
[Unity] Google Play Service 1. 앱 서명 인증서와 업로드 인증서 모두 OAuth 2.0 클라이언트 ID 생성할것. 기본으로 한개가 만들어지는데, 나머지도 하나 만들어주면된다. 2.유니티에 사용할 것은 앱 서명인증서의 client ID 구글로그인에 실패 Asset > External dependancy Manager > Android Resolver> Force Resolver 를 눌렀는데 실패함. 아래와 비슷하게 폴더뒤에를 읽지 못하는것같음. 원인은 경로안에 & 문자가 있었기때문이었음. 폴더이름을 변경한후 다시 시도 (나의경우 콜라보가 되어있어서 대시보드에서 이름을 변경하고, 프로젝트를 다시 다운받음) 두번째에러 유니티를 설치할때 JDK를 설치하지 않았었다. 그래서 다시 유니티 버전에 JDK 모듈을 추가 Edit > Prefere..
[Unity] 최적화 1. 빌드할때는 Debug.log 를 없앤다. 성능을 꽤 잡아먹는다 하는데 로그를 다 지울수는 없으니 에디터에서만 로그를 띄우도록 DebugX 를 사용하자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Diagnostics; using Syst..
[Unity] font size and style overrides are only supported for dynamic fonts 에러 bitmap 폰트를 만들어서 쓰려고 했다. 캐릭터 위에 띄워야해서 UI Text 가 아닌 TextMesh 를 사용했는데 에러는 아닌데 경고로 계속 이런 메시지가 뜬다. 해결하고싶다 폰트사이즈를 0으로 설정하면 된다고 하는데, 나는 TextMesh여서 폰트크기가 0이 설정이안된다 1~500까지 된단다. 그래서 스크립트에서 폰트사이즈를 0으로 바꾸고나서 글씨를 써줬더니 더이상 나타나지 않았다 해결! 1 2 3 4 5 6 7 8 9 private void TextMeshTest(){ TextMesh textmesh = obj.GetComponent(); textmesh.fontSize = 0; textmesh.text = damage.ToString(); textmesh.font = font; } Colore..
[Unity] 게임 재실행시 튕기는 오류 게임을 재시작했을때 게임이 갑자기 꺼지는 기이한 현상 해결 1 ) 게임이 종료될때 모든 Thread가 종료되지 않아서 발생하는 문제라는 의견 -> 게임종료시 모든 스레드 종료 1 2 3 4 5 6 7 8 9 10 11 private void OnApplicationQuit() { ProcessThreadCollection pt = Process.GetCurrentProcess().Threads; foreach (ProcessThread p in pt) { p.Dispose(); } System.Diagnostics.Process.GetCurrentProcess().Kill(); UnityEngine.Debug.Log("quit"); } Colored by Color Scripter cs 해결 2 ) Bu..
[Unity][c#] Firebase 에서 받은 데이터를 객체로 변환하기 유니티에서 파이어베이스의 값을 가져와 dictionary형태로 받았는데, 바로 내가 원하는 오브젝트 형식으로 변환해서 관리하고싶을때 이 방법을 사용하면 된다. 스태틱 클래스 생성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 public static class ObjectExtensions { public static T ToObject(this IDictionary source) where T : class, new() { var someObject = new T(); var someObjectType = someObject.GetType(); foreach (var item in source) { ..
[Unity]Color 변수 스크립트에서 선언하고 사용하기(Color, Color32) 색상을 스크립트에서 선언하고 사용하려고했는데 색상을 변경하는 코드를 작성해도 이상하게 적용되지가 않았다. 원래 내가 사용했던것은 하단처럼 new Color(r,g,b,a) 를 사용하였다. 그런데 RGBA를 int형으로 선언해주는 Color32(r,g,b,a)가 있었다. 이유는 모르겠지만 아래처럼 바꾸니까 해결됐다.
Assets 폴더 안의 에셋 동적으로 로딩하기 보통 resources 폴더 안에 있는 에셋(이미지, 음악)등을 로드할때에는 resources.load() 나, resources.loadall() 을 이용하면 된다. 하지만 Resources 폴더 외에 다른 폴더에있는 에셋을 로드해야 할 때가 있다. 하나의 에셋을 로드할땐 AssetDatabase.LoadAssetAtPath(assetPath, typeof(에셋타입)); 을 사용하면된다. resources.loadall() ; 대신 사용할 함수를 찾고있었는데, 함수가 따로 마련되지는 않은것같다. 따라서 Assets 폴더의 하위폴더 속 모든 에셋을 로드하는 방법을 알아보려한다. string[] guids = AssetDatabase.FindAssets("", new string[] { "Assets/Ch..
[Unity] Localization : 다중언어 지원 게임을 개발하면 한국어버전/영어버전으로 여러가지 버전을 만들어야 할 일이 있다. 이럴때는 빌드를 따로 두번 하는것이 아니라 설정을 통해 언어를 정하고, 하나의 빌드본안에서 json파일을 읽어 게임내 텍스트의 언어를 바꾸도록한다. 오늘은 이 기능을 구현해보자!! 1. LocalizationData.cs [System.Serializable] public class LocalizationData { public LocalizationItem[] items; } [System.Serializable] public class LocalizationItem { public string key; public string value; } 이 클래스는 언어데이터를 담을 클래스이다. Monobehaviour 을 상속받지..