Paste_Image.png
Unity本身的资源包导出工具就是个悲剧。。导出的东西经常把无关的东西“依赖”进来,比如我导出一个预制体,它能把所有代码都“依赖”进来。
以下代码实现一键导出,暂时没发现多余依赖,如果有发现,请回复评论告知。
using UnityEditor;
class AssetsMenu
{
[MenuItem("Assets/导出Unity资源包", true)]
static bool ExportPackageValidation()
{
for (var i = 0; i < Selection.objects.Length; i++)
{
if (AssetDatabase.GetAssetPath(Selection.objects[i]) != "")
return true;
}
return false;
}
[MenuItem("Assets/导出Unity资源包")]
static void ExportPackage()
{
var path = EditorUtility.SaveFilePanel("Save unitypackage", "", "", "unitypackage");
if (path == "")
return;
var assetPathNames = new string[Selection.objects.Length];
for (var i = 0; i < assetPathNames.Length; i++)
{
assetPathNames[i] = AssetDatabase.GetAssetPath(Selection.objects[i]);
}
assetPathNames = AssetDatabase.GetDependencies(assetPathNames);
AssetDatabase.ExportPackage(assetPathNames, path, ExportPackageOptions.Interactive | ExportPackageOptions.Recurse | ExportPackageOptions.IncludeDependencies);
}
}











网友评论