Unity 工具类 之 简单一键 UnityPackage 导出 ExportUnityPackage 实现
Unity 工具类 之 简单一键 UnityPackage 导出 ExportUnityPackage 实现
目录
一、简单介绍
Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。
ExportUnityPackage 快捷键,一键命名包名并导出UnityPackage资源,在版本管理的时候或许会有些用。
二、实现方法
1、GenerateUnityPackageName() 函数生成预置的包名;
2、AssetDatabase.ExportPackage() 打包指定的资源;
3、Application.OpenURL() 打开指定路径文件夹查看资源导出;
4、注意事项:根据自己需要设置包名和资源路径;
三、效果预览
四、实现步骤
1、打开Unity,新建一个工程,如下图
2、在工程中新建脚本,ExportUnityPackage 一键导出资源,如下图
3、点击菜单栏或者快捷键 Ctrl + E 一键打包导出成 UnityPackage 资源,如下图
4、导出如下图
5、打包 UnityPackage 资源包的内容,如下图
五、关键代码
using System;
using System.IO;
#if UNITY_EDITOR
using UnityEditor;
#endif
using UnityEngine;
/// <summary>
/// 快速导出UnityPackage包名
/// Ctrl + e 快速导出
/// </summary>
public partial class ExportUnityPackage
{
#if UNITY_EDITOR
[MenuItem("Tool/导出 UnityPackage %e", false, 1)]
private static void MenuClicked()
{
// 获取包名
var generatePackageName = ExportUnityPackage.GenerateUnityPackageName();
// 生成 UnityPackage 资源
ExportPackage("Assets/ExportUnityPackage", generatePackageName + ".unitypackage");
// 打开生成 UnityPackage 资源的路径查看
OpenInFolder(Path.Combine(Application.dataPath, "../"));
}
#endif
/// <summary>
/// 获取包名
/// </summary>
/// <returns>返回指定的包名</returns>
public static string GenerateUnityPackageName()
{
return "ExportUnityPackage_" + DateTime.Now.ToString("yyyyMMdd_hh");
}
/// <summary>
/// 打开指定文件夹
/// </summary>
/// <param name="folderPath">文件夹路径</param>
public static void OpenInFolder(string folderPath)
{
Application.OpenURL("file:///" + folderPath);
}
/// <summary>
/// 导出资源
/// </summary>
/// <param name="assetPathName">资源路径</param>
/// <param name="fileName">资源包名</param>
public static void ExportPackage(string assetPathName, string fileName)
{
AssetDatabase.ExportPackage(assetPathName, fileName, ExportPackageOptions.Recurse);
}
}