목록unity (3)
Game Tech Blog
Keyword : C# , Mono, IL2CPP, AOT, JIT C# 은 .Net(MS) FrameWork 를 기반으로, 작성된 언어로, .Net 안에서 돌아갑니다. 그러나, 우리는 Unity로 게임을 만들면서 PC,AOS,IOS 등등 다 돌릴 수 있습니다. 이런 .Net이 지원안되는 환경에서도 돌아갈 수 있도록하기위해, Unity에서는 Mono 라는 것을 사용합니다. 하지만, Mono는 IL(Intermidiate Langauge)을 Runtime에 Native 하게 바꿔주는 Just-In-Time(JIT)을 사용합니다. 아무래도 게임을 시작하기 전 모든 내용을 Binary로 바꿔주지 않고, 그때그때 사용하다보니 성능 문제를 일으키기 때문에, Unity는 AOT, Ahead-Of-Time 컴파일러인..
Canvas ? Canvas 란, UGUI 에서 ui요소들을 그리기 위한 하나의 컨테이너이다. 이 것을 특별히 분할하여 사용해야하는 이유가 있는가? Canvas 는, 일반적으로 Main 하나를 두고 사용하는 경우가 있는데, 내부에서 동적으로 이동, Fill 등의 조그마한 움직임 처리, Canvas 내부에 마우스 포인터가 왔다갔다 하는 행위들이 일어날때, 하나의 Canvas 로 이루어진 UI의 경우 하위에 모든 오브젝트들을 다시 렌더링해야하는데 이는 ReBuild 된다라고 한다. 예전에, Scroll View 를 사용하면서, 제대로 배치 되지않아서 LayoutRebuilder.ForceRebuildLayoutImmediate(); 함수를 사용해서 다시 렌더링하거나, GameObject.SetActive(f..
Unity Addressable Asset System이란? - "주소" 별로 Asset을 로드하는 방식을 제공하는 시스템 - 비동기식 로딩을 사용하며, 모든 종속성 컬렉션이 있는 모든 위치에서의 로딩을 지원. - 기존 Asset Bundle 또는 리소스 폴더를 사용하든 관계없이 Addressable Asset 은 게임을 더욱 동적으로 만드는 간단한 방식을 제공. 기존에 잘 쓰던것도 있는데 왜 또 개발되었는가? - 기존에 잘 쓰던 방식은 리소스 폴더, 에셋 번들을 사용하는 방식이 있었다.다만, 각각의 치명적인 이유가 있어서 이 문제들을 해소하기 위하여, Addressable 이 개발된 것으로 보아도 무방하다. 1. 리소스 폴더 사용 방식 1) Apk 사이즈가 커진다. -> Resources 폴더 안에 들..