using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
public class PackAB
{
[MenuItem("MyTool/打包_Windows")]
public static void BuildWinAb()
{
BuildAb(BuildTarget.StandaloneWindows);
}
[MenuItem("MyTool/打包_Android")]
public static void BuildAndroidAb()
{
BuildAb(BuildTarget.Android);
}
[MenuItem("MyTool/打包_iOS")]
public static void BuildiOSAb()
{
BuildAb(BuildTarget.iOS);
}
#region BuildAb(BuildTarget target)
public static void BuildAb(BuildTarget target)
{
string path = Path.Combine(Application.streamingAssetsPath, GetTargetName(target));
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
//1、基础打包方式 LZ4
//BuildPipeline.BuildAssetBundles(path, BuildAssetBundleOptions.ChunkBasedCompression, target);
//2-1、配置打包方式
{
List<AssetBundleBuild> maps = new List<AssetBundleBuild>();
AssetBundleBuild assetBundleBuild = new AssetBundleBuild();
assetBundleBuild.assetBundleName = "test_ab";
assetBundleBuild.assetNames = new string[] {
"Assets/_Resource/Prefabs/Cube.prefab",
"Assets/_Resource/Prefabs/Sphere.prefab",
};
maps.Add(assetBundleBuild);
BuildPipeline.BuildAssetBundles(path, maps.ToArray(), BuildAssetBundleOptions.ChunkBasedCompression, target);
}
AssetDatabase.Refresh();
}
#endregion
#region GetTargetName(BuildTarget buildTarget)
public static string GetTargetName(BuildTarget buildTarget)
{
switch (buildTarget)
{
case BuildTarget.StandaloneWindows:
{
return "Windows";
}
case BuildTarget.Android:
{
return "Android";
}
case BuildTarget.iOS:
{
return "iOS";
}
default:
{
return "";
}
}
}
#endregion
}
u3d打包1
于 2022-04-25 20:38:25 首次发布