Files
TaiWan/Assets/Roaming/Editor/BunldesCreator.cs

76 lines
2.7 KiB
C#
Raw Normal View History

2025-10-31 15:20:38 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
public class BunldesCreator : MonoBehaviour
{
[MenuItem("Custom Editor/Create AssetBunldes")]
static void CreateAssetBunldes()
{
for (int i = 0; i < Selection.gameObjects.Length; i++)
{
// <20><><EFBFBD><EFBFBD> AssetBundleBuild <20><EFBFBD><E1B9B9>
AssetBundleBuild bundleInfo = new AssetBundleBuild();
bundleInfo.assetBundleName = Selection.gameObjects[i].name + ".unity3d";
bundleInfo.assetNames = new string[] { Selection.gameObjects[i].name };
// string.Format("Assets/Scene0605/Scenes/Prefabs/0{0}.prefab", i) };
// <20><><EFBFBD><EFBFBD> AssetBundle <20><><EFBFBD>ļ<EFBFBD>
BuildPipeline.BuildAssetBundles("Assets/AssetBundles/", new AssetBundleBuild[] { bundleInfo },
BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);
}
}
[MenuItem("Custom Editor/Create AssetBunldes Windows")]
static void CreateAssetBunldesMain()
{
//<2F><>ȡ<EFBFBD><C8A1>Project<63><74>ͼ<EFBFBD><CDBC>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
Object[] SelectedAsset = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
foreach (Object obj in SelectedAsset)
{
string sourcePath = AssetDatabase.GetAssetPath(obj);
string targetPath = "Assets/StreamingAssets/Bundles/" + obj.name + "_win.assetbundle";
if (BuildPipeline.BuildAssetBundle(obj, null, targetPath, BuildAssetBundleOptions.CollectDependencies, BuildTarget.StandaloneWindows))
{
Debug.Log(obj.name + "<22><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>");
}
else
{
Debug.Log(obj.name + "<22><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>");
}
}
//ˢ<>±༭<C2B1><E0BCAD>
AssetDatabase.Refresh();
}
[MenuItem("Custom Editor/Create AssetBunldes Web")]
static void CreateAssetBunldesWeb()
{
//<2F><>ȡ<EFBFBD><C8A1>Project<63><74>ͼ<EFBFBD><CDBC>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
Object[] SelectedAsset = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
foreach (Object obj in SelectedAsset)
{
string sourcePath = AssetDatabase.GetAssetPath(obj);
string targetPath = "Assets/StreamingAssets/Bundles/" + obj.name + ".assetbundle";
if (BuildPipeline.BuildAssetBundle(obj, null, targetPath, BuildAssetBundleOptions.CollectDependencies, BuildTarget.WebGL))
{
Debug.Log(obj.name + "<22><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>");
}
else
{
Debug.Log(obj.name + "<22><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>");
}
}
//ˢ<>±༭<C2B1><E0BCAD>
AssetDatabase.Refresh();
}
}