【Unity3D技术文档翻译】第1.7篇 AssetBundles 补丁更新

上一章:【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 补丁更新的更多相关文章
- 【Unity3D技术文档翻译】第1.8篇 AssetBundles 问题及解决方法
上一章:[Unity3D技术文档翻译]第1.7篇 AssetBundles 补丁更新 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Deve ...
- 【Unity3D技术文档翻译】第1.6篇 使用 AssetBundle Manager
上一章:[Unity3D技术文档翻译]第1.5篇 使用 AssetBundles 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Develo ...
- 【Unity3D技术文档翻译】第1.5篇 本地使用 AssetBundles
上一章:[Unity3D技术文档翻译]第1.4篇 AssetBundle 依赖关系 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Devel ...
- 【Unity3D技术文档翻译】第1.3篇 创建 AssetBundles
上一章:[Unity3D技术文档翻译]第1.2篇 为打包 AssetBundles 准备资产 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced ...
- 【Unity3D技术文档翻译】第1.9篇 使用 Unity AssetBundle Browser tool (AssetBundle系列完结)
上一章:[Unity3D技术文档翻译]第1.8篇 AssetBundles 问题及解决方法 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced D ...
- 【Unity3D技术文档翻译】第1.4篇 AssetBundle 依赖关系
上一章:[Unity3D技术文档翻译]第1.3篇 创建 AssetBundles 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Develo ...
- 【Unity3D技术文档翻译】第1.0篇 AssetBundles
前言 "Unity圣典"是目前对官方文档翻译比较详细的,然而文档的最新更新日期是2013年,已经远远落后最新版本,参考意义有限.官方文档.脚本手册是学习Unity3D最直接有效的途 ...
- 【Unity3D技术文档翻译】第1.2篇 为打包 AssetBundles 准备资产
本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Development]→[AssetBundles]→[Preparing Assets f ...
- 【Unity3D技术文档翻译】第1.1篇 AssetBundle 工作流
译者前言:本章是关于从创建到加载,再到使用 AssetBundle 的整个流程的概述.阅读本章将对 AssetBundle 的工作流程有个简单而全面的了解. 本章原文所在章节:[Unity Manua ...
随机推荐
- CSS容器属性
最近一直想美化博客的文字效果和增加文章末尾的转发提示,所以这两天抽空研究了一下CSS,前两篇可以翻我的博客,今天写的这篇是介绍增加文章末尾的转发提示,效果如文章末尾所示,好了,CSS很简单,我就不介绍 ...
- git只添加指定类型的文件的.gitignore规则
#忽略根目录下的所有文件 * #忽略子目录下的所有文件 /* #包含目录 !*/ #指定不忽略的文件 !*.c !*.h #忽略根目录下的文件 /build/ /appveyor/ /pear/ /s ...
- Effective Java 第三版——28. 列表优于数组
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- 通过psping测试结果,初步判断远端服务器的状态
1.psping的输出结果为如下正常显示时,说明远端服务器的IP及端口可用 C:\Users\he.liming>psping 139.219.66.205:4352 PsPing v2.10 ...
- Django 模版中如何对主菜单进行选中?
问题描叙: 在实际模版中,返回的页面我们想要主菜单保持一种状态,这个主菜单进去的子页面,都需要保持主菜单选择状态 例如 主菜单是 课程, 下面展现的章节和视频页面时候, 课程这个主菜单在展现这个菜单下 ...
- aliyun 购买的linux安装tomcat
按照网上的教程,下载tomcat,解压(即安装),启动,发现无法访问.有说端口未开放,修改/etc/sysconfig/iptables,添加端口开放.未发现有此文件,只有iptables-confg ...
- 自己写的日志框架--linkinLog4j--框架可配置+提性能
OK,上一篇博客我们已经实现了日志框架的基本的功能,但是还有一个最大的问题就是日志输出地不能重定向,然后一些输出也不可控.那现在我们来实现一个比较完整的日志框架. 设计思路如下: 1,定义一堆常量Li ...
- java常用类--字符串
String import java.io.IOException; import java.util.Arrays; public class Linkin { public static void ...
- C# 值类型,引用类型区别
值类型/引用类型 作为所有类型的基类,System.Object提供了一组方法,这些方法在所有类型中都能找到,其中包含toString方法及clone等方法. 引用类型和值类型都继承自System.O ...
- _beginthread和CreatThread的区别
转自:http://www.jb51.net/article/41459.htm 我们知道在Windows下创建一个线程的方法有两种,一种就是调用Windows API CreateThread()来 ...