Unity自定义Inspector界面
在开发游戏的过程中,经常碰到需要开发编辑器的功能,Unity商店里面不乏一些非常出色的编辑器工具。当然还有一种开发编辑器工具的工具,比如:Odin,这个工具让开发编辑器变得异常简单,但是里面有大量的Attribute重写,我担心影响Unity编辑器的性能,没敢轻易使用,而且一般的编辑器工具,直接动手就写了,根本也不需要什么插件。
今天我把他的源码简单看了一下,实现了它的一个功能,扩展Inspector,期间查阅各种资料,又把Unity自定义编辑器的API给过了一遍,这里做一个简单的小笔记。
一.GUI系统
如果想开发编辑器,不得不先了解下GUI系统, 因为编辑器下只能使用GUI。那么GUI有分四中不同的系统。
分别是:
- 1、UnityEngine.GUI
- 2、UnityEngine.GUILayout
- 3、UnityEditor.EditorGUI
- 4、UnityEditor.EditorGUILayout
这四个有什么区别呢?
1.GUI系统
命名空间UnityEngine
属于运行时API,也可用于编辑器,只能单纯的绘制控件,没有布局效果,需要手写每个控件的位置和大小。
例子:
private