当前位置:网站首页>Unity editor expansion - the framework and context of unity imgui
Unity editor expansion - the framework and context of unity imgui
2022-07-03 08:26:00 【T.D.C】
Little knowledge
- Unity Based on IMGUI The design idea of ui Frame and use it to make UnityEditor
- In the early Unity Users of ui Also mostly used IMGUI Realization
- IMGUI Performance ratio ngui and ugui low , No one should use the new project now ngui 了
- Now? Unity A new ui programme , Integrate the past unity Officially supported ui
- I guess I'll leave the world ui The framework update is not far away , Another wave of technological progress
Unity IMGUI Framework
- stay Monobehaviour perhaps Window Defined in subclasses OnGUI Method , stay OnGUI Method can be used Unity Of api establish ui
- make carbon copies Editor Class OnInspectorGUI The method has a similar effect , This is often used to customize a Mono Script editor
Core class : create a window 、 Control , Make a layout , Modify the style
- EditorWindow, The custom window must be EditorWindow Subclasses of , Use GetWindow establish
- GUI, There is no automatic layout , You can create controls , You can set to get GUI The state of
- GUILayout, There is automatic layout , You can create controls
- GUILayoutUtility, Yes GUILayout expand
- EditorGUI, More functions GUI
- EditorGUILayout, More functions GUILayout
- EditorGUIUtility, Yes GUILayout Development of
- Handles, Painting in the scene 3D ui
- What does auto layout mean
- You can specify scalable size information to make the control layout automatically
- Use GUILayout Method creation under GUILayoutOption To set layout properties
- Create in the editor GUISkin, When you create a control, you can change the style by passing it to the control
example
- More examples can be found in the resources below unity Official documents found
using UnityEditor;
using UnityEngine;
namespace DC.DCIMGUIBox
{
public class LayoutAndAreaWindow_01 : EditorWindow
{
[MenuItem("DC/IMGUI/LayoutAndAreaWindow_01")]
public static void Open()
{
var window = GetWindow<LayoutAndAreaWindow_01>();
window.minSize = new Vector2(800, 600);
}
public void OnGUI()
{
GUILayout.BeginArea(new Rect(0, 0, 200, 200));
EditorGUI.DrawRect(new Rect(0, 0, 100, 100), Color.blue);
if (Event.current.type == EventType.MouseDown)
{
Debug.Log("box a" + Event.current.mousePosition);
}
GUILayout.EndArea();
GUILayout.BeginArea(new Rect(210, 0, 200, 200));
EditorGUI.DrawRect(new Rect(0, 0, 100, 100), Color.red);
if (Event.current.type == EventType.MouseDown)
{
Debug.Log("box b" + Event.current.mousePosition);
}
GUILayout.EndArea();
}
}
}
Reference material
- https://docs.unity3d.com/Manual/GUIScriptingGuide.html
边栏推荐
- Pit & ADB wireless debugging of vivo real machine debugging
- Initial unity
- Easy touch plug-in
- 图像处理8-CNN图像分类
- Cesium for unreal quick start - simple scenario configuration
- Mysql容器化(1)Docker安装MySQL
- P2704 [noi2001] artillery position (shape pressure DP)
- Golang 字符串分割,替换和截取
- 使用base64编码传图片
- Visual Studio (VS) shortcut keys
猜你喜欢
L'installateur a été installé avec une erreur inattendue
详解sizeof、strlen、指针和数组等组合题
Unity4.3.1 engine source code compilation process
Simply start with the essence and principle of SOM neural network
Constraintlayout's constraintset dynamically modifies constraints
Detailed explanation of all transfer function (activation function) formulas of MATLAB neural network
php-fpm软件的安装+openresty高速缓存搭建
[updating] wechat applet learning notes_ three
100 GIS practical application cases (78) - Multi compliance database design and data warehousing
C#课程设计之学生教务管理系统
随机推荐
Introduction to hexadecimal coding
php-fpm软件的安装+openresty高速缓存搭建
E: Unable to locate package ROS melody desktop full
UE4 source code reading_ Bone model and animation system_ Animation node
【音视频】ijkplayer错误码
Some understandings of 3dfiles
Exe file running window embedding QT window
Xlua task list youyou
MySQL containerization (1) docker installation MySQL
梯度下降法求解BP神经网络的简单Demo
Maxcompute string splitting function -split_ PART
redis集群系列四
Haproxy+kept cluster setup 02
Use of ue5 QRcode plug-in
[audio and video] ijkplayer error code
Jupyter remote server configuration and server startup
Solution détaillée de toutes les formules de fonction de transfert (fonction d'activation) du réseau neuronal MATLAB
Dealing with duplicate data in Excel with xlwings
[set theory] order relation (hastu example | divisive relation hastu | inclusive relation hastu | refinement relation hastu)
the installer has encountered an unexpected error installing this package