zoukankan      html  css  js  c++  java
  • AssertBundle是什么 有什么用

    先看下大神的帖子

    AssetBundle首先从字面意思理解为资源捆绑,那么他的作用就是将一部分资源(模型,贴图,材质,预制体,声音场景等等),打包压缩在一起,那么可能有人会问,对于unity项目,把资源压缩打包有什么用呢?

    主要作用有两点
     
    1:减少安装包的大小  
    那么按照这个原理,你的Assets文件夹的大小将会影响到你最终打包出的安装包的大小,假如你现在正在制作一个游戏项目,最终打出来的安装包过大可能会对玩家下载造成一定影响,对一般玩家来讲,下载10M的游戏安装包远远比下载100M的游戏安装包要更容易接受,而AssetBundle可以将一部分资源打包到一个压缩包里面,游戏运行到需要的时候再进行下载这部分资源。
     
    举个例子:你的游戏一共有100个关卡,如果将这些全部打包则打出的安装包大小为100M,如果现在你用AssetBundle技术将后面90关的资源分离出去进行打包,那么你现在打包的游戏内容只有10个关卡的资源,安装包大小仅为10M,等玩家体验了前十关觉得还不错,当他想玩10关以后的游戏内容时,提示他需要下载资源包体验更多精彩内容,然后在unity中加载剩余的90关的资源包。这样做的话,你的游戏安装包仅仅10M大小,因为下载比较快,也比较省流量,可能会吸引更多的玩家下载体验你的游戏。
     
    2:可以用热更新修复你的游戏Bug
    经历千辛万苦,你的游戏终于上线了,是时候该庆祝一番了吧?不要高兴的太早,你突然收到玩家反馈,游戏第20关通关后无法进入到下一关,据查证,是原来打包时某个同事粗心大意把第21关的资源弄错了,导致加载21关时报错,这位同事的鸡腿儿能不能保得住,我们关心的不是这个,我们现在需要第一时间修复这个问题,如果是按照原来的打包方式,你们需要重新出一个100M的包,然后把重新出的包交给游戏平台审核,审核通过后,玩家需要卸载掉原来的游戏软件,重新下载你们新打出的安装包,(ps玩家心理:坑X游戏,又需要花100M重新下载,老子这个月流量都不够聊微信了,不玩了!)
     
    如果按照另一种打包方式,我们在后面90关的AssetBundle包里修复这个问题,这时候通过服务器传输AssetBundle最新的包,会把有问题的资源进行修复,提示玩家bug已经修复,玩家进入游戏,发现可以把20关打通了,并且成功进入到下一关了,在这个游戏过程中,玩家不需要重新下载那100M的安装包,只需要打开游戏下载部分需要更新的资源,这部分资源一般会比较小,一般情况下可能是几十k的大小,就可以重新体验游戏了。这就是AssetBundle的第二个作用。

    摘自:

    Unity中的AssetBundle 资源打包有什么作用-腾讯游戏学院 (qq.com)

    个人理解:

    游戏客户端BUG分2种,一种是代码BUG,一种是资源BUG。

    均可以通过热更手段修复,资源BUG热更方式就是这个AssertBundle。而代码热更方式有很多:XLUA等

  • 相关阅读:
    HDU 2089 不要62
    HDU 5038 Grade(分级)
    FZU 2105 Digits Count(位数计算)
    FZU 2218 Simple String Problem(简单字符串问题)
    FZU 2221 RunningMan(跑男)
    FZU 2216 The Longest Straight(最长直道)
    FZU 2212 Super Mobile Charger(超级充电宝)
    FZU 2219 StarCraft(星际争霸)
    FZU 2213 Common Tangents(公切线)
    FZU 2215 Simple Polynomial Problem(简单多项式问题)
  • 原文地址:https://www.cnblogs.com/workharder/p/14871470.html
Copyright © 2011-2022 走看看