【Unity3D技术文档翻译】第1.0篇 AssetBundles
前言
“Unity圣典”是目前对官方文档翻译比较详细的,然而文档的最新更新日期是2013年,已经远远落后最新版本,参考意义有限。官方文档、脚本手册是学习Unity3D最直接有效的途径,然而一直没有中文版本,给很多开发人员带来了不便。因此我想在学习Unity3D的同时,将官方文档一道翻译。方便自己查看,同时还能方便其他后来的开发人员,何乐而不为?初次翻译,难免有错漏,欢迎指正!
PS:
1. 技术术语不会翻译,因为保持英文更加方便沟通和理解,必要时会同时给出中文翻译。
2. 翻译会更注重意译,而不是直译。
3. 从 AssetBundles 开始翻译是因为正好看到这里 ^_^。
4. 标题中的“第1.0篇”是为了表示出章节的从属关系,比如下一篇“AssetBundle 工作流”会是“第1.1篇”。
正文
本章原文所在章节:【Working in Unity】→【Advanced Development】→【AssetBundles】
AssetBundles
一个 AssetBundle 就是一个会在运行时被加载的归档文件,它包含了和平台相关的特定资源(例如:Models、Textures、Prefabs、Audio clips,甚至可以是所有的 Scenes)。AssetBundles 相互之间可以具有“依赖性”,例如:AssetBundle A 中的 一个材质(material)可以引用 AssetBundle B 中的一个纹理(texture)。
为了能够在网络上更有效率地递送,AssetBundles 可以根据实际需要,选择引擎内置的算法进行压缩(LZMA算法和 LZ4算法)。
AssetBundles 可用于:可下载的内容更新(DLC)、降低初始安装包大小、针对用户平台进行最优化资源加载,以及降低运行时的内存压力。
AssetBundle 里有什么?
好问题,事实上 AssetBundle 涉及了两个不同但是相关的事物。
首先,AssetBundle 可以指存储在磁盘上的实际文件。我们称这种文件为“AssetBundle 归档”,在本教程中,我们直接简称为“归档”。归档可以看作是一个容器,就像一个文件夹一样,里面保存了额外的一些文件。这些额外的文件由两种类型组成:序列化文件和资源文件。
其中,“序列化文件”是指:用你的资产组合形成各个对象,然后将它们写入磁盘中的一个文件,这个文件就是序列化文件。而“资源文件”就是一个个二进制数据块,这些数据块分别存储了特定类型的资产(比如:纹理和音频),这可以让我们在另一个线程上更有效地从磁盘中加载它们。
其次,AssetBundle 可以指一个实际的 AssetBundle 对象。你可以通过代码操控它,从一个特定的归档中加载你想要的一些资产。AssetBundle 对象包含了一组映射,即:“你添加到归档中的所有资产的文件路径”,以及“与这些资产相对应的对象们“,这两者之间的映射。你可以利用这种映射,在需要时加载你想要的对象。
题外话:
最后两段好难翻译,中英文思维方式完全不同。严重怀疑就算是外国人,看母语版的官方文档也要思考好一阵,而且还要有Unity基础才能看得懂。就拿最后一句话来说,原文是:
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.
没错,就是这么绕这么长。头几遍完全看晕了,不反复琢磨个几十遍,结合自身已经有的认知,都理不清它到底想表达什么。我自己对这句话的翻译还算满意,不知道正在看这篇文章的人有没有看懂,泪目 T_T
如果本文对你有帮助的话,点个赞或者评论一下吧,让我知道有人来看过。
转载请注明出处:何三思 http://www.cnblogs.com/hearthstone/p/7305395.html
【Unity3D技术文档翻译】第1.0篇 AssetBundles的更多相关文章
- 【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.8篇 AssetBundles 问题及解决方法
上一章:[Unity3D技术文档翻译]第1.7篇 AssetBundles 补丁更新 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Deve ...
- 【Unity3D技术文档翻译】第1.7篇 AssetBundles 补丁更新
上一章:[Unity3D技术文档翻译]第1.6篇 使用 AssetBundle Manager 本章原文所在章节:[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.6篇 使用 AssetBundle Manager
上一章:[Unity3D技术文档翻译]第1.5篇 使用 AssetBundles 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Develo ...
- 【Unity3D技术文档翻译】第1.4篇 AssetBundle 依赖关系
上一章:[Unity3D技术文档翻译]第1.3篇 创建 AssetBundles 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Develo ...
- 【Unity3D技术文档翻译】第1.2篇 为打包 AssetBundles 准备资产
本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Development]→[AssetBundles]→[Preparing Assets f ...
- 【Unity3D技术文档翻译】第1.1篇 AssetBundle 工作流
译者前言:本章是关于从创建到加载,再到使用 AssetBundle 的整个流程的概述.阅读本章将对 AssetBundle 的工作流程有个简单而全面的了解. 本章原文所在章节:[Unity Manua ...
随机推荐
- SSH的jar包下载地址
spring http://repo.spring.io/libs-release-local/org/springframework/spring/ 条理清晰的搭建SSH环境之添加所需jar包 ht ...
- ANSI C与C89、C99、C11区别差异
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- DataTable转泛型List
在.net项目研发过程中,有时候需要将从数据库中获取的DataTable数据类型,转换为泛型集合,然后运用LINQ对集合进行操作,我将此总结一下,方便你我他. 核心类: public class Da ...
- strman--java8字符串工具类
strman-java 是Java8的字符串处理库,它的灵感来自 dleitee/strman . Strmen-java 是一个字符串处理工具,你可以通过 maven 将它引入到项目中.除了 Jav ...
- TemplateMethod-模板模式
什么是Template Method模式 在父类中定义处理流程的框架,在子类中实现具体处理的模式就称为Template Mehtod模式.模板模式的关键是:子类可以置换掉父类的可变部分,但是子类却不可 ...
- java事件处理机制
java中的事件机制的参与者有3种角色: 1.event object:就是事件产生时具体的"事件",用于listener的相应的方法之中,作为参数,一般存在与listerne ...
- JAVA中double类型运算结果异常的解决
问题: 对两个double类型的值进行运算,有时会出现结果值异常的问题.比如: System.out.println(19.99+20); System.out.println(1.0-0.66); ...
- eclipse中注释的代码依然会执行的解决方法
问题: eclipse中注释的代码在debug的时候居然还能执行.那一刻内心是崩溃的.. 解决方案: 项目重编译显示都正常,并没有报错,然后发现项目编译后,WEB-INF/lib/classes中的c ...
- java to kotlin (2) - lambda编程
前言 Kotlin Note 是我学习kotlin整理笔记向博客,文章中的例子参考了kotlin in action这本书籍,同时我也极力推荐这本书,拥有Java基础的人可以很快的就使用kotlin来 ...
- nagios的安装
Nagios通常由一个主程序(Nagios).一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE.NSCA. NSClient++和NDOUtils)组成.Nagios的监控 ...