UnityEditor(2) 打造属于自己的菜单&快捷键

当你习惯了ctrl + c 还会鼠标右键选复制么?一个成熟的软件自然也少不了各种快捷键,当然快捷键也是一个菜单选项的快速入口,所以菜单和快捷键是分不开的。

用快捷键者,快捷也。

Unity提供了不少键位,这里就不阐述了,下面两个网址是Unity自带的快捷键:

http://docs.unity3d.com/Manual/UnityHotkeys.html

http://www.ceeger.com/Manual/UnityHotkeys.html


正文

demo_editor_0201

需求并不可怕,可怕的是不合理的需求。

但是此时,我们得站在策划的角度思考未来的人生,思考有哪些功能可以做成菜单或是快捷键,下面列举一下我的:

  1. 复制、粘贴物体的世界坐标(再也不用手输坐标了)
  2. 删除空文夹(菜单only)
  3. SendMessage到物体的某方法(直到现在还一直受用,我太TM机智了)
  4. TimeScale的递增递减(用它来控制游戏进程太爽了)
  5. 让物品的变换(坐标、旋转、大小)变为整数。(专治强迫症,Unity复制物品时,Scale经常变为0.999999,此时这个方法的价值就突现了)

有光的地方,就会有着阴影,并非每个方法都是有用的,策划犯的错,我同样也会犯,或许不同的地方在于心理阴影的面积;自己背别人的锅,会产生抱怨,而自己背自己的锅,会得到教训,叫慎重!这篇文章不讨论团队合作的重要性,所以回归主题,细数往事:

  1. 加入3D音效,并自动录入设置
  2. 将所有的粒子数量设置在XX以下
  3. 创建Prefab到指定的地方
  4. Unity自动寻路一键设置
  5. 给每一个新场景自动生成快速进入的菜单项(技术定位错误,以致无法实现)

或许是天马行空的胡思乱想,也可能是纯粹的想扩充菜单库,但是最终没有形成有意义的产物。


码文

1.规则

快捷键对应的字符:

  • %  对应 Ctrl (mac cmd)
  • #   对应 Shift
  • &   对应 Alt
  • abc……xyz 123……0-+  为键盘键位

2.例1

将一个方法加入菜单,并且生成对应的快捷键:

demo_editor_0202

这个快捷键的属性是,增加开发人员在项目中的战斗力5000,令BUG无处逢生,居家开发之必备良药。广告结束,在你的脚本里写入KMDebug方法时,可以按快捷键运行方法里面的内容,即使是编辑器不运行的情况下也能执行,游戏运行中也是如此,这时能用到的地方就多了去了。如测试技能的时候,我想要CD快点;KMDebug里直接可以改CD参数;如测试一个数学函数直接写里面Call。

3.例2:删除空文件夹

1.在Editor下新建脚本 DeleteEmptyFolders

新建几个空文件夹,菜单中选择后:

demo_editor_0204

窗口提示代码:


结尾

—————END