Godot – настойка проекта под PixelArt
Настройка Godot 3.6 под Pixel art проект.
Подписывайтесь мой Telegram и VK
1. Настройка разрешения
Project > Project Settings > Display > Window > Width, Height
Устанавливаем разрешение, для примера возьмем NES/SNES 256x224.
Так как современный формат 16:9, то переделаем это разрешение на 384x216.
Вы можете получить другие разрешения, разделив ваше целевое разрешение (например, 1920/5 = 384, 1080/5 = 216).
Список разрешений, с которыми вы можете работать
2. Настройка окна
Project > Project Settings > Display > Window > Test Width, Test Height
Устанавливаем ширину и высоту. Берем цифры которые мы указали выше и умножаем их на 3 (4 или 5). Это коэффициент масштабирования для вашей игры в оконном режиме.
В поле вводим 386*3 и поле Godot автоматически рассчитает значение.
Если вы не установите тестовую ширину и высоту, ваша игра будет крошечной в оконном режиме, так как один пиксель будет одним пикселем на вашем дисплее.
3. Растяжение окна
Project > Project Settings > Display > Window > Stretch > Mode
Подробнее о режимах: тут (en)
4. Адаптируемость
Project > Project Settings > Display > Window > Stretch > Aspect
keep – Если хотим чтобы экран не был адаптивным, то ставим (выберем его)
keep_width – Экран адаптируется по высоте, подходит для игр с вертикальным экраном (мобильные например)
keep_height – Экран адаптируется по ширине, для игр в горизонтальном формате (основная часть игр)
expand – Растягивается по ширине и высоте
5. Pixel Snap
Project > Project Settings > Rendering > 2D > Use GPU Pixel Snap
Переходим на экран 2D просмотра. Нажимаем на Snapping Option (3 вертикальные точки) и включаем Use Pixel Snap
6. Правила импорта ассетов
Если мы импортируем пиксельный ассет, то в проекте он будет размыт. Чтобы это исправить нужно поменять настройки импорта ассетов.
Переходим в FileSystem выбираем любой ассет например icon.png
Выбираем вкладку Import > Preset > 2D Pixel
Устанавливаем все импорты по умолчанию
Import > Preset > 2D Pixel > Set as Default for 'Texture'
Применяем настройки, нажимаем Reaimport.
7. Убираем центрирование ассетов
Всякий раз, когда вы добавляете узел Sprite или AnimatedSprite, обязательно отключите свойство «Centered».
Для узла AnimatedSprite вы найдете это свойство в разделе «AnimatedSprite».
Для узла Sprite — в разделе «Offset».
Это гарантирует, что начало координат вашей графики не будет находиться между пикселями, если ваша графика имеет нечетное число ширины или высоты. Вы по-прежнему можете перемещать начало координат, устанавливая значения Offset.
Обязательно используйте целочисленные значения, когда вы это делаете.
PS
Если вы попытаетесь переделать свой проект в pixelart некоторое время спустя, когда вы уже работали над ним, вам придется убедиться, что все позиционировано по целочисленным значениям (перейдите в инспектор и проверьте все значения Transform. Для узлов Contol также проверьте, есть ли у вас целые числа в свойствах rect_size.) В противном случае вы получите дрожание при движении камеры. Это может создать проблемы в работе с Tilemaps.
И еще
Если вы создаете более одного проекта в одинаковом стиле, рекомендую просто скопировать файл project.godot в ваш новый проект. Этот файл хранит все настройки вашего проекта, а также вашу карту входных данных, поэтому стоит настроить карту входных данных.