Version: 6000.3
语言: 中文
Unity 用户界面
IMGUI 基础知识

IMGUI(即时模式 GUI)

IMGUI(即时模式 GUI)是 Unity 基于游戏对象的主要 UI 系统完全独立的功能。IMGUI是一个代码驱动的GUI系统,主要作为程序员的工具。它是由对实现它的任何脚本上的 OnGUI 函数的调用驱动的。例如,以下代码:

    void OnGUI() {
        if (GUILayout.Button("Press Me")){ 
            Debug.Log("Hello!");
        }
    }

将导致显示一个按钮,如下所示:

上述代码示例的结果
上述代码示例的结果

IMGUI 通常用于:

  • 创建游戏内调试显示和工具。
  • 创建自定义inspectors一个 Unity 窗口,显示有关当前所选游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
    请参阅术语表
    用于脚本组件。
  • 创建新的编辑器窗口和工具来扩展 Unity 本身。

IMGUI 通常不用于玩家可能使用和交互的正常游戏内用户界面。为此,您应该使用 Unity 基于游戏对象的主要 UI 系统,该系统提供了一种基于游戏对象的方法来编辑和定位 UI 元素,并且具有更好的工具来处理 UI 的视觉设计和布局。

“即时模式”是指 IMGUI 的创建和绘制方式。要创建 IMGUI 元素,您必须编写进入名为 OnGUI 的特殊函数的代码。显示界面的代码每帧执行一次,并绘制到屏幕上。没有持久性游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
除了 OnGUI 代码附加到的对象,或层次结构中与视觉元素实例化或派生自 C# 的可视化树的节点VisualElement类。您可以设置外观样式、定义行为并将其作为 UI 的一部分显示在屏幕上。更多信息
请参阅术语表
画的。

IMGUI 允许您使用代码创建各种功能性 GUI。只需几行代码即可一次完成所有作,而不是创建游戏对象,手动定位它们,然后编写处理其功能的脚本。该代码生成 GUI 控件,这些控件通过单个函数调用绘制和处理。

本节介绍如何在游戏和 Unity 编辑器的扩展中使用 IMGUI。

Unity 用户界面
IMGUI 基础知识