刚接触Unity3D不久,由于本屌记性不好,有些东西需要写下来才能安心,方便往后查阅。不足之处请多多包涵和指教。废话不多说,下面开始进入正题(本文使用Unity5.6.4版本)。

开始

第一步先一个名叫CustomMenu的空项目,接着再创建一个名为CustomMenuScript的C#脚本。

如下图:

unity3d 制作菜单 unity菜单栏_命名空间


我们可以看到菜单栏上都是系统自带的菜单,那么如何添加自己定义的菜单呢?双击脚本,用编辑器打开进行编辑,在这里我使用的是VS2017。

unity3d 制作菜单 unity菜单栏_unity3d 制作菜单_02

给脚本增加编辑器宏限制。

unity3d 制作菜单 unity菜单栏_快捷键_03


为什么要添加这个?就是为了告诉Unity,此脚本只在编辑器模式下起作用。第二步,引入UnityEditor命名空间(记住:只有引入这个命名空间,才可以创建自定义的菜单)。

unity3d 制作菜单 unity菜单栏_字符串_04

第三步,定义static的静态函数,并给函数增加attribute。

unity3d 制作菜单 unity菜单栏_命名空间_05


[MenuItem(“CustomMenu/CustomSubMenu1”)]和[MenuItem(“CustomMenu/CustomSubMenu1”)],字符串”CustomMenu/CustomSubMenu1”和”CustomMenu/CustomSubMenu1”就是我们自定义菜单CustomMenu下的两个子菜单CustomSubMenu1和CustomSubMenu2,/是代表菜单的层级。层级关系可以根据自己的需求添加,用/隔开即可。点击菜单要执行怎么样的操作可以在函数体内实现,这里我们只是简单的打印输出。保存脚本文件,切换回到Unity。

unity3d 制作菜单 unity菜单栏_字符串_06


咦,神奇的事情发生了!我们新增的自定义菜单已经出现在菜单栏上。最后,大家有没有发觉好像还缺少点什么东西。作为一个程序员,我们讲究的就是方便快捷。看能不能给它添加个快捷键呢?这些年我一直信奉,方法总比问题多得多。so,接下来我们来给它添加个快捷键吧。

有一点需要大家记住:

Unity快捷键的对应值:

%代表Ctrl #代表Shift &代表Alt

其实很简单,增加快捷键,快捷键写在MenuItem菜单名的字符串后即可。

下面是添加快捷键后的效果图:

unity3d 制作菜单 unity菜单栏_命名空间_07

本文到这里就告一段落了,希望大家天天开心,做个快乐的程序员^.^ ^.^ ^.^