UnityEditor(1) 开启你华丽的编辑器生涯

前言

人区别于动物的重要技能就是创造和使用工具。

为什么Unity成为了大众的选择,我想其实很大一部分原因是因为Asset Store上面的插件!

正是这样一个庞大的工具式生态系统,给开发者减轻了很多做游戏的成本,并且插件本身也是一种交流与学习的平台,正是有了它们的存在,才使得开发者在成长的路上、在制作项目的过程中,如虎添翼。

正是这样一个庞大的工具式的生态系统,让我们告别无编辑器UI制作的低效工作的NGUI,让非程序员通过简单学习都能够动作的PlayMaker,带AI架构的 Behavior Designer,加密…… 等等,你能想到的功能系统,或许都能在商店里找到。

而最终成就插件的基石必不可缺的一部分:UnityEditor。


Hello World!

Unity对编辑器脚本有设定限制,脚本一放在Editor的文件夹目录之下;脚本引用通常会有

using UnityEditor;

Unity引擎中,我们常常在各种窗口进行着各种工作,如下图中

demo_editor_001

这种窗口我们也可以用代码出来,新建一个cs脚本并放在任意一个Editor文件夹下:

运行效果图:

demo_editor_002demo_editor_003

第一步就算完成了,欢迎进入编辑器世界,下面解析一下几个函数

窗口里面显示的内容

窗口的打开方式

这是一个UnityEditor 提供的元素集合的API,里面包括了常用的 字段、开关、变量输入、弹出框等等,也包括一些排布,总而言之这是一个必要用到的东东。下面会统一介绍到

另外想改变一个脚本在Inspector上面的视图的作法:比如Test.cs

改变内容写在OnInspectorGUI 方法里就行。

我们在此方法里加入一些元素:

运行图:

demo_editor_014

PS:上面的明星是我随便在百度找的,在写这篇博客之前我一个都不认识。


延伸

为某游戏做的关卡编辑器部分截图

流程控制总窗口

demo_editor_004

主要代码的数量

demo_editor_013demo_editor_012

事件管理器

demo_editor_006demo_editor_009

建筑物编辑

demo_editor_007 demo_editor_008

路点

demo_editor_010 demo_editor_011

关卡评星编辑

demo_editor_005

除了Hierarchy,其余大部分都加入了编辑功能,当然也包括自己的快捷键,方便的菜单功能。

OK,先到这里吧。

One Reply to “UnityEditor(1) 开启你华丽的编辑器生涯”