유니티 UI 시스템에 대해 공부한 내용들을 정리해보았습니다.
UI (User Interface) 란?
사용자 인터페이스(UI: User Interface)는 사람과 사물 또는 시스템, 특히 기계, 컴퓨터 프로그램 등 사이에서 의사소통을 할 수 있도록 일시적 또는 영구적인 접근을 목적으로 만들어진 물리적, 가상적 매개체를 뜻합니다.
즉, UI는 사람들이 컴퓨터와 상호작용하는 시스템입니다.
유니티의 UI 시스템
Unity는 Unity 에디터에서 만든 애플리케이션과 Unity 에디터를 위한 사용자 인터페이스(UI)를 만드는 데 사용할 수 있는 세 가지 UI 시스템을 제공합니다.
- UI Toolkit
Unity의 최신 UI 시스템입니다.
플랫폼 간 성능을 최적화하도록 설계되었으며 표준 웹 기술을 기반으로합니다. UI Toolkit을 사용하여 Unity 에디터 용 확장을 생성하고 게임 및 애플리케이션 용 런타임 UI를 생성할 수 있습니다
Unity는 UI 툴킷이 새로운 UI 개발 프로젝트에 권장되는 UI 시스템이 될 계획이지만 여전히 Unity UI (uGUI) 및 IMGUI에 있는 일부 기능이 누락되었습니다.
- The Unity UI (uGUI) package
게임 및 응용 프로그램의 런타임 UI를 개발하는 데 사용할 수 있는 오래된 GameObject 기반 UI 시스템입니다.
Unity UI에서 구성요소 및 게임 뷰를 사용하여 사용자 인터페이스를 정렬, 배치 및 스타일링합니다. 고급 렌더링 및 텍스트 기능을 지원합니다.
- IMGUI (Immediate Mode Graphical User Interface)
OnGUI 기능과 이를 구현하는 스크립트를 사용하여 사용자 인터페이스를 관리하는 코드 기반 UI 툴킷입니다.
IMGUI를 사용하여 스크립트 구성 요소, Unity Editor 확장 및 게임 내 디버깅 디스플레이에 대한 사용자 정의 검사기를 만들 수 있습니다. 런타임 UI를 빌드하는 데 권장되지 않습니다.
어떤 UI 시스템을 사용할 것인가?
각자 게임을 개발하는 상황에 따라 달라질수 있다고 생각합니다.
레거시 프로젝트를 지원해야하는 프로젝트라면 UGUI나 IMGUI, 새로운 게임 프로젝트를 개발하는 입장이라면 UI Toolkit이나 UGUI, 새로운 UI를 만들고 싶다면 IMGUI를 선택하면 좋을 거 같다고 생각이 듭니다.
각자 여러 가지 상황이 있겠지만, 요구사항에 맞게 UI 시스템을 선택하기 위해선 결국 유니티 UI를 모두 다 써보고 UI 마다 어떤 특징들이 있는지 이해를 해야 한다고 생각합니다. 그래서 저도 당장은 그나마 쉽다고 느껴지는 UGUI 부터 공부를 해볼까 합니다.
아직 공부가 부족해서 틀린 부분이 있을수 있으니 유의해서 참고하시면 좋을 거 같네요.
참고)
https://en.wikipedia.org/wiki/User_interface
'기타 분야 > Unity' 카테고리의 다른 글
[Unity] MonoBehaviour의 생명주기(Life Cycle) (0) | 2021.06.01 |
---|---|
[Unity] GameObject 정리 (0) | 2021.05.30 |
[Unity] 유니티 UI 시스템 - UGUI (0) | 2021.05.27 |
[Unity] Rider를 사용해서 유니티 개발하기 (환경 세팅) (0) | 2021.05.23 |