공부/Unity

NGUI 기본 사용법

개발의 피 2024. 9. 23. 16:25

사용해볼 때, 헷갈려서 찾아본 것 위주로 정리 남기기 ! 

 

1. NGUI 특징

1) 아틀라스 기반 시스템 

여러 이미지를 하나의 큰 텍스처로 결합해, 드로우 콜을 줄이고 성능을 최적화

2) 앵커 

다양한 화면 크기에 대응 가능

3) 트윈 

DotTween을 사용할 필요없이, 트윈 시스템 내장

 

2. Texture vs. Sprite 

Texture : 단일 이미지 전체 표시에 사용

직접 텍스처 참조

개별 드로우 콜 발생, 각 텍스처마다 메모리 사용

-> 배경 이미지, 전체 화면 텍스처, 런타임에 생성되는 텍스처에 적합

 

Sprite : 아틀라스 일부분 표시 

아틀라스 : 여러 이미지를 하나의 텍스처에 패킹 

여러 스프라이트가 하나의 아틀라스 메모리 공유

9-슬라이스 기능 지원 (UGUI : 9-slice / NGUI : sliced sprite)

버튼, 아이콘 등 작은 UI 요소 / 반복되는 UI 요소에 적합

-> 성능, 메모리 관리 측면에서 스프라이트를 사용하는 것이 일반적으로 더 효율적 

=> '배경 이미지, 전체 화면 텍스처, 런타임에 생성되는 텍스처' 빼고

 

3. UIButton

  • OnPress : 버튼 누를 때
  • OnDrag : 드래그할 때
  • OnClick : 버튼 클릭할 때
  • OnHover : 마우스가 오브젝트 위에 올라갈 때
  • OnSelect : 오브젝트가 선택될 때

 

* OnClick vs. OnPress 

OnClick : 버튼을 누르고 떼는 시점

OnPress : 버튼을 누르는 순간 즉시 

 

4. 이벤트 받기

EventDelegate(나중에 추가), EventListener 

-> 2.7은 EventListener만 지원해서 사용 

 

EventListener 종류

 

 

5. Progress Bar vs. Slider

프로그레스 바 : 진행 상황을 나타내는 용도 (보는 목적)

-> 체력바 or 경험치바

 

슬라이더 : 더해서 조절가능한 기능 

-> 사운드바 같이 사용자가 값을 선택하거나 조절해야할 때