Unity2019.3之如何生成和加载AssetBundle包

生成AssetBundle

新建一个Cube和Capsule,命名如图

然后生成预制体,新建AssetBundle

新建一个Editor文件夹(这个是必须的),然后在目录下创建C#脚本:

using UnityEditor;
using System.IO;

public class CreateAssetbundles:Editor
{

    [MenuItem("AssetsBundle/Build AssetBundles")]
    static void BuildAllAssetBundles()//进行打包
    {
        string dir = "AssetBundles";
        //判断该目录是否存在
        if (Directory.Exists(dir) == false)
        {
            Directory.CreateDirectory(dir);//在工程下创建AssetBundles目录
        }
        //参数一为打包到哪个路径,参数二压缩选项  参数三 平台的目标
        BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows64);
    }
}

保存之后编辑器菜单栏就回出现对应按钮如下图:

点击之后就在工程目录对应文件下生成AssetBundle文件:

加载AssetBundle

在Hierarchy面板新建一个空物体,创建一个加载AssetBundle的脚本,脚本内容如下:

using UnityEngine;

public class LoadFromFileExample : MonoBehaviour
{

    private void Start()
    {
        //通过文件路径加载对应的包
        AssetBundle ab = AssetBundle.LoadFromFile("AssetBundles/scene/wall.unity3d");
        GameObject wallPrefab = ab.LoadAsset<GameObject>("CubeWall");
        //实例化预制体
        Instantiate(wallPrefab);
        //加载所有包,然后遍历实例出来
        //Object[] objs = ab.LoadAllAssets();
        //foreach (var item in objs)
        //{
        //    Instantiate(item);
        //}
    }
}

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值