unity编辑器拓展(主要整理自siki)

编辑器拓展

https://blog.csdn.net/zxl321365712/article/details/80080586

蛮牛上一个详细的博客

http://www.manew.com/thread-90330-1-1.html

siki关于编辑器拓展的视频教程(免费)

http://www.sikiedu.com/my/course/47

官方教程

https://unity3d.com/cn/learn/tutorials/topics/interface-essentials/unity-editor-extensions-menu-items

API界面

https://docs.unity3d.com/ScriptReference/MenuItem.html

编辑器脚本都在Editor下,在打包时不会包含

编辑器特性位于unityEditor命名空间下

 

添加菜单按钮

[MenuItem("Tools/test")]//在菜单上显示命令

   public static void Test()//点击该命令后可以执行这个方法,私有也可访问

   {

       Debug.Log("Test Function is work");

   }

public MenuItem(string itemName, bool isValidateFunction, int priority);

  1. itemName路径:每个/代表一级菜单

  2. isValidateFunction是否为可用性检查,在后面介绍。

  3. priority优先级,越小越靠上,当优先级相差大于10以上时会分组

  • 路径重复时,后添加的菜单会覆盖先添加的。

  • 系统内置的功能也会被覆盖。

  • Game Object中,优先级小于50(不包括)的会显示在hierarchy中。

  • component菜单下的内容必须继承monobehaviour,因此需要使用AddComponentMenu添加,其他使用方法相似

允许加空格,空格后可设置快捷键,不可重复,如"Tools/test4 _q"

特殊快捷键如下:

* _ – 无

* % – CTRL on Windows / CMD on OSX

* # – Shift

* & – Alt

* LEFT/RIGHT/UP/DOWN – Arrow keys

* F1…F12 – F keys

* HOME, END, PGUP, PGDN

给脚本,组件添加右键菜单:

路径用CONTEXT/[组件名]/[其他]

 

获取点击的组件:方法添加MenuCommand类参数,其中context字段即为我们右键打开菜单的那个物体(或者组件)。建议存成对应类型再使用,可以用强制转换,或者as。用as转换,失败时会返回空,而强制会报错。

static public void RigidbodyTools(MenuCommand cmd)

        {

            Rigidbody rigidbody = cmd.context as Rigidbody;

        }
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值