Unity 小科普

老规矩,先介绍一下 Unity 的科普小知识:Unity是 实时3D互动内容创作和运营平台 。

  • 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
  • Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
  • 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
  • Unity 实用小技能学习

【100个 Unity实用技能】☀️ | Unity 通过自定义菜单将资源一键导出

本篇文章来简单介绍一下通过Unity的自定义菜单将资源导出的方法,非常简单,一起来看看吧!

首先是添加自定义菜单的方法,使用MenuItem特性完成。

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

全部代码如下:

public static string assetPathName;

    [MenuItem("YYY/指定功能/1.快捷导出UnityPackage   %e", false, 1)]// %e表示为 ctrl+e 快捷键
    private static void MenuClicked()
    {
        //此处为该菜单按钮功能
        assetPathName = "Assets/Prefabs";
        var unityPackageName = "YYY_" + DateTime.Now.ToString("yyyyMMdd_HH") + ".unitypackage";//接收UnityPackage包的名字
        AssetDatabase.ExportPackage(assetPathName, unityPackageName, ExportPackageOptions.Recurse);
        Application.OpenURL("file://");//通过资源管理器打开导出文件所在位置
    }

AssetDatabase.ExportPackage() 的参数如下:

  1. 第一个参数 assetPathName 为 导出资源的目录 比如要导出资源目录下的预制体文件夹 为 “Assets/Prefabs”
  2. 第二个参数 fileName 为 导出文件的名字 记得添加格式后缀!!!!
  3. 第三个参数 ExportPackageOptions为导出文件的模式
  • Default 默认模式,导出时不导出子目录
  • interactive 交互模式,弹出一个窗口,结果和默认模式没有区别
  • Recurse 递归模式,导出时包含子目录
  • IncludeDependencies 包含依赖
  • IncludeLibraryAssets 包含ProjectSetting选项

Unity游戏的系统体系结构 unity主要功能_Unity游戏的系统体系结构

点击之后就可以在项目文件夹下看到我们导出的.unity package文件啦!

Unity游戏的系统体系结构 unity主要功能_游戏_02