zoukankan      html  css  js  c++  java
  • 【Unity3D技术文档翻译】第1.7篇 AssetBundles 补丁更新

    Unity3D技术文档翻译

    上一章:【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 问题及解决方法

  • 相关阅读:
    纸牌游戏----小猫钓鱼
    数据结构-----栈
    浅谈队列
    排序算法实例
    排序算法之------快速排序
    排序算法之----冒泡排序
    Visual Studio-基本使用
    C++-GUID from string
    OS-Windows CMD生成文件夹目录结构
    OS-Windows10 DownLoad
  • 原文地址:https://www.cnblogs.com/hearthstone/p/7838902.html
Copyright © 2011-2022 走看看