首页 > 手游开发 > Unity3D > 将一些unity的功能进行简化,节约时间
2021
08-21

将一些unity的功能进行简化,节约时间

1. 引入命名空间

using UnityEditor;
using System;//因为要获取当前pc时间,所以引入system命名空间

2. 添加自定义菜单

[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 菜单项显示的顺序。 用于菜单栏的排序

3. 为菜单按钮添加功能

这里实现一个快捷导出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选项

4. 效果如图

将一些unity的功能进行简化,节约时间 - 第1张  | 逗分享开发经验

将一些unity的功能进行简化,节约时间 - 第2张  | 逗分享开发经验

最后编辑:
作者:搬运工
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。