Я пишу 3D-игру для iOS в Unity3d и не могу найти полный и прямой ответ о включении разных размеров текстур для разных устройств.
Во-первых, я делаю предположение, что для действительно универсального приложения потребуется 3 версии каждой текстуры... (низкое разрешение для iPhone/iPod без сетчатки, 2-кратное разрешение для iPhone/iPod с сетчаткой и iPad без сетчатки, а теперь 4x res для сетчатки iPad) Я также предполагаю, что на основе соглашения об именах, определенного Apple, загрузка приложения на определенное устройство будет загружать только соответствующие текстуры. В противном случае загрузка всех трех разрешений на старый телефон без сетчатки будет содержать 95% мертвого груза.
Связанная документация Apple говорит об использовании «@2x» в имени файла текстуры для устройств с сетчаткой, а также «~ipad» или «~iphone» в зависимости от устройства.
Предполагая файл атласа с низким разрешением 1024x1024 и следуя приведенному выше соглашению об именах, нам теперь нужно включать четыре файла на изображение, но два из этих файлов идентичны, за исключением имени файла?
eg:
(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 с сетчаткой, поскольку разрешения экрана достаточно схожи, но соглашение об именах, которое предлагает Apple, похоже, не использует это преимущество.
Это будет мое первое опубликованное приложение на iOS, может быть, я что-то совсем упустил? или может какие-то мои предположения неверны?