“즉시 모드” 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를 사용하는 방법에 대해 설명합니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.