首页 > 解决方案 > Texture2D 大小限制是区域相关还是尺寸相关?

问题描述

我正在创建一个图像数据库,其中包含许多将用作 Sprite 纹理的小 (~150 x 150) 图像。目前,我将地图集图像创建为长条。(n W x H,其中 n = 图像数量,W 是每个图像的宽度,H 是每个图像的高度)。我读到有大小限制,例如 Texture2D 的 4k x 4k。我知道大多数纹理是方形的或几乎是方形的。在这种情况下,我最终可以得到 64k x 100 的图像。约 6M 像素按面积小于 4k x 4K 图像的 16M,但一维肯定大于 4k。

所以我想知道的是:

Texture2D 大小限制是区域相关还是尺寸相关?

标签: unity3d

解决方案


它的大小基于

字面上是4k 像素宽和 4k 像素高(或者更确切地说,是 4096 像素)。

2 次幂纹理比非 2 次幂纹理更容易压缩,同时 mip-map 缩放(仅适用于 2 次幂)和其他使它们更适合 GPU 流和存储的功能。

重写你的算法来处理你的图集应该不会太难。从 1D 到 2D 数组索引转换是一个非常常见的程序员面试问题,您应该能够在大约 5 分钟内在纸上解决它(或者在 45 秒内谷歌它;)。


推荐阅读