Unity学习笔记[2]——AssetBundle性情研究

对AssetBundle性情的研究

项目所需,对AssetBundle进行了一些性情的研究,在这里记录一些心得。
Unity版本:2018.2.15f1

AssetBundle的Build

相信了解一点AssetBundle的你一定知道AssetBundle需要先打包(Build),再加载使用。打包AssetBundle实际上意味着把你分配给这个AssetBundle的所有资源(及其依赖的资源)打包成一个压缩文件,并且会为之创建一个资源记录文件。

var assetBundle=AssetBundle.LoadFromFile("assetBundleFileName.ext");//从项目根目录加载某个文件名为assetBundleFileName.ext的AssetBundle。
var res=assetBundle.LoadAsset("resName");//从AssetBundle中加载一个资源名为resName的资源。

AssetBundle 是个中转站

AssetBundle 本身并不记录数据内容,它只是提供了加载部分资源的方式,并且记录了这些资源所依赖的其他AssetBundle。实际上加载一个AssetBundle时,并不会加载资源内容。要从AssetBundle获取一个资源,往往需要另行通过AssetBundle提供的接口加载。

官网原话:
This object contains a map of all the file paths of the assets you added to this archive to the objects that belong to that asset that need to be loaded when you ask for it.

在从AssetBundle中同步加载一个资源时,AssetBundle会大致按照以下步骤工作:

  1. 如果已经加载好了这个资源,则直接返回。
  2. 如果该资源引用到了其他某AssetBundle的资源,则先从某AssetBundle中加载所需的资源后,再继续该资源的加载。(前提需要某AssetBundle本身已经被加载
  3. 加载完成,返回。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值