当前位置:网站首页>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
边栏推荐
- Osgconv tool usage
- go 解析身份证
- CLion-Toolchains are not configured Configure Disable profile问题解决
- Golang time format sorting
- How to establish rectangular coordinate system in space
- One dimensional array two dimensional array (sort Max insert sort)
- Ue5 opencv plug-in use
- What is BFC?
- 100 GIS practical application cases (78) - Multi compliance database design and data warehousing
- Osgearth topographic shading map drawing
猜你喜欢

Mxone Pro adaptive 2.0 film and television template watermelon video theme apple cmsv10 template

Base64 and base64url

Unity4.3.1 engine source code compilation process

UE4 source code reading_ Mobile synchronization

matlab神經網絡所有傳遞函數(激活函數)公式詳解

Puhua PLM empowers the whole scene product lifecycle management and helps the enterprise digital transformation of the main line of products

Three characteristics

了解小程序的笔记 2022/7/3
![P1596 [USACO10OCT]Lake Counting S](/img/a7/07a84c93ee476788d9443c0add808b.png)
P1596 [USACO10OCT]Lake Counting S

the installer has encountered an unexpected error installing this package
随机推荐
matlab神经网络所有传递函数(激活函数)公式详解
Mall management system of database application technology course design
Dealing with duplicate data in Excel with xlwings
Creation of osgearth earth files to the earth ------ osgearth rendering engine series (1)
P1596 [USACO10OCT]Lake Counting S
[usaco12mar]cows in a skyscraper g (state compression DP)
the installer has encountered an unexpected error installing this package
Swagger document configuration
E: Unable to locate package ROS melody desktop full
Chocolate installation
Cesium service deployment, and import and display local 3dfiles data
MAE
Mysql容器化(1)Docker安装MySQL
Student educational administration management system of C # curriculum design
[cloud native] introduction and use of feign of microservices
Simply start with the essence and principle of SOM neural network
Get to know unity2 for the first time
图像处理8-CNN图像分类
Pit & ADB wireless debugging of vivo real machine debugging
Use of ue5 QRcode plug-in