76 lines
2.7 KiB
C#
76 lines
2.7 KiB
C#
|
|
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();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|