处理太多纹理Unity

时间:2017-11-14 17:47:03

标签: unity3d textures sprite texture-atlas

目前我的一个问答游戏需要根据问题提出许多鲜花图像。 我可以说总共250多张图像,每张图像的分辨率为512x435。 加上其他游戏纹理一次加载。

因此,当游戏画面打开并显示所有这些图像时,它就会在现场崩溃。 我在iPhone设备上测试这个。那么如何处理这些纹理呢?我被困在这一点上。

以下是花朵纹理概述。

enter image description here

我在网格视图中显示所有这些内容,因此在一个可滚动屏幕中都会显示。 现在我希望,你了解我的观点。

3 个答案:

答案 0 :(得分:1)

您需要减少一次加载的这些图像的数量,尝试保留大部分图像渲染组件在您没有看到它们时使用某种管理脚本禁用,而不是简单地将它们从相机中取出并尝试调节一次渲染的数量。如果这不起作用,问题可能是图像的总大小比您的设备的RAM大。即使iPhone X只有3GB的内存,检查你的图像总数是否大于或接近1GB-3GB范围,单位遥控器5可能将这些图像存储在ram或临时内存中。无论如何,在使用移动设备时尝试压缩图像总是一个好主意,尝试将它们放入纹理图集或降低它们的质量,直到iphone可以处理它,你永远不应该依赖移动设备来渲染一次大量的图像。

答案 1 :(得分:0)

哇。那是很多花.... 好的,如果您需要所有这些纹理,并且只在编辑器中显示它们,我会将它们分组到文件夹中。

即使你把红色等等的蓝色排序......只是人类可读的目录,它会有很大的帮助,因为你不会一次加载你的所有图像。

如果你在运行时加载所有这些纹理,我认为你不会因为统一优化你构建的可执行文件,我建议不要一次加载所有图像,因为你将使用大量的RAM,尤其是如果那些图像是512px或更大。

答案 2 :(得分:0)

在应用程序中,您可以在屏幕上一次将它们分成25个,然后可以向右滑动以转到下一个25或向后滑动到上一个。这就是我在一段时间内解决了一个类似的问题。