unity游戏引擎-为什么纹理大小发生了变化



我制作了一个小png(100x30),并将其作为纹理添加到Unity中。我还把它添加到了一个脚本中,这样我就可以对它进行轮询,但如果我打印出它的宽度和高度,它现在显示为128x32。发生了什么?

我试着调整相机,但似乎与它无关。有线索吗?

通常,出于性能原因,两侧的纹理都会缩放到2的幂。

例如,如果GPU可以假设您正在使用POT纹理,则乘法除法会更快。即使是mipmaps生成过程也依赖于此,因为除以2永远不会产生余数。

旧的GPU(我不太清楚,但现在可能有几个移动GPU)需要严格的POT纹理。

默认情况下,Unity会尝试将纹理缩放到2的幂。您可以禁用或调整将texture import settings切换为"Advanced"的设置。

有关更多详细信息,请查看文档。

请注意,通常您只希望NPOT纹理用于GUI,在GUI中您需要精确控制屏幕上的分辨率,而不使用mipmap。对于3D场景中的所有内容,2的幂执行得更好。

相关内容

最新更新