上一章:【Unity3D技术文档翻译】第1.6篇 使用 AssetBundle Manager

本章原文所在章节:【Unity Manual】→【Working in Unity】→【Advanced Development】→【AssetBundles】→【Patching with AssetBundles】

AssetBundles 补丁更新

AssetBundles 补丁更新很简单,就是下载一个新的 AssetBundle 并替换已有的。如果使用的是 WWW.LoadFromCacheOrDownload 或者 UnityWebRequest 来管理应用缓存的 AssetBundles,传入一个不同的版本参数就会触发下载新的 AssetBundles。

检测哪些 AssetBundles 要被替换是补丁更新系统中的难题。一个补丁更新系统需要两个信息列表:

  • 一个当前已经下载好的 AssetBundles 及其版本信息的列表

  • 一个服务器上的 AssetBundles 及其版本信息的列表

补丁更新程序应该下载服务端的 AssetBundles 列表,并与本地 AssetBundles 列表比较。丢失的 AssetBundles,或者是版本信息不同的 AssetBundles 应该被重新下载。

写一个定制的系统来检测 AssetBundles 的变化是可能的。大多数开发者使用一个工业级标准的数据格式(比如 JSON),来为他们的 AssetBundles 文件列表编写自己的定制系统。并且还需要一个 C# 脚本来计算校验码(比如 MD5)。

Unity 构建 AssetBundles 时,数据是按照一个确定的方式来排序的。这就使得带有定制下载器的应用可以实现差异化补丁更新。

Unity 没有为差异化更新提供任何内置的机制,无论是

WWW.LoadFromCacheOrDownload,还是 UnityWebRequest,在使用内置的缓存系统的时候,都不能实现差异化更新。如果想要实现差异化更新,需要自己编写一个定制下载器。

如果本文对你有帮助的话,点个赞或者评论一下吧!

下一章:【Unity3D技术文档翻译】第1.8篇 AssetBundles 问题及解决方法

【Unity3D技术文档翻译】第1.7篇 AssetBundles 补丁更新的更多相关文章

  1. 【Unity3D技术文档翻译】第1.8篇 AssetBundles 问题及解决方法

    上一章:[Unity3D技术文档翻译]第1.7篇 AssetBundles 补丁更新 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Deve ...

  2. 【Unity3D技术文档翻译】第1.6篇 使用 AssetBundle Manager

    上一章:[Unity3D技术文档翻译]第1.5篇 使用 AssetBundles 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Develo ...

  3. 【Unity3D技术文档翻译】第1.5篇 本地使用 AssetBundles

    上一章:[Unity3D技术文档翻译]第1.4篇 AssetBundle 依赖关系 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Devel ...

  4. 【Unity3D技术文档翻译】第1.3篇 创建 AssetBundles

    上一章:[Unity3D技术文档翻译]第1.2篇 为打包 AssetBundles 准备资产 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced ...

  5. 【Unity3D技术文档翻译】第1.9篇 使用 Unity AssetBundle Browser tool (AssetBundle系列完结)

    上一章:[Unity3D技术文档翻译]第1.8篇 AssetBundles 问题及解决方法 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced D ...

  6. 【Unity3D技术文档翻译】第1.4篇 AssetBundle 依赖关系

    上一章:[Unity3D技术文档翻译]第1.3篇 创建 AssetBundles 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Develo ...

  7. 【Unity3D技术文档翻译】第1.0篇 AssetBundles

    前言 "Unity圣典"是目前对官方文档翻译比较详细的,然而文档的最新更新日期是2013年,已经远远落后最新版本,参考意义有限.官方文档.脚本手册是学习Unity3D最直接有效的途 ...

  8. 【Unity3D技术文档翻译】第1.2篇 为打包 AssetBundles 准备资产

    本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Development]→[AssetBundles]→[Preparing Assets f ...

  9. 【Unity3D技术文档翻译】第1.1篇 AssetBundle 工作流

    译者前言:本章是关于从创建到加载,再到使用 AssetBundle 的整个流程的概述.阅读本章将对 AssetBundle 的工作流程有个简单而全面的了解. 本章原文所在章节:[Unity Manua ...

随机推荐

  1. 【编程技巧】Ext.QuickTips.init();

    启动悬浮提示(在你验证非法时.和现实提示语句等) 默认情况下悬浮提示没有启动:所以必须加上这句代码

  2. SSH中post提交表单action中文乱码问题

    我的问题对应的解决方案是:web.xml中filter的顺序问题[置顶].需要将编码过滤器放置在所有过滤器之前. 在解决这个问题途中学习到的东西: 解决方案总结(post中文乱码): 前后台编码方式一 ...

  3. 【JMedia】诺贝尔奖得主:东亚教育浪费了太多生命

    10月3日,2016年诺贝尔奖开奖第一天,日本科学家大隅良典获得诺贝尔生理学或医学奖.进入21世纪,日本科学家获奖人数快速增长.包括物理奖8位.化学奖6位.生理学或医学奖3位,共计17位,平均下来差不 ...

  4. 【js 实践】js 实现木桶布局

    还有两个月左右就要准备实习了,所以特意练一练,今天终于搞定了js 的木桶布局了 这一个是按照一个插件的规格去写的以防以后工作需要,详细的解释在前端网这里 http://www.qdfuns.com/n ...

  5. junit4X系列--Statement

    原文出处:http://www.blogjava.net/DLevin/archive/2012/05/11/377954.html.感谢作者的无私分享. 初次用文字的方式记录读源码的过程,不知道怎么 ...

  6. awk -f program.file 功能使用

    一.awk -f program.file 功能使用 一直没有使用过awk的-f功能,感觉鸡肋,不是很实用,更多的是因为没有需求的原因 下面介绍下awk -f的使用方法 awk可以指定默认的文件路径, ...

  7. SpringMVC数据验证(AOP处理Errors和方法验证)

    什么是JSR303? JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案. Hibernate Validator 是 Bean Valida ...

  8. Spring Boot 使用maven打包成jar

    1.application.properties加入如下配置 server.port= 2.修改pom.xml <?xml version="1.0" encoding=&q ...

  9. Tensorflow ActiveFunction激活函数解析

    Active Function 激活函数 原创文章,请勿转载哦~!! 觉得有用的话,欢迎一起讨论相互学习~Follow Me Tensorflow提供了多种激活函数,在CNN中,人们主要是用tf.nn ...

  10. Django的admin.py注册流程

    通常创建一个Django项目的时候,在Django的配置文件settings.py中,都会有下面的这段配置: INSTALLED_APPS = [ 'django.contrib.admin', 'd ...