1:untiy数据包的输出:
BuildPipeline.BuildAssetBundle将任意类型的资源打包成AssetsBundle文件。BuildPipeline.BuildAssetBundleExplocitAssetNames同上,但是可以为每个对象制定一个自定义的名字,方便查找。
BuildPipeline.BuildStreamedSceneAssetBundle直接将一个或多个场景打包成AssetsBundle文件。
2:untiy将数据包加载到AssetBundle:
WWW.assetBundle将网上下载的数据包加载到内存中,创建AssetBundle对象。
AssetBundle.CreateFromFile用磁盘文件创建一个AssetBundle对象,并加载到内存中。
(仅支持创建非压缩格式的对象)
AssetBundle.CreateFromMemory从内存数据流创建AssetBundle内存对象。
3:从AssetBundle对象中加载资产:
AssetBundle.Load通过名字从AssetBundle中加载资产,也可以通过参数指定类型。
AssetBundle.LoadAsync同上,但是是异步加载,不影响主线程执行。
AssetBundle.LoadAll一次性加载AssetBundle文件中的所有资产。
Application.LoadLevel通过名字或索引载入AssectBundle文件中对应的场景。
当载入新场景时,所有之前的游戏对象都会被销毁。
Application.LoadLevelAsync同上,但是是异步加载不影响住线程继续执行。
Application.LoadLevelAdditive添加新场景,之前的游戏对象保留。
Application.LoadLevelAdditiveAsync同上,但是是异步加载。
4:AssetBundle、资产和游戏对象的卸载:
AssetBundle.Unload(false)卸载AssetBundle自身。
AssetBundle.Unload(true)卸载AssetBundle自身和所有从该AssetBundle中加载的资产。
Resources.UnloadUnusedAssets()卸载整个系统中所有没有使用的资产。
GameObject.Destroy卸载通过GameObject.Instantiate实例化的游戏对象。