网络资源加载:

 string path ="file://"+ Application.streamingAssetsPath + "\\windows\\123";
string _path = "file://" +
Application.streamingAssetsPath + "\\windows\\ziyuab";
using (WWW www = new WWW(path))
{
yield return www;
using (WWW Xww = new WWW(_path))
{
yield return Xww;
if (www != null && Xww != null)
{
AssetBundle ab = www.assetBundle;
AssetBundle et= Xww.assetBundle;
if (ab != null)
{
GameObject tempObj = ab.LoadAsset<GameObject>("Cube");
Instantiate(tempObj);
}
}
else
{
Debug.Log("下载不成功!");
}
}
}

注意:定义路径如果是本地文件的话,在路径前加上"file://"

加载依赖关系:

   string ABPath;
public string ABName;
string bpath;
List<AssetBundle> aBlist;
void WanZheng()
{
aBlist=new List<AssetBundle>();
ABPath = Application.streamingAssetsPath + "\\windows\\";
bpath = Application.streamingAssetsPath + "/windows/windows";//依赖关系资源读取总路径
Yilai(bpath);//判断物体是否有依赖,有就加载出来,没有就不加载
#region 加载预制体,并实例化
AssetBundle _ab = AssetBundle.LoadFromFile(ABPath+ABName);//在此处_ab已将依赖加载出来了
GameObject obj = _ab.LoadAsset<GameObject>("Cube");
Instantiate(obj);
#endregion #region 释放内存
foreach (AssetBundle item in aBlist)
{
item.Unload(false);//清除依赖内存
}
_ab.Unload(true);//清除物体本身内存
AssetBundle _ab01 = AssetBundle.LoadFromFile(ABPath + ABName);//在此处_ab已将依赖加载出来了
GameObject obj01 = _ab01.LoadAsset<GameObject>("Cube");
Instantiate(obj01,Vector3.one,Quaternion.identity);
#endregion
}
void Yilai(string bpath)
{
AssetBundle yilaiAB = AssetBundle.LoadFromFile(bpath);//读取依赖
AssetBundleManifest manifest
= yilaiAB.LoadAsset<AssetBundleManifest>("AssetBundleManifest");//读取依赖关系列表
string[] depndencies = manifest.GetAllDependencies(ABName);//按照名字加载名字旗下的依赖关系 //将依赖放入列表并加载出来
if (depndencies.Length!=)
{
foreach (string s in depndencies)
{
aBlist.Add(loadDepndenciesByList(ABPath,s));
}
}
}
private AssetBundle loadDepndenciesByList(string ABpath,string name) //加载依赖文件,按列表里的名字
{
return AssetBundle.LoadFromFile(ABpath+name);
}

笔记:

yield return xy;意思是线程中断,等待过程完成之后再进行.

截至目前学习存在的问题:

1). 实战项目中成百上千的大量资源需要(批量)打包处理,不可能手工维护方式给每个资源添加assetbundle包名称

2). Unity维护AssetBundle包的依赖关系不是很完善,主要体现在Unity仅仅维护包与包之间依赖关系的记录上。

(通过每个包创建的*.manifest文本文件实现)。如果要加载一个有多重依赖项的AssetBundle包,则要手工写代码,

把底层所有依赖包关系需要预先进行加载后才可以

3). AssetBundle包的商业应用涉及很多步骤: AB包的加载、 AB包依赖关系(要求: 不遗漏、不重复)、 资源的

提取与释放等。手工以及简单写代码实现功能,将是一项繁重海量工作,效率低下

Unity进阶----AssetBundle_02(加载依赖关系及网络资源)(2018/10/31)的更多相关文章

  1. Unity -- AssetBundle(本地资源加载和加载依赖关系)

    1.本地资源加载 1).建立Editor文件夹 2).建立StreamingAssets文件夹和其Windows的子文件夹 将下方第一个脚本放入Editor 里面 脚本一  资源打包AssetBund ...

  2. 【php】命名空间 和 自动加载的关系

    目的 本文的目的主要是说明 命名空间的 use 关键词 和 new ClassName 这两个步骤,哪个步骤才会执行自动加载,这是逻辑有点混乱的表现,这种想法也是很正常的,让我们来解密吧 命名空间(n ...

  3. 升级MAC OS到10.13, 10.14系统后UNITY工程无法加载资源的解决办法

    升级MAC OS到10.13, 10.14系统后,出现UNITY工程无法加载资源的情况: Unity项目中Asset目录显示为空! 解决办法一: 打开Launchpad中的磁盘工具 (也就是实用工具下 ...

  4. Unity移动游戏加载性能和内存管理-学习笔记

    前言 正在学习Doctor 张.鑫大佬的移动游戏加载性能和内存管理,内容非常非常的干,所以我烧了很多开水,边喝边看,一边拿小本几做好笔记 本文只是关于前2章的内容笔记,关于各种资源的加载耗时 纹理资源 ...

  5. Unity的资源加载以及AssetBundle的一些坑

    https://www.cnblogs.com/sigmadruid/p/4040803.html AssetBundle加载完毕,进行其中Asset的初始化后,不能立即Unload().否则Asse ...

  6. Unity Lightmap动态加载研究

    什么情况下需要Lightmap? 移动平台上目前暂时还不能开实时光影效果,会卡成幻灯片.所以就需要将光影烘焙到贴图上. 什么情况下需要动态加载Lightmap? 1.当项目抛弃了Unity的多场景模式 ...

  7. Unity 全面理解加载和内存管理

    最近一直在和这些内容纠缠,把心得和大家共享一下: Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质上我理解没有什么区别.Resources ...

  8. Unity中 动态加载 Resources.Load()和Asset Bundle 的区别

    版权声明:本文为博主原创文章,未经博主允许不得转载. 初学Unity的过程中,会发现打包发布程序后,unity会自动将场景需要引用到的资源打包到安装包里,没有到的不会跟进去.我们在编辑器里看到的Ass ...

  9. UNITY 多SCENE加载与编辑

    Unity内部场景的加载分为两步: Loading.是指从文件.内存(主要是Streamed scene AssetBundle)中加载Scene的内容,创建并读取所有相关的Game objects. ...

随机推荐

  1. [物理学与PDEs]第1章习题5 偶极子的电场强度

    试计算由习题 4 给出的电偶极子的所形成的电场的电场强度. 解答: $$\beex \bea {\bf E}(P)&=\cfrac{1}{4\pi\ve_0} \sez{\cfrac{-q}{ ...

  2. 个人经验~ 利用5.7的sys库更好的排查问题

    一 简介:今天我们讲讲如何利用5.7的sys新库进行问题的排查二 描述   1 Sys库所有的数据源来自:performance_schema和information_schema.目标是把perfo ...

  3. Python3.6及以上pip安装pymssql错误的解决办法[Windows&Linux freetds安装]

    只有由于Python3.6装不上 pymssql,所以一直用Python3.5的版本. 报错界面 现在有了新的解决方法: 原帖如下: https://docs.microsoft.com/en-us/ ...

  4. jsp注释<%-- --%>和<!-- -->的区别

    最近在写JSP页面注释的时候,遇到一个问题,在JSP页面引用的静态属性资源文件时,在浏览器控制台报错,当我把引用的标签注释掉后,用的是<!-- -->.然后浏览器仍然报了之前那个错,经过查 ...

  5. day14 集合与函数

    数据类型和变量总结 字符串.数字.列表.元组.字典 可变:列表,字典 不可变:修改变量的值ID变,字符串,数字,元组 访问顺序: 直接访问:数字 顺序访问:字符串,列表,元组 映射:字典 存放元素个数 ...

  6. 【原创】大叔经验分享(12)如何程序化kill提交到spark thrift上的sql

    spark 2.1.1 hive正在执行中的sql可以很容易的中止,因为可以从console输出中拿到当前在yarn上的application id,然后就可以kill任务, WARNING: Hiv ...

  7. 【原创】大叔经验分享(10)Could not transfer artifact org.apache.maven:maven. from/to central. Received fatal alert: protocol_version

    maven编译工程报错 [ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:add-source (s ...

  8. vue-风格指南

    https://cn.vuejs.org/v2/style-guide/

  9. Java_变量类型

    目录 主要是为了复习java相关知识,本文主要内容来自于 http://www.runoob.com/java 一.局部变量 局部变量声明在方法.构造方法或语句块中 在方法.构造方法.语句块被执行的时 ...

  10. P2947 [USACO09MAR]向右看齐Look Up--单调栈

    单调栈真的很好用呢! P2947 [USACO09MAR]向右看齐Look Up 题目描述 Farmer John's N (1 <= N <= 100,000) cows, conven ...