何三思unity3D技术分享Unity教程合集

【Unity3D技术文档翻译】第1.2篇 为打包 AssetBu

2017-08-19  本文已影响201人  何三思
Unity3D技术文档翻译

上一章:【Unity3D技术文档翻译】第1.1篇 AssetBundle 工作流

本章原文所在章节:【Unity Manual】→【Working in Unity】→【Advanced Development】→【AssetBundles】→【Preparing Assets for AssetBundles】

为 AssetBundles 准备资源(Assets)

你可以将任何资源,打包到任何你想要的 AssetBundle 中,这是你的自由。然而,在你创建 AssetBundles 的时候,有些策略可供参考。当你在面对具体项目的时候,可以从下面这些分组策略中,找到一个合适的去使用。你可以随意混合、搭配这些策略。

逻辑实体分组策略

“逻辑实体分组策略”是指:在将资源(assets)分配到 AssetBundle 的时候,考虑到的是这些资源,代表了某个项目的某个功能性部分。比如:UI界面、游戏角色、游戏环境设施,以及其他任何会在应用的生命周期中频繁出现的部分。

举例说明

“逻辑实体分组策略”对于可下载内容(DLC)是个理想的解决方案,因为在这种策略下,所有资源都是被分隔开的。于是,你可以只改变单个实体,而无需去下载其他额外的、并没有改变的资源。

正确地使用这个策略的最大技巧和注意事项是:开发者在给每个 AssetBundle 分配资源的时候,必须明确地知道,每个资源在什么时候,以及什么地方会被项目用到。

类型分组策略

使用这个策略,你将会把类型相似的资源打包到一起,比如:音频文件、本地化语言文件等。

“类型分组策略”对于跨平台应用是个非常好的策略。例如,如果你的音频文件在 windows 和 mac 平台使用相同的压缩方法,那么你就能将所有音频资源打包到一个(或者多个,如果资源太多的话) AssetBundle 中,并且可以反复使用这些 AssetBundles 。相反的一个例子是:mac 上压缩好的着色器(shaders),在 windows 中是不能使用的。

此外,如果你的纹理压缩格式以及相关设置,和代码脚本、预设等资源相比没有那么频繁地改动,那么使用这个策略可以使你的 AssetBundles 兼容更多 Unity 版本。

并行分组策略

并行分组策略是指:将需要同时加载和使用的资源打包到一起。能够想象到的是,游戏中的一个关卡,包含了独属于这个关卡的角色、纹理、音乐等等资源,该策略就是用于打包这类资源。

注意,你需要完全确定某个 AssetBundle 中的资源,只会同该 AssetBundle 中的其他资源同时使用。如果 AssetBundle A 对 AssetBundle B 中的某个资源有依赖,那么会显著地增加加载时间。因为你在加载 AssetBundle A 的同时,会被强制加载整个 AssetBundle B。

使用 “并行分组策略” 最典型的案例,是将整个场景打包成 AssetBundle。这样的话,每个场景都应该包含了其需要的所有依赖。

总结

注意,一个项目完全能够,也应该根据你的需求,混合使用上面提到的三种策略。在不同情境下,使用最佳的资源配置策略,将极大地提高项目的效率。

例如,项目可能决定将不同平台的 UI 界面元素打包进不同的 AssetBundle,而不是将场景或者关卡中有交互的内容打包到一起。

无论你使用的是哪种策略,下面提供了一些额外的小贴士,你最好记住它们,因为这会让你更全面地了解分组打包策略:

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

下一章:【Unity3D技术文档翻译】第1.3篇 创建 AssetBundles

上一篇 下一篇

猜你喜欢

热点阅读