간혹 어떤 코드가 1프레임 혹은 몇 초 후에 실행됐으면 하는 때가 있다. 예를 들어, Ui를 초기화하고, 한프레임 후 구성요소의 위치나 크기를 가져와야 하는 경우가 그렇다. 초기화하고 바로 값을 읽으면, 원하는 값을 얻을 수 없다. 아마 Unity내부에서 렌더링 되지 않아서 인 것 같다. 이 경우 한프레임 후, 그 값을 읽으면 잘 읽힌다. 이때 한프레임 후 실행되게 할 때, 코루틴을 많이 사용하는데, 이게 은근 사용하기 귀찮게 돼 있다. 좀 더 간편하게 코루틴을 사용하기 위한 클래스들 만들어보자. 1. CoroutineManager 싱클톤 클래스 아래와 같이 싱글톤 클래스를 만들어보자. 2020/01/07 - [게임을 만들자/게임 서버(C#)] - c# 싱글톤 제네릭 클래스 using System; us..
전체 글 검색 결과
Unity에서 런타임 중 스프인 오브젝트의 스킨을 바꿔야 하는 경우가 있다. SkeletonAnimation.Skeleton에 SetSkin이라는 함수가 있길래, 쉽게 변경이 가능한 줄 알았는데, 잘 변경 되지 않았다. Skeleton.Update()함수도 해봤는데 먹히지 않았다. 뭐가 문제지? 라고 생각하고 검색해 본 결과 SetSkin함수 호출 후, SetSlotsToSetupPose()라는 함수를 호출해야 한다고 한다. public void SetSkin(string skin_name) { m_animation.Skeleton.SetSkin(skin_name); m_animation.Skeleton.SetSlotsToSetupPose(); } 위 코드처럼 해보면 깔끔하게 잘 변경된다.
유저가 뒤로가기 버튼을 두번 연속으로 눌러 앱을 종료시키거나, 업데이트가 후, 재시작이 필요한 경우가 있다. 1. 앱 종료 public static void EndApp() { #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else UnityEngine.Application.Quit(); #endif } 앱 종료는 에디터 상태인 경우와 앱 상태인 경우가 조금 다르다. 방법은 위와 같이, 에디터의 경우엔 UnityEditor클래스를 이용하고, 앱은 UnityEngine.Application클래스를 이용한다. 2. 앱 재시작(안드로이드) #if UNITY_ANDROID AndroidJavaObject unity_activity = ne..
1. 상호명 : 모모웨이 2. 특징 : 뭔가 아늑한 다락방 느낌의 인테리어. 토스트 세트 강추. 뭔가 정성스럽게 나옴. 3. 위치 : 서울 강남구 언주로 314 1층 역삼동을 산책하다가 발견한 카페입니다. 평소 언젠가 가봐야지 가봐야지 하면서 미뤘었는데, 마침 코로나 19로 다른 프렌차이즈카페가 닫는 바람에 가보게 됐습니다. 메뉴가 매우 다양합니다. 사실 전 메뉴가 많은 곳을 그닥 좋아하진 않지만, 그냥 간단하게 샌드위치 + 아메리카노 세트를 주문 해 봤어요. 인테리어가 뭔가 아늑한 다락방을 연상시켰어요. 조용하고 잔잔한 음악과 이 분위기가 너무 아늑하고 좋았습니다. 샌드위치가 참 맛있고, 정성스럽게 나왔었는데.. 사진찍는 것을 잊고 먼저 먹어버렸네요 ㅠㅠ... 샌드위치 맛있습니다. 사실 샌드위치는 정성..
Spine에서 만든 캐릭터를 Unity로 가져오는데 아래 그림과 같은 에러가 발생했다. 인터넷을 검색해보니, 스파인 프로그램에서 내보기 할 때, altas파일에 txt를 꼭 확인하라고 하는데, 잘 돼 있는데도, 에러가 계속 발생했다. (다른 스파인 파일들은 잘 되는데 얘만 안됐었음..) 이럴 떄는 아래와 같이 해보자. 우선 [Import without atlases]를 클릭하자. 아틀라스 없이 임포트 하는 경우 위와 같이 된다. 임포트 후 생성된, SkeletonData 파일을 클릭한 후, Inspector를 보면, Atlas Assets Size가 0임을 확인 할 수 있다. Atlas Assets Size를 1로 바꾸고, Element에 아틀라스 파일(왼쪽 빨간 박스)을 추가해보면, 이미지가 잘 적용 ..
현재 나는 소켓통신으로 서버와 데이터를 주고 받지만, 게임의 버전 정보나, 이벤트 성 데이터를 받아 올 때는, Http통신을 이용하고 있다. 1. 코드 public static string HttpGet(string url) { string responseText = string.Empty; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; request.Timeout = 30 * 1000; // 30초 request.Headers.Add("Authorization", "BASIC SGVsbG8="); // 헤더 추가 방법 using (HttpWebResponse resp = (HttpWebRes..
최근댓글