制作 unity编辑器类(这里我们使用C#来做例子)
新建一个脚本UnityEditorTest.cs 放在项目的 Editor文件夹下面这是 unity官方的规定
然后我们要引用,unity的编辑器的空间
using UnityEditor;
UnityEditorTest类继承
Editor
新建一个继承MonoBehaviour的脚本 Test.cs,把它添加到一个物体上面。
这样我们就可以来制作我们的编辑器了!
首先我们要制定 我们这个的UnityEditorTest编辑器对应的是Test类。
怎么坐呐?
首先我们要在
[CustomEditor(typeof(Test))] // 引入Test类
[ExecuteInEditMode] //在编辑器模式下启动编辑器脚本
public class UnityEditorTest : Editor
做完之后 想让我门的代码得到实时的刷新,必须重载Editor的
public override void OnInspectorGUI ()
方法,这样我们把要试试刷新的代码放在
重载的方法里面,这样我们选中物体时候就会实时的刷新编辑器中得属性。
我们在 Test.cs 里面定义一个String变量 test
我们怎么在编辑器中获得呐?
首先拿到Test的对象
Test t = (Test)target;
然后就可以 t.test拿到变量。
我们就可以给它实时的使用面板进行赋值(test变量必须是pubic属性和面板可现实的)
t.test = EditorGUILayout.TextField("面板显示的名字:",t.test);
这样我们就可以在 物体的 面板上面 看到
ok。
这样策划也可以看起我们这个属性的名字,就可以根据需求进行修改了。
EditorGUILayout中不仅有 TextField函数,还可以支持自定义,以及自己建立的继承的object的类。 具体可以查阅unity 手册。
今天先到这,明天接着更新!这里只是个大概详述一个具体的思考过程。