Для всіх, хто цікавиться, чому це проблема піксельного мистецтва, ось короткий приклад використання сцени з Super Mario World:
Якщо ми просто масштабуємо піксельну графічну гру від 720 до 1080 під час виконання (так, як це може зробити типова ігрова камера), ми отримуємо артефакти через нецілісне співвідношення екранних пікселів на вихідний тексель. Перевірте невідповідність цифр із масштабованого прикладу праворуч і те, як виглядають нарізані лист та вухо Маріо.
Це гра, але вона втратила цю чарівну чіткість піксельного мистецтва. А в русі ці артефакти можуть повзати по спрайту , роблячи його схожим мерехтливим.
Використання режиму фільтрації, який поєднує суміжні пікселі, дозволить уникнути пульсацій, але замість цього намазати та розмити піксельне зображення, тому це також не дуже бажано.
На жаль, співвідношення 1,5x між 720p та 1080p - це найгірший сценарій, з яким ми можемо зіткнутися.
Як ви зазначаєте, масштабування 1x є занадто малим, а 2x - занадто великим, настільки ж широким відривом в обох напрямках, і між нами не може бути вибрано коефіцієнт масштабування з цілим числом .
Ваші параметри зводяться до:
Терпимо 1 шкала , показуючи свою гру у вікні на 1/3 менше екрана, додаючи декоративні рамки, якщо потрібно заповнити простір.
Можливо, ви зможете збільшити обрізання, показуючи більше часу своєї сцени одночасно на екранах з високою роздільною здатністю. Це зменшує необхідні оббивки / розсилки, але вам доведеться оцінити, чи впливає це на гру
(наприклад, це дає гравцям на деяких пристроях несправедливу перевагу чи дає їм помітити секрети, які вони не повинні бачити так легко?)
Збільште масштаб на 2 рази і обріжте свою сцену , щоб гравець бачив менше сцени за раз (приблизно 3/4, наскільки вони могли бачити раніше).
Це теж може вплинути на гру гри, наприклад. через те, що гравцеві важко бачити місця, в які вони повинні двічі стрибати.
Ви можете компенсувати це за допомогою логіки камери, маючи на панелі перегляду слідкувати або передбачати програвач, тому важливий вміст все ще видно на одному екрані при меншому врожаї, але немає універсальної найкращої камери для використання.
Якщо ви вирішили пройти цей маршрут, спробуйте поділитися деякими деталями вашого геймплея та поточної камери та прикладом сцени. З цим ми можемо допомогти налаштувати поведінку камери для компенсації (або ваша гра може просто вирівняти, вимагаючи більшої видимості)
Створіть альтернативні активи з різною роздільною здатністю . (Так, це велика робота, але ви надаєте найбільш оптимальні можливості контролювати зовнішній вигляд гри)
Це не означає, що вам доведеться викинути наявні активи, які чудово виглядають у 720p. У цій статті описано контекстне переміщення між різними наборами активів для підтримки більш широкого спектру цільових дозволів (в Unity, але принцип може бути застосований і в іграх, що не входять в Unity).
Як зазначаєте, перемальовування всіх ваших активів у розмірі наполовину ( 16х16 плиток, 32х32 символів ) дозволить вам обробляти 720p у масштабі 2x та 1080p у 3-кратній шкалі з такою ж кількістю плиток, як показано зараз. Ви можете здати, що невелика роздільна здатність плитки візуально більш обмежує.
Ви також можете намалювати альтернативний набір ресурсів "великого формату", який на 150% більший ( 48x48 плиток, 96x96 символів ), який би обробляв 1080p в масштабі 1x. (Ви б використовували наявні активи для 720p або 1440 тощо). Більша роздільна здатність повинна допомогти вам зберегти вірність свого сучасного мистецтва, тому вам не доведеться жертвувати стилем та деталями, які ви маєте зараз.
Третій варіант - намалювати лише трохи менший набір активів ( 24x24 плитки, 48x48 символів ), який може обробляти 1080p в масштабі 2x, і знову може означати менше жертви деталізації, ніж удвічі менший за всі розміри активів.
Усі три варіанти дозволять вам зберегти обрамлення та геймплей абсолютно однаковими при 720 та 1080, але ціною приблизно вдвічі більше працювати.
Тож, на жаль, тут немає легкої виграші, просто різні компроміси.