我正在 Unity3d 中编写一个 3D iOS 游戏,并且找不到关于为不同设备包含不同纹理大小的完整而直接的答案。
首先,我假设一个真正通用的应用程序需要每个纹理的 3 个版本......(非视网膜 iPhone/iPod 的分辨率低,视网膜 iPhone/iPod 和非视网膜 iPad 的分辨率为 2x,现在为 4x res forretina iPad)我还假设基于苹果定义的命名约定,将应用程序下载到特定设备将仅下载适当的纹理。否则将所有三种分辨率下载到旧的非视网膜手机将包含 95% 的自重。
链接的 Apple 文档说在视网膜设备的纹理文件名中使用“@2x”,以及适用于设备的“~ipad”或“~iphone”。
假设一个 1024x1024 的低分辨率图集文件,并遵循上述命名约定,我们现在必须在每个图像中包含四个文件,但是除了文件名之外,其中两个文件是相同的吗?
例如:
(1024 x 1024) myAtlas~iphone.png
(2048 x 2048) myAtlas@2x~iphone.png
(2048 x 2048) myAtlas~ipad.png
(4096 x 4096) myAtlas@2x~ipad.png
这个对吗?
我想我的困惑源于能够轻松地为非视网膜 iPad 和视网膜 iPhone/iPod 使用相同的纹理分辨率,因为屏幕分辨率相当相似,但苹果建议的命名约定似乎没有利用这一点。
这将是我在 iOS 上发布的第一个应用程序,也许我完全错过了一些要点?或者也许我的一些假设是错误的?