将一些unity的功能进行简化,节约时间
-
引入命名空间 using UnityEditor;
using System;//因为要获取当前pc时间,所以引入system命名空间
-
添加自定义菜单 [MenuItem("FstWork/功能优化/1.快捷导出UnityPackage %e",false,1)]// %e表示为 ctrl+e 快捷键
private static void MenuClicked()
{
//此处为该菜单按钮功能
}
[MenuItem()]中的参数
- 参数1: itemName itemName是指表示方式类似于路径名的菜单项。 例如,菜单项可能为“GameObject/Do Something”。
- 参数2: isValidateFunction 如果 isValidateFunction 为 true,它将表示一个验证函数,并在系统调用具有相同 itemName 的菜单函数之前进行调用。 一般为false
- 参数3: priority 菜单项显示的顺序。 用于菜单栏的排序
-
为菜单按钮添加功能 这里实现一个快捷导出unityPackage资源包的功能 全部代码如下 [MenuItem("FstWork/功能优化/1.快捷导出UnityPackage %e",false,1)]// %e表示为 ctrl+e 快捷键
private static void MenuClicked()
{
//此处为该菜单按钮功能
var unityPackageName = "FstWork_" + DateTime.Now.ToString("yyyyMMdd_HH")+ ".unitypackage";//接收UnityPackage包的名字
AssetDatabase.ExportPackage(assetPathName, unityPackageName,ExportPackageOptions.Recurse);
Application.OpenURL("file://");//通过资源管理器打开导出文件所在位置
}
AssetDatabase.ExportPackage()的参数
- 第一个参数 assetPathName 为 导出资源的目录 比如要导出资源目录下的预制体文件夹 为 “Assets/Prefabs”
- 第二个参数 fileName 为 导出文件的名字 记得添加格式后缀!!!!
- 第三个参数 ExportPackageOptions为导出文件的模式
- Default 默认模式,导出时不导出子目录
- interactive 交互模式,弹出一个窗口,结果和默认模式没有区别
- Recurse 递归模式,导出时包含子目录
- IncludeDependencies 包含依赖
- IncludeLibraryAssets 包含ProjectSetting选项
-
效果如图
|