“즉시 모드” GUI 시스템(IMGUI라고도 함)은 Unity의 메인 게임 오브젝트 기반 UI 시스템과 완전히 별개의 기능입니다. IMGUI는 코드 기반 GUI 시스템이며, 주로 프로그래머를 위한 툴로 사용됩니다. OnGUI 함수를 구현한 모든 스크립트에서 OnGUI 함수를 호출하여 구동됩니다. 예를 들어 이 코드는 다음과 같습니다.
void OnGUI() {
if (GUILayout.Button("Press Me")){
Debug.Log("Hello!");
}
}
아래와 같은 버튼이 표시됩니다.
일반적으로 즉시 모드 GUI 시스템은 다음과 같은 경우에 사용합니다.
IMGUI 시스템은 일반적으로 플레이어가 사용하고 상호작용할 수 있는 일반 인게임 사용자 인터페이스를 위한 것이 아닙니다.이러한 용도로는 Unity의 메인 게임 오브젝트 기반 UI 시스템을 사용해야 합니다. 이 시스템은 UI 요소를 편집하고 배치하기 위한 게임 오브젝트 기반 접근 방식을 제공하며, UI의 시각적 디자인 및 레이아웃 작업을 위해 보다 뛰어난 툴을 갖추고 있습니다.
“즉시 모드”라는 표현은 IMGUI가 생성되고 그려지는 방법을 나타냅니다. IMGUI 요소를 생성하려면 OnGUI라는 특수 함수에 들어가는 코드를 작성해야 합니다. 인터페이스를 표시하는 코드는 프레임마다 실행되어 화면에 인터페이스를 그립니다. OnGUI 코드가 연결된 오브젝트나 화면에 그려지는 시각적 요소와 관련된 계층 구조의 오브젝트를 제외하고는 지속적으로 존재하는 게임 오브젝트는 없습니다.
IMGUI를 사용하면 코드를 사용하여 다양한 기능 GUI를 생성할 수 있습니다. 게임 오브젝트를 생성하고, 수동으로 배치하고, 기능을 처리하는 스크립트를 작성하는 대신, 몇 줄의 코드로 한 번에 모든 것을 해결할 수 있습니다. 코드는 단일 함수 호출로 그려지고 처리되는 GUI controls 를 생성합니다.
이 섹션에서는 게임과 Unity 에디터의 확장 프로그램에서 IMGUI를 사용하는 방법에 대해 설명합니다.