一、使用AssetBundle打包文件
打包过程可参考该文章:https://blog.csdn.net/ONEMOOC/article/details/84189921
二、在本地加载AssetBundle文件
调用loadAsset方法即可
具体脚本如下:
string path = "Assets/StreamingAssets/all.unity3d";
void OnGUI()
{
if (GUILayout.Button("Single Obj"))
{
LoadSingleObject();
}
if(GUILayout.Button("All Objs"))
{
LoadAllObjects();
}
}
/// <summary>
/// 加载单个文件
/// </summary>
private void LoadSingleObject()
{
AssetBundle ab = AssetBundle.LoadFromFile(path);
GameObject prefab = ab.LoadAsset<GameObject>("WhiteChess"); //文件名需要和打包时的文件名一致
Instantiate(prefab);
}
/// <summary>
/// 加载所有文件
/// </summary>
private void LoadAllObjects()
{
AssetBundle ab = AssetBundle.LoadFromFile(path);
Object[] objs = ab.LoadAllAssets();
foreach (var obj in objs)
{
Instantiate(obj);
}
// ab.Unload(true); //同时加载某个assetbundle文件中的资源,会出现报错,需要unload
}
本文详细介绍了如何在Unity中使用AssetBundle进行文件打包及本地加载的方法。通过具体脚本示例,展示了加载单个和所有文件的过程,适用于游戏资源管理和优化。
412

被折叠的 条评论
为什么被折叠?



