Author:J.J.Cat
Email:[email protected]
使用Unity提供的Editor类库,可以让开发者创建自定义的Inspector面板和窗口。这里是Unity官方的Editor类库在线参考文档,您在接下来的学习和开发中将会一直使用它查找相关类参考文档。
在Unity的官方Scripting Reference的目录下,他把所有的Scripting分为两类,一类叫做Runtime Classes,还有一类叫做Editor Classes。如果您只是用Unity进行游戏开发,那么您可能只接触过Runtime Classes,Runtime Classes是在游戏中运行的Scripting。而Editor Classes是在Unity下运行的Scripting。如果我们要制作工具,那么一定是在Unity下运行的,所以这些就是进行工具制作的类库。
Editor Classes指代Unity中的Editor类库,它包含了几十个关于Unity编辑器的类。这些类的功能很多,能帮助您在Unity下创建自己的工具。例如有关于Asset的类,他们能让您创建,修改,删除Asset,这样您可以自定义资源,并导入到Unity中进行编辑和修改。还有强大的动画工具类,可以创建和访问动画文件,如果你觉得Unity自带的Animation Editor还不能满足您的要求,你完全可以自己制作一个新的Animation Editor进行动画的创建和修改。
下图中,左边的Inspector是Unity默认给My Player类创建的,右边的Inspector面板是我们自定义的。显然右边的Inspector面板更加适合设计师用来进行数值的修改,它包含了最大和最小值的区间,并用一个Loading Bar来展现视觉要素。
默认的Inspector和自定义Inspector的对比
下图中左侧的窗口是用户自定义窗口,他可以像其它的Unity窗口那样进行布局和摆放。
本教程采用C#语言编写,如果您从来都没有在Unity中使用过C#,那么请先阅读官方文档Overview: Writing Scripts in C# & Boo(英文官方,中文翻译)。
对于Javascript和Boo用户,这篇是关于Javascript和C#语言不同之处的比较。这篇是关于C#和Boo语言不同之处的比较。这两篇文章可以很快速的让你了解C#的语法,让您能以最短的学习时间读懂接下去的C#代码。
如果想要设置断点单步执行程序,那么必须使用Unity自带的IDE Mono Develop。想要调试Editor class的代码,首先得把Unity Debugger attach 上Unity Editor。步骤如下:启动Mono Develop,点击菜单栏Run->Attach to Process...,选中Unity Editor并点击Attach。完成这步后,就可以进行单步调试了。
Mono Develop Attach to Process...对话框
注意(如果出现Attaching失败,尝试查看Unity的菜单Edit->Preferences...点击External Tools选项卡,把Editor Attaching勾上,重启Unity和Mono Develop)
Unity给开发者提供了一组Editor 类来制作自定义的编辑器窗口。在Asset Store上有很多插件,有些插件制作了非常漂亮的工具编辑器窗口。都是采用这些Editor来实现的。根据您的开发需要,您完全可以利用Editor类制作您自己的编辑器工具。