UnityAssetBundle

AssetBundle动态加载

在Asset目录下新建一个StreamingAssets文件夹

创建一个BundleEditor.cs脚本文件

using UnityEditor;
using UnityEngine;

/// 
/// 打包工具
/// 
public class BundleEditor
{
    [MenuItem("Tools/打包")]
    public static void Build()
    {
        //打包
        /* Application.streamingAssetsPath Asset/StreamingAssets/
         * BuildAssetBundleOptions.ChunkBasedCompression 加密方式
         * EditorUserBuildSettings.activeBuildTarget当前编辑器使用目标平台
         */
        BuildPipeline.BuildAssetBundles(Application.streamingAssetsPath, BuildAssetBundleOptions.ChunkBasedCompression,EditorUserBuildSettings.activeBuildTarget);
        //编辑器刷新
        AssetDatabase.Refresh();
    }
}

在所需要打包的物体上加包名

包名

使用Tool/打包

包名

使用脚本加载

//加载物体
AssetBundle assetBundle=AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/[包名]");
//场景生成物体
GameObject obj = GameObject.Instantiate(assetBundle.LoadAsset("[物体名]"));

你可能感兴趣的:(UnityAssetBundle)