当前位置:网站首页>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
边栏推荐
- Puhua PLM empowers the whole scene product lifecycle management and helps the enterprise digital transformation of the main line of products
- Luaframwrok handles resource updates
- Lua framwrok framework starts
- Mxone Pro adaptive 2.0 film and television template watermelon video theme apple cmsv10 template
- Sequence of map implementation classes
- A tunnel to all ports of the server
- Ilruntime learning - start from scratch
- About the problem that the editor and the white screen of the login interface cannot be found after the location of unityhub is changed
- Detailed explanation of all transfer function (activation function) formulas of MATLAB neural network
- Golang time format sorting
猜你喜欢

Flex flexible box layout

MySQL 8

About Wireshark's unsuccessful installation of npcap

Get to know unity2 for the first time

十六进制编码简介

Notes on understanding applets 2022/7/3

Cloudcompare learning (1) - cloudcompare compilation and common plug-in implementation

Unity change default editor

Multi traveling salesman problem -- overview of formula and solution process
![P1596 [USACO10OCT]Lake Counting S](/img/a7/07a84c93ee476788d9443c0add808b.png)
P1596 [USACO10OCT]Lake Counting S
随机推荐
animation
Ilruntime learning - start from scratch
OpenGL learning notes
MXone Pro自适应2.0影视模板西瓜视频主题苹果cmsV10模板
the installer has encountered an unexpected error installing this package
Haproxy+kept build 01
Mall management system of database application technology course design
【音视频】ijkplayer错误码
Delete the last character of the string in golang
Kwai 20200412 recruitment
P1596 [USACO10OCT]Lake Counting S
the installer has encountered an unexpected error installing this package
Conversion between golang JSON format and structure
Encoding and decoding of golang URL
redis集群系列四
Creation and content of mapnode -- osgearth rendering engine series (2)
Cesium for unreal quick start - simple scenario configuration
Haproxy+kept cluster setup 02
C#课程设计之员工信息管理系统
P1896 [scoi2005] non aggression (shape pressure DP)