목록전체 글 (67)
사용 유니티 버전 : 2020.1.3f 빌드 퍼블리싱 세팅에서 custom android manifest 체크 하여 활성화 한 상태에서 기본 구글 샘플 프로젝트를 빌드하니 다음과 같은 에러가 발생했다 The minSdk version should not be declared in the android manifest file. You can move the version from the manifest to the defaultConfig in the build.gradle file. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) 해결 방법은 유니티 프로젝트의 기본 AndroidManifest 파일을 제외한 모든 매니페스트에 있는 위와 같은 ..
출시 준비를 하기 위해 SDK들을 모두 최신 버전으로 설치하고자 유니티 2020.1.3f 버전으로 업데이트 후 SDK작업을 진행하였다 아래는 그때 발생한 빌드 에러 중 하나이다 > Could not delete old C:...\Temp\gradleOut\launcher\build\reports\lint-results-release-fatal.html UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) 해당 오류의 발생 사유는 첫번째 빌드가 실패 후, 다시 빌드를 시도하였을 때 특정 프로세스가 전 빌드에서 발생된 temp경로의 파일 중 하나를 사용중에 있어 그렇다 해결 방법은 1. 컴퓨터를 리부팅 한다 2. 직접 해당 경로에 들어가 관리자 권한으로..
https://youtu.be/9voqMeOGW4A 자세한건 영상을 보는게 좋습니다. (최적화 관련 내용은 47분 가량 부터) 유니티 코리아 웨비나 영상 제공 감사합니다. Unity Webinar : CATRIX 최적화 사례 관련 내용 정리 배치는 300정도 까지 맞춰도 괜찮음 (S5기준) 해상도는 HD(720p)~FHD로 하는것이 좋다(발열 및 포퍼먼스의 원인) ->아무 설정도 하지 않을 시 기기 최대 해상도로 됨 ->API를 통해 강제로 고정 가능 스크립트를 통해 SetResolution, 아니면 플레이어 세팅에서 FixedResolution을 통해 설정가능 씬마다 프레임을 다르게 관리해 발열및 배터리 소모를 줄일 수 있다 ->중요한점은 쓰로틀링까지 안닿게 하는게 중요 ->60 고집하지 않고, 45나..
2019.2.15f버전 기준 발생한 이슈에 대해 공유합니다. 몬스터를 피격시 몬스터의 머리 위에 TextMeshPro로 체력을 표기해주도록 하고 있습니다. 기본적으론, 체력이 보이지 않다가 피격을 당하면 그때 체력바를 Enable해 표기해줍니다. 이때, 씬전환 후 최초로 TextMeshPro를 Enable하는 경우, PlayerLoop의 점유율이 80%가량 치솟으며, 아주 짧게 렉을 유발했습니다. 원인을 살펴본 결과, TextMeshPro의 Activate와 함께 다량의 GC콜이 발생하는 것을 확인했습니다. 일단 임시방편으로 해결을 위해 씬에 빈 TextMeshPro 객체를 하나 두어, 장면 전환시 미리 Text객체가 로딩되도록 해주었습니다.
처음 개발일지를 올리고 그 이후 생각보다 많이 진행이 되었습니다. 간단한 UI연출, 기본적인 유닛 조작 등 조금이지만 윤곽이 보이기 시작하네요
코드 원문 : using System.IO; using UnityEngine; public static class ColorUtils { /// /// 지정된 16 진수 색상으로 변환합니다 /// /// /// /// // RGBA (1.000, 0.502, 0.000, 1.000) /// ColorUtils.ToARGB (0xFFFF8000) /// /// public static Color ToARGB ( uint val) { var inv = 1f / 255f ; var c = Color.black; ca = inv * ((val >> 24 ) & 0xFF ); cr = inv * ((val >> 16 ) & 0xFF ); cg = inv ..
코드 원문 : using System; using System.Collections; using UnityEngine; public static class CoroutineCommon { private static readonly MonoBehaviour mMonoBehaviour; static CoroutineCommon () { var gameObject = new GameObject ( "CoroutineCommon" ); GameObject.DontDestroyOnLoad (gameObject); mMonoBehaviour = gameObject.AddComponent (); } public static void CallWaitForOneFrame (Action act) { mMonoBehavio..
코드 원문 : public static class StringExtensions { public static string RemoveNewLine( this string self ) { return self.Replace( "\r", "" ).Replace( "\n", "" ); } } 사용법: var str = "피카츄 \n망나뇽" ; str = str.RemoveNewLine (); 참고: http://www.atmarkit.co.jp/fdotnet/dotnettips/1000removecrlf/removecrlf.html