Version: 2018.2
画面遷移の作成
IMGUI の基本

IMGUI (即時モードの GUI)

即時モード (Immediate Mode) の GUI システム (IMGUI) は、ゲームオブジェクトベースの Unity の主要 UI システムから独立した機能です。IMGUI はコードで制御される GUI システムで、主にプログラマー用のツールです。IMGUI は、任意のスクリプトで実装する OnGUI 関数を呼び出すことによって制御されます。以下はその例です。

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

上記のコードは、下のようなボタンになります。

前述のコードで作成されたボタン
前述のコードで作成されたボタン

IMGUI は、一般に以下の用途で使用されます。

  • ゲーム内のデバッグ表示とツールの作成
  • スクリプトコンポーネント用のカスタムインスペクターの作成
  • Unity そのものを拡張する新しいエディターウインドウとツールの作成

IMGUI システムは通常、プレイヤーが操作するゲーム内のユーザーインターフェースに使うことを目的としていません。それらを行うにはゲームオブジェクトベースの Unity の主要 UI システム を使用します。UI システムは UI 要素の編集と配置にゲームオブジェクトベースのアプローチが可能で、ビジュアルデザインと UI のレイアウトをするためにより便利なツールを備えています。

“Immediate Mode” は IMGUI を作成して描画する方法を示唆しています。IMGUI の要素を作成するためには、OnGUI という名前の特別な関数を呼び出すコードを作成する必要があります。インターフェースを表示するためのコードはすべてのフレームで実行され、画面に描画されます。OnGUI コードが付加されたオブジェクトか、階層内の描画されたビジュアル要素と関連する他のタイプのオブジェクト以外に、永続的なゲームオブジェクトは存在しません。

IMGUI により、多様な機能を備えた GUI をコードを使って作成することが可能になります。ゲームオブジェクトを作成して手動で配置し、その機能を処理するスクリプトを作る代わりに、このすべてを数行のコードで一度に行えます。コードは、一度の関数呼び出しで描画され処理される GUI コントロール を可能にします。

このセクションでは、ゲーム内と Unity エディター拡張機能の両方の面で IMGUI の使い方を説明します。

画面遷移の作成
IMGUI の基本
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961