UNITY EDITOR拓展_策划关卡编辑工具制作

新项目是关卡制的一个小游戏,需要策划去手动拼接关卡,又是采取了3D场景下2D人物的展现形式,所以对于场景中的道具摆放及角度调整是一个较为细致繁琐的活,于是乎,策划提出了需要一个关卡制作工具的需求,最开始是希望能够有一个独立出来的exe文件,但是UNITY本身其实就是一个非常强大的编辑工具,所以在我的劝说之下,采取了拓展Unity Editor的方式来进行制作

首先新建一个脚本,注意一定要放在Editor目录下,我们是希望在不运行的时候直接去在Scene场景中做相关的编辑操作,所以类继承自EditorWindow

[MenuItem]就可以定义在工具栏显示,我们可以随时调取打开编辑器,%M为定义快捷键

ok,那么在定义好类之后,我们就需要去显示我们的具体内容了,很简单,在OnGUI下去定义你要显示的内容即可

基本的操作就是这两步,就可以实现一个能够从工具栏点击开启的带有功能的窗口。而接下来再向窗口中添加内容的部分我在进行了学习之后,理解到了其中一点我认为比较关键的部分分享给大家。

由于我们是直接使用代码去制作一个带有工具界面,而如何实现各个组件的正确排列是我在制作过程中遇到的一个问题,后来发现EditorGUI中是使用了代码块的方式来定义组件及各个区域的排列。

下图我是使用了BeginHorizontal()以及EndHorizontal()实现了一个自动平行排列的组件块,而且既然有Horizontal就一定会有Vertical,实现自动竖直排列的组件块。当然了 也可以选在不实用自动排列而去自定义组件的位置,这样会无视当前位置是否有其他组件而直接进行放置

这样就可以实现各种组件模块根据所需进行摆列了

工具现在一些基本功能都做的差不多了,还欠一些细节部分。之后再想到什么还会继续补充

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。