TIL - Unity 숙련주차

Amberjack·2024년 2월 6일
0

TIL

목록 보기
34/83
post-thumbnail

24.02.06 Unity 숙련주차

오늘은 UI 특강과 자료 구조에 대한 특강을 들었다. 그 외엔 개인과제 중상 난이도의 UI를 구성했으나 인벤토리 부분에서 막혔다...

UI 특강

오늘은 굉장히 중요한 내용은 없었다. 하지만 다음에 UIManager 작성법에 대해 가르쳐주신다고 하셨으니 그 부분이 기대가 된다.

Atlas

그럼에도 중요한 내용이 있었는데, 바로 스프라이트 아틀라스이다.

스프라이트 아틀라스는 여러 개의 텍스처를 단일 텍스처로 결합하는 에셋이다.
아틀라스를 사용하지 않고 여러 개의 스프라이트를 사용할 경우, 하나하나 불러오기 때문에 성능 저하를 야기한다.
반면, 아틀라스를 사용하면 하나의 텍스처를 불러오기 때문에 성능 향상에 좋다.

https://docs.unity3d.com/kr/2021.3/Manual/class-SpriteAtlas.html

UI 최적화

UI 최적화를 정리해둔 유니티 팁이다.
UI Canvas를 하나에 몰아서 만들지 말고 여러 개로 나누어서 생성하거나, Input을 통해 유저와 상호작용 하지 않는 UI들의 Graphic Raycaster들을 없애거나 Raycast Target을 해제하거나 등등의 팁이 적혀있다.

https://unity.com/how-to/unity-ui-optimization-tips#avoid-layout-groups-when-possible

자료 구조

오늘은 주로 Queue, Stack, Dictionary에 대해 들었다. 또한 배열, 리스트, 연결리스트, 큐, 스택, 딕셔너리를 어떤 경우에 사용할 지 예시를 통해 함께 생각해보는 시간을 가졌다.

예를 들어, 인벤토리를 만들려고 할 때, 배열이나 리스트를 사용하는 방법보다 Dictionary를 사용하는 것이 Search를 할 때 시간 복잡도가 더 낮기 때문에 dictionary를 사용하는 것이 좀 더 유용하다와 같은 토론?을 했다.

확실히 현재 인벤토리를 만드는 중인데 한번 Dictionary를 사용해봐야 겠다는 생각이 들었다.

오늘의 회고

오늘은 특강만 2시간 넘게 들었다. 모두 도움이 되는 내용이어서 좋았지만, 아직 과제를 다 하지 못한 것이 걱정된다. 물론 1차 제출 때는 반드시 완성할 필요는 없지만 그래도 인벤토리까지는 구현해서 피드백을 받아보고 싶기 때문에 시간 내에 할 수 있을 지 걱정된다.

0개의 댓글