Импорт изображений

Поддерживаемые форматы изображения

Godot может импортировать данные форматы изображения:

  • BMP (.bmp) - не поддерживает изображения с разрешением 16 бит на пиксель. Поддерживаются только 1-битные, 4-битные, 8-битные, 24-битные и 32-битные.

  • DirectDraw Surface (.dds) - если MIP-карты присутствуют в текстуре, они будут загружены напрямую. Это можно использовать для достижения эффектов с помощью настраиваемых MIP-карт.

  • OpenEXR (.exr) - поддерживает HDR (настоятельно рекомендуется для панорамного неба).

  • OpenEXR (.exr) - поддерживает HDR (настоятельно рекомендуется для панорамного неба).

  • JPEG (.jpg, .jpeg) - не поддерживает прозрачность в соответствии с ограничениями формата.

  • PNG (.png) - точность при импорте ограничена 8 битами на канал (без изображений HDR).

  • Truevision Targa (.tgа)

  • SVG (.svg, .svgz) - SVG растеризируются с использованием NanoSVG при их импорте. Поддержка ограничена; сложные векторы могут отображаться некорректно. Для сложных векторов их рендеринг в PNG с помощью Inkscape часто оказывается лучшим решением. Это можно автоматизировать благодаря интерфейсу командной строки.

  • WebP (.webp) - WebP файлы поддерживают прозрачность и могут быть сжаты с потерей качества или без. Точность лимитированна 8 битами на канал.

Примечание

Если вы скомпилировали редактор Godot из исходного кода с отключенными определенными модулями, некоторые форматы могут быть недоступны.

Импортирование текстур

Действие по умолчанию в Godot - импортировать изображения в виде текстур. Текстуры хранятся в видеопамяти и не могут быть доступны напрямую. Это то, что делает их рисование более эффективным.

Возможности импорта обширны:

../../_images/image_import1.png

Обнаружить 3D

Эта опция позволяет Godot знать, когда текстура (которая по умолчанию импортируется для 2D) используется в 3D. В этом случае настройки изменяются, поэтому флаги текстуры более удобны для 3D (MIP-карты, фильтр и повтор включаются, а сжатие изменяется на VRAM). Текстура также повторно импортируется автоматически.

Сжатие

Изображения - одни из важнейших активов в игре. Чтобы справиться с ними эффективно, их нужно сжать. Godot предлагает несколько методов сжатия в зависимости от варианта использования.

Compress Mode (режим сжатия)

  • Сжатие VRAM: Это наиболее распространенный режим сжатия для 3D-ресурсов. Размер на диске уменьшается, и использование видеопамяти также значительно уменьшается (обычно в 4–6 раз). Этого режима следует избегать для 2D, поскольку он демонстрирует заметные артефакты.

  • Lossless Compression: (сжатие без потерь). Это наиболее распространенный режим сжатия для 2D-ресурсов. Он показывает активы без каких-либо артефактов, а сжатие на диске приличное. Однако он будет использовать значительно больше видеопамяти, чем сжатие VRAM. Это рекомендуемый параметр для пиксельной графики.

  • Lossy Compression: (сжатие с потерями). Это хороший выбор для больших 2D-ресурсов. Он имеет некоторые артефакты, но меньше, чем VRAM, а размер файла в несколько раз меньше, чем у файлов без потерь или без сжатия. Использование видеопамяти в этом режиме не уменьшается; это то же самое, что и со сжатием без потерь или без сжатия.

  • Uncompressed: (без сжатия). Полезно только для форматов, которые нельзя сжать (например, необработанные изображения RAW).

В этой таблице каждый из четырех вариантов описан вместе с их преимуществами и недостатками (|хорошее| = лучшее, |плохое| = худшее):

Несжатый

Compress Lossless

Compress Lossy

Сжатие памяти VRAM

Описание

"Сырые" пиксели

Stored as Lossless WebP / PNG

Stored as Lossy WebP

Сохраняется как S3TC/BC или PVRTC/ETC в зависимости от платформы

Размер на диске

|плохо| Большой

|обычный| Маленький

|хороший| Очень маленький

|обычный| Маленький

Использование памяти

|плохо| Большой

|плохо| Большой

|плохо| Большой

|хорошо| Маленький

Производительность

|обычный| Нормальный

|обычный| Нормальный

|обычный| Нормальный

|хорошо| Быстрый

Потеря качества

|хорошо| Нет

|хорошо| Нет

|обычно| Незначительно

|плохо| Умеренно

Время загрузки

|обычный| Нормальный

|плохо| Медленно

|плохо| Медленно

|хорошо| Быстрый

Режим HDR

Godot поддерживает текстуры высокого динамического диапазона (такие, как .HDR или .EXR). Они, в основном, полезны, как равнопрямоугольные панорамы неба (в интернете есть много, если вы ищете их), которые заменяют Cubemaps в Godot 2.x. Современные ПК поддерживают формат BC6H VRAM, но есть еще много других.

Если вы хотите, чтобы Godot обеспечивал полную совместимость с точки зрения типов текстур, включите опцию "Force RGBE".

Карта нормалей

При использовании текстуры в качестве карты нормалей требуются только красный и зеленый каналы. Поскольку обычные алгоритмы сжатия текстур создают артефакты, которые не очень хорошо выглядят на картах нормалей, формат сжатия RGTC лучше всего подходит для этих данных. Если для этого параметра установлено значение "Enabled" (включено), Godot будет импортировать изображение как сжатое RGTC. По умолчанию он установлен на "Detect" (обнаружение), что означает, что если текстура когда-либо будет использоваться в качестве карты нормалей, она будет изменена на "Enabled" (включено) и повторно импортирована автоматически.

Обратите внимание, что сжатие RGTC влияет на результирующее изображение карты нормалей. Вам нужно будет настроить пользовательские шейдеры, которые используют карту нормалей, чтобы принять это во внимание.

Примечание

Godot требует, чтобы карта нормалей использовала координаты X+, Y+ и Z+, это известно как стиль OpenGL. Если вы импортировали материал, созданный для использования в другом движке, он может быть в стиле DirectX, в этом случае карту нормалей нужно преобразовать так, чтобы ось Y была перевернута.

Более подробную информацию о картах нормалей (включая таблицу порядка координат для популярных движков) можно найти здесь.

Флаги

Существует множество параметров, которые можно переключать при импорте изображения в качестве текстуры, в зависимости от варианта использования.

Повторить

Эта опция чаще всего используется в 3D, и обычно отключена в 2D. Она задает координатам UV за пределами области 0,0 -1,1 "цикл"("loop").

Повторение может быть дополнительно установлено в зеркальном режиме.

Фильтр

Когда пиксели становятся больше пикселей экрана, этот параметр включает для них линейную интерполяцию. В результате получается более гладкая (менее блочная) текстура. Этот параметр можно обычно использовать в 2D и 3D, но обычно он отключается при создании игр с идеальным пикселем.

Мип-карты

Когда пиксели становятся меньше экрана, срабатывают MIP-карты. Это помогает уменьшить эффект зернистости при сжатии текстур. Имейте в виду, что на более старом оборудовании (GLES2, в основном мобильное) есть некоторые требования для использования MIP-карт:

  • Ширина и высота текстуры должны быть степенями двойки

  • Должен быть включен повтор

Помните о вышеизложенном при создании игр и приложений для телефона, стремитесь к полной совместимости и вам нужны MIP-карты.

При работе с 3D необходимо включать mipmap, так как это также улучшает производительность (для объектов, расположенных дальше, используются более компактные версии текстуры).

Анизотропный

Когда текстуры почти параллельны виду (например, полы), этот параметр делает их более детализированными за счет уменьшения размытости.

sRGВ

Godot uses Linear colorspace when rendering 3D. Textures mapped to albedo or detail channels need to have this option turned on in order for colors to look correct. When set to Detect mode, the texture will be marked as sRGB when used in albedo channels.

Предупреждение

Since the texture will have its data modified when sRGB is enabled, this means using the same texture in both 2D and 3D will make the texture display with incorrect colors in either 2D or 3D.

Чтобы обойти это, создайте копию текстуры в файловой системе и включите sRGB только в одной из копий. Используйте копию с включенным sRGB в 3D, а копию с отключенным sRGB - в 2D.

Процесс

Некоторые специальные процессы могут быть применены к изображениям при импорте в качестве текстур.

Исправить альфа-границу

Это переводит пиксели одного и того же окружающего цвета из состояния прозрачности в состояние непрозрачности. Это помогает смягчить эффект контура при экспорте изображений из Photoshop и т.п.

../../_images/fixedborder.png

Если не требуются определенные значения, рекомендуется оставить его по умолчанию.

Предварительно умноженная альфа

Альтернативой исправлению затемненных границ является использование предварительно умноженного альфа-канала. При включении этой опции текстура будет преобразована в этот формат. Имейте в виду, что нужно будет создать материал, который использует режим наложения PREMULT ALPHA для элементов холста, которые в нём нуждаются.

HDR as sRGB

Некоторые файлы HDR повреждены и содержат данные о цвете sRGB. Рекомендуется не использовать их, но, в худшем случае, включение этой опции заставит их выглядеть правильно.

Обращенный цвет

Меняет цвет изображения на противоположное. Это полезно, например, для преобразования карты высот, созданной внешними программами, в карту глубины для использования с Spatial Material.

SVG

Масштаб

Этот параметр применим только к файлам SVG. Он контролирует масштаб изображения SVG. Масштаб по умолчанию (1.0) заставит импортированный SVG соответствовать исходному масштабу проекта.