Импорт текстур в CRYENGINE V без плагина Crytif и Photoshop.
В этой статье рассмотрим простой вариант того, как добавить свои текстуры в CRYENGINE 5, пользуясь желаемыми инструментами, к примеру, Krita, Paint.NET и другими, а не навязанным Photoshop и плагином Crytif. Сделаем импорт текстур напрямую через .\Crytek\CRYENGINE\Tools\rc\rc.exe, осуществляя компрессию в формат dds с помощью универсального компилятора ресурсов RC (Resource Compiler) без использования плагина Crytif, что позволит избежать различных странных проблем, когда Crytif по непонятным причинам переставал корректно работать.
В CRYENGINE 5 используется универсальный компилятор ресурсов RC (Resource Compiler), который преобразует ресурсы в виде промежуточных форматов (FBX, tif и прочих) в специальные форматы движка, что позволяет использовать их в проектах на движке. В данном случае рассмотрим на примере растровых изображений.
Зачем вообще был нужен экспорт с использованием Crytif? С помощью него выставляются параметры, по которым RC производит компрессию текстуры под движок. Если просто использовать текстуру в формате .tif или .dds, то она будет отображаться некорректно.
tif (TIFF) — промежуточный формат растровых изображений, позволяющий хранить изображения без сжатия (без искажений). В качестве примера антипода можно противопоставить JPEG со своими характерными артефактами сжатия.
dds — основной формат хранения сжатых текстур, который имеет сравнительно малый вес при удовлетворительном уровне искажений. Текстуры в формате dds отправляются на отрисовку видеокартой.
В случае CRYENGINE 5 текстура в tif представляет собой текстуру без сжатия, которую компилятор в зависимости от параметров преобразует в dds, которая в свою очередь будет отображаться в движке.
В данной статье в качестве альтернативы Photoshop будет использоваться Krita, представляющая собой свободный мультиплатформенный графический редактор с функционалом на уровне Photoshop. В сравнении с Gimp имеет ряд преимуществ, таких как поддержка режима 16 бит.
Примечание: Есть альтернативный способ добавить свои 3D модели в движок с помощью FBX Import, при этом используя Blender или любой другой 3D графический редактор, который способен экспортировать в формат FBX.
Чтобы использовать RC (Resource Compiler) напрямую без Crytif создадим ярлык с командой вывода диалогового окна, в котором нужно будет выставить желаемые параметры сжатия текстуры. После этого потребуется лишь поместить ярлык в папку с текстурой и перетащить текстуру на ярлык, что активирует диалоговое окно, как при использовании Crytif. Выберем желаемые параметры, осуществим вывод dds-текстуры и закроем диалоговое окно. На этом импорт текстуры завершится. Приступим.
Примечание: изображения кликабельны.
Подготовка RC.
- Необходимо перейти в папку .\Crytek\CRYENGINE_5\Tools\rc\ и найти rc.exe.
- Создаём самый обыкновенный ярлык — ПКМ/Создать ярлык. Для красоты его можно переименовать.
- Пропишем команду вывода диалогового окна. Для этого жмём ПКМ на ярлыке и выбираем «Свойства«. В строке «Объект» в самом конце прописываем команду -userdialog=1 и подтверждаем.
- Готово. Далее подготовим текстуру, экспортировав из исходника в tif.
Подготовка текстуры.
В данном примере я проведу экспорт диффузной текстуры в tif. Текстура будет иметь название gramophone_diff, где _diff это суффикс, указывающий, что это диффузная текстура.
Примечание: Crytek рекомендуют при добавлении своих текстур в CRYENIGNE 5 использовать цветовой профиль sRGB IEC61966-2.1, чтобы избежать различных цветовых искажений при преобразовании из одного цветового профиля в другой. В Krita по умолчанию используется свой sRGB цветовой профиль, но он почти на 100% совпадает с sRGB IEC61966-2.1, поэтому он вполне подойдёт.
- Открываем исходник:
- File/Export…
- Выбираем «изображение TIFF»:
- В настройках экспорта в TIFF отметить следующее:
- Должен получится файл с расширением tif:
ВАЖНО: Расширение должно быть именно .tif, иначе диалоговое окно rc.exe не появится. - Готово.
Компрессия текстуры из tif в dds посредством RC.
- Ранее созданный ярлык для удобства помещаем в папку с текстурой:
- Перетаскиваем текстуру в формате tif на ярлык rc.exe:
- Выбираем нужный Preset и прочие настройки:
- Жмём Generate output, чтобы осуществить компрессию tif в dds, и подтверждаем:
- Проверяем успешность компрессии: Примечание: Вывод этой командной строки можно найти в текстовом файле.\Crytek\CRYENGINE_5\Tools\rc\rc_log.log.
- Готово, rc.exe произвёл компрессию текстуры в формате tif в dds, что позволит использовать текстуру в движке. Таким нехитрым образом мы избавили себя от необходимости использовать Photoshop и плагин Crytif. Возможности RC (Resource Compiler) по упрощению преобразования контента из промежуточных форматов в форматы движка не ограничивается на таком простом трюке, изучение официальных статей Using the Resource Compile и Batch Processing with Resource Compiler and Job XML откроет много интересностей по пакетной компрессии текстур и даже автоматической сборке игры.
P.S. Чтобы добавить свои модели в движок, например из Blender, необходимо воспользоваться встроенным в движок инструментом, который называется FBX Import. Пошаговый урок находится в соседней статье этого блога.