我正在Unity3d中编写3D iOS游戏,并且找不到关于为不同设备包含不同纹理大小的完整且直接的答案。首先,我假设一个真正通用的应用程序将需要每个纹理的3个版本......(非视网膜iPhone/iPod的低分辨率,视网膜的低分辨率iPhone/iPod和非视网膜iPad ,现在是iPad的4倍水平)我也假设基于苹果定义的命名约定,下载一个应用程序到特定的设备将只下载适当的纹理。否则,将所有三种分辨率下载到老的非视网膜电话将包含95%的载重量。在通用iOS应用程序中打包多个分辨率
Apple文档链接指出在视网膜设备的纹理文件名以及适用于设备的“〜ipad”或“〜iphone”中使用“@ 2x”。
假设1024×1024低资源地图集文件,并按照上面的命名规则,我们现在不得不包括每个图像的四个文件,但其中的两个文件是相同的除了文件名?
如:
(1024 x 1024) myAtlas~iphone.png
(2048 x 2048) [email protected]~iphone.png
(2048 x 2048) myAtlas~ipad.png
(4096 x 4096) [email protected]~ipad.png
这是正确的吗?
我想我的困惑源于能够轻松使用相同的纹理分辨率为非视网膜iPad和视网膜iPhone/iPods,因为屏幕分辨率是相当相似的,但苹果建议的命名约定似乎并没有利用那个。
这将是我在iOS上首次发布的应用程序,也许我完全错过了一些观点?或者也许我的一些假设是错误的?
谢谢rickerster,我开始害怕,可能是这种情况。所以,鉴于Unity可以自动生成一些纹理的mipmap,我真的没有理由包含除最高分辨率以外的任何其他纹理。这似乎对我来说非常直观,迫使低端设备承担额外的重量。 – Adam 2012-07-19 11:29:04