参考链接:
https://www.jianshu.com/p/7e7b34b24296
unity版本:2018.3.8
1.打包
新建一个Cube,保存为prefab,使用下面的脚本进行打包(先设置AssetBundleName然后打包)
打包脚本:
1 using UnityEngine; 2 using UnityEditor; 3 using System.IO; 4 5 public class CreateAssetBundle : Editor 6 { 7 [MenuItem("AssetBundle/01.SetAssetBundleName")] 8 static void SetAssetBundleName() 9 { 10 Object[] objects = Selection.objects; 11 foreach (Object o in objects) 12 { 13 string assetPath = AssetDatabase.GetAssetPath(o); 14 AssetImporter assetImporter = AssetImporter.GetAtPath(assetPath); 15 assetImporter.assetBundleName = o.name; 16 assetImporter.SaveAndReimport(); 17 } 18 AssetDatabase.Refresh(); 19 } 20 21 [MenuItem("AssetBundle/02.BuildAll")] 22 static void BuildAll() 23 { 24 string path = Application.dataPath + "/AB/"; 25 if (Directory.Exists(path)) 26 { 27 Directory.Delete(path, true); 28 } 29 Directory.CreateDirectory(path); 30 BuildPipeline.BuildAssetBundles(path, BuildAssetBundleOptions.None, BuildTarget.Android); 31 AssetDatabase.Refresh(); 32 } 33 }
如下:
2.加载
1 using UnityEngine; 2 3 public class TestAB : MonoBehaviour 4 { 5 void Start() 6 { 7 AssetBundle ab = AssetBundle.LoadFromFile("Assets/AB/cube"); 8 if (ab != null) 9 { 10 GameObject go = Instantiate(ab.LoadAsset<GameObject>("cube")); 11 go.transform.localScale = Vector3.one * 2; 12 } 13 } 14 }
如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?