无法在Unity中优化巨大的Sprite表

问题描述 投票:0回答:1

我很震惊地发现我刚创建的游戏占用了330万兆。根据编辑日志,我的纹理应该归咎于:

enter image description here

从列表中我开始使用Chieftain Walk动画精灵表。文件很大,所以我在Photoshop中打开它,大大降低了图像分辨率。

enter image description here

但是,即使在Photoshop中保存后,编辑器日志也声称纹理占用的内存量相同。我做错了什么,以及编辑日志何时更新?是在建立游戏吗?非常感谢。

image unity3d memory-management sprite sprite-sheet
1个回答
3
投票

首先,您不需要降低实际PNG文件的分辨率。当Unity构建播放器时,它会将导入的未压缩文件存储在可执行文件附近的Data文件夹中。纹理的大小将与导入器设置中的大小相同。默认情况下,如果我没记错的话,它是2048x2048。如果更改纹理的导入器设置,PNG文件将保持不变(在编辑器中),但纹理对象(在实际独立中使用)将变得更小。

另外,有没有什么特别的原因你没有使它平方?像512x512。总是使它成为正方形和2的幂。如果没有,Unity将无法对你的精灵进行任何优化

编辑:

这是纹理导入设置,将最大尺寸设置为较低,并且您的游戏将占用更少的内存(在游戏运行时,在硬盘驱动器和RAM / GPU中)。您还可以添加压缩级别,它将占用更少的内存,但加载时间会更长(在游戏中)。加载时将占用与非压缩相同数量的RAM / GPU内存。应用程序大小的胜利,负载性能的损失。 (测试一下,选择更适合你的方法)

This is the texture import settings

为什么2和方的功率,以及:

通过确保纹理尺寸是2的幂,图形管线可以利用与使用2的幂的效率相关的优化。例如,分割和乘以2的幂可以更快。统一创建mip-map也会更容易(如果纹理不是正方形,它们可能会占用更多内存)。互联网上有许多关于mip-mapping的消息来源。

© www.soinside.com 2019 - 2024. All rights reserved.