返回介绍

减少文件大小

发布于 2021-06-20 00:15:05 字数 2491 浏览 833 评论 0 收藏 0

压缩内存占用
RGB Compressed DXT10.5 bpp (bytes/pixel)
RGBA Compressed DXT51 bpp
RGB Compressed ETC10.5 bpp
RGB Compressed PVRTC 2 bits0.25 bpp (bytes/pixel)
RGBA Compressed PVRTC 2 bits0.25 bpp
RGB Compressed PVRTC 4 bits0.5 bpp
RGBA Compressed PVRTC 4 bits0.5 bpp
RGB 16bit2 bpp
RGB 24bit3 bpp
Alpha 8bit1 bpp
RGBA 16bit2 bpp
RGBA 32bit4 bpp

纹理总大小:宽 * 高 * bpp。 如果使用 Mipmap 增加 33%。

默认情况下,Unity 会在导入时对纹理进行压缩。为了加速工作,可以在首选项 (Preferences) 中关闭此功能。但在构建游戏时,所有尚未被压缩的纹理都将被重新压缩。

优化网格和动画尺寸

您可以压缩网格和导入的动画片段,以便在游戏文件中占用较小的空间。压缩可以在网格导入设置 (Mesh Import Settings) 中打开。

网格和动画压缩使用量化,这意味着它会占用较小的空间,但压缩可能产生一些误差。应通过实验确定哪个级别的压缩是模型可以接受的。

请注意:网格压缩只会产生较小的数据文件,在运行时不会使用较少内存。动画的关键帧 (Keyframe) 减少可以产生较小的数据文件,在运行时使用较少的内存,一般都应该使用关键帧减少。

此外,您可以选择不把法线和/或切线存储在网格中,这样可以节约运行时在游戏构建和内存中占用的空间。可以在网格导入设置 (Mesh Import Settings) 中的切线空间生成 (Tangent Space Generation) 下拉菜单中进行设置。经验法则:

  • 切线用于法线贴图。如果不使用法线贴图,则无需在网格中存储这些切线。
  • 法线用于照明。如果某些网格不使用实时照明,则无需将法线存储在网格中。

减少播放器包含的 dll 文件

在构建播放器时(台式机、Android 或 iOS)有一点非常重要,也就是不要依赖 System.dll 或 System.Xml.dll。Unity 的播放器安装中不包含 System.dll 或 System.Xml.dll。这意味着,如果想要使用 Xml 或 System.dll 中的通用容器,那么必要的 dll 文件将包含在播放器中。这通常使得下载文件大小增加 1mb,这显然无益于播放器的分发,因而应该避免使用。如需解析一些 Xml 文件,可以使用更小的 xml 库,如 Mono.Xml.zip。大多数通用容器都包含在 mscorlib 中,Stack<> 和其他一小部分位于 System.dll。因此,应该尽量避免。


正如所见,Unity 在构建播放器时包含了 System.Xml.dll 和 System.dll。

在播放器分发包中,Unity 包含了如下的 DLL:mscorlib.dll、Boo.Lang.dll、UnityScript.Lang.dll 和 UnityEngine.dll。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文