게임심화 - 12. UI-UGUI(2), NGUI(1)

LSDrug·2024년 7월 15일

유니티에서의 UI

유니티에서 UI에 관한 것들을 건들이기 위해서는 다음 선언이 필요하다.

using UnityEngine.UI;

해당 표현을 사용하지 않으면 해당 UI에 관련된 것을 사용할 때마다 선언을 해야한다.

선언을 하면 이렇게 바로 사용할 수 있는 것이

선언을 하지 않으면 사용할 때마다 선언을 해주어야 한다.


NGUI(Next-Gen UI Kit)

간단하고 쓰기 쉽게 설계된 이벤트형 UI 프레임워크

UGUI를 사용하기 전에 거의 대부분의 프로젝트에서 사용하는 UI.

현재 실무에서도 사용하는 UI이다.

특장점은 다음과 같다.

  • 컴포넌트 기반의 모듈 특성 덕분에, 스크립팅하지 않고 컴포넌트를 연결하는 것만으로 원하는 동작을 할 수 있다.
  • iOS와 안드로이드에 대해 완벽하게 지원한다.
  • 1 드로우콜(=아틀라스)만으로 복잡한 UI를 그려 효율성이 높다.
  • 간단한 트위닝 시스템이 내장되어 있다.
  • 깔끔하고 짧고 간단하게 최적화된 C# 코드 전부를 사용한다. -> 커스터마이징이 가능하다.
  • 외부 DLL이 하나도 없다. -> 버전 호환을 신경쓰지 않아도 된다.

UI Root

NGUI의 UI 계층에서 최상위에 있는 컴포넌트로서 UI의 시작이며 근간이다.

UI의 전체 스케일을 관리하는 기능을 하고 있다.

Scaling Style에는 여러 스타일이 존재한다.

모든 UI는 항상 픽셀 단위로 존재하며, 해당 해상도의 위젯은 화면에서 항상 해당 크기로 존재한다.

저해상도 화면에서 UI가 크게 보이고, 고해상도의 화면에선 UI가 작게 보인다.

모든 UI를 가능한 한 선명하게 유지한다.


UI PANEL

하위에 붙어 있는 모든 위젯을 수집해서 관리하는 컴포넌트다.

위젯을 그려주거나 UI 클립핑을 위한 사각형 영역을 설정한다.

각 위젯을 실제로 화면에 그리기 위한 폴리곤을 만들어 그리게 된다.

UI PANEL 없이는 아무것도 그릴 수 없으며, 유니티 엔진에 빗대어 생각한다면 렌더러와 비슷하다.


UI 위젯

기본 모든 UI의 기본 베이스. 간단히 말해서, UI 위젯은 화면에 배치할 수 있는 사각형 영역.


profile
마약같은 코딩, 마약같은 코딩러

0개의 댓글