游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

首页   >   博客   >   Sunry

Unity AssetBundles 打包加载和依赖

个人分类: Unity 优化 | 2018-11-6 18:56
标签:AB包
最近好几天没有写博客了 嗯,最近有点忙 加油 恶补知识

今天我们讲一下 AssetBundles 打包  和加载  这平常在我们做项目的时候应该是必不可少的 也是好久没用了 这两天就想看看 熟悉熟悉 所以 上源码

首先 我们需要创建预制体 并为预制体进行 AB包的赋值
然后进行 编辑器的ab包的处理
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;

public class CreateAssetBundles : Editor {
public static string path = Application.dataPath + "/StreamingAssets/PCG";
[MenuItem("AssetBundle/PCPCG &2" )]
static void CreatePCAssetBundle()
{
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
BuildPipeline.BuildAssetBundles(path,BuildAssetBundleOptions.None,BuildTarget.StandaloneWindows64);
        AssetDatabase.Refresh();
}
  
}


然后我们进行AB包的加载  我所写的是比较简单的 在官方手册里面还有另外一种方法 有兴趣的同学可以去看看

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LoadAssetBudles : MonoBehaviour {
    public string url;/*Application.dataPath+"StreamingAssets/PCG";*/   //可以是本地 也可以是网络 如果是本地需要file://+“路径” 但是都必须是反斜杠/
    public string assetname;
    private void Start()
    {
        StartCoroutine(Start(Application.dataPath + "/StreamingAssets/PCG", "/sphere"));
    }
    IEnumerator Start(string path , string fileName)
    {
        url ="file://"+ path + fileName;
        using (WWW www = new WWW(url))  // url 加载资源的地址)    WWW是需要跟网络交互的类需要释放资源  using 优化WWW类 
        {
                    yield return www;   //等待 www 加载完成
        if (www.error!=null)
        {
            Debug.LogError("have a error"+www.error+"错误");
        }
        else
        {
            AssetBundle bundle = www.assetBundle;   
          Object obj  =  bundle.LoadAsset("Cube");//从包中加载名称的资产  //LoadAssetAsync //异步加载包含名称的资产
            Instantiate(obj);
            bundle.Unload(false);  //true  把所有下载的资源都卸载   false 卸载已经用过的
        }
        //www.Dispose();  //释放资源         由using 语句代替
        }

    }



}
总之呢  AB包对于 包体的大小有很好的改良效果 ab包的加密也很重要 希望大家能够深入了解
0 0

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册帐号

个人分类

标签

阅读排行

评论排行

推荐博客

最新博客

关闭

站长推荐 上一条 /1 下一条

返回顶部