本专栏基础资源来自唐老狮和siki学院,仅作学习交流使用,不作任何商业用途,吃水不忘打井人,谨遵教诲
什么是编辑器扩展
Unity编辑器扩展是指通过编写自定义脚本和插件,利用Unity提供的API来增强和扩展Unity编辑器的功能,这些扩展可以显著提高开发效率和灵活性
特性的说明
自定义菜单栏是基于一些特性来实现的
关于有特性的脚本是否可以继承mono,是否可以挂载到场景中,是否需要写在Editor文件夹中,全看特性本身
PS:写在Editor文件中,打包的时候unity不会打包出去该文件
1.在unity未运行时 一键使用自定义静态函数
[MenuItem("扩展菜单名/一级菜单名/方法名任意")] 菜单级数任意
实现效果如下
引入命名空间,函数必须为静态函数
using UnityEngine;
public class T1
{//在unity不同的地方一键执行静态函数[MenuItem("扩展菜单名/TestMethod/Function1")]public static void Function1(){Debug.Log("输出任意一句话");}
}
可以添加特殊标识符,在不同的窗口创建使用,而不只是通过菜单栏中去选择
类似这样
总结一下规则如下图
2.绑定快捷键规则
3.在组件菜单中拓展自定义脚本
[AddComponentMenu("一级菜单/二级菜单/脚本名建议和实际脚本一致")] 菜单级数任意
众所周知 ,在unity中脚本就可以理解为组件
所以在菜单栏中的组件菜单中,是可以将自定义的脚本添加进去的
使用特性AddComponentMenu:
//在组件菜单中添加 自定义脚本(组件)
[AddComponentMenu("一级菜单/二级菜单/脚本名")]
public class T2 : MonoBehaviour
{}
选中物品就可以添加了
4.为脚本添加使用自定义函数
[MenuItem("CONTEXT/脚本名/一级菜单名/函数名任意")] 菜单级数任意
//在组件菜单中添加 自定义脚本(组件)
[AddComponentMenu("一级菜单/二级菜单/脚本名")]
public class T2 : MonoBehaviour
{[MenuItem("CONTEXT/T2/一级菜单名/Function1")]public static void Function2() {Debug.Log("输出任意一句话");}
}