Импорт изображений
Поддерживаемые форматы изображения
Godot может импортировать данные форматы изображения:
BMP (
.bmp) - не поддерживает изображения с разрешением 16 бит на пиксель. Поддерживаются только 1-битные, 4-битные, 8-битные, 24-битные и 32-битные.DirectDraw Surface (
.dds) - если MIP-карты присутствуют в текстуре, они будут загружены напрямую. Это можно использовать для достижения эффектов с помощью настраиваемых MIP-карт.Khronos Texture (
.ktx) — декодирование выполняется с помощью libktx. Поддерживает только 2D-изображения. Кубические карты, массивы текстур и де-паддинг (de-padding) не поддерживаются.OpenEXR (
.exr) - поддерживает HDR (настоятельно рекомендуется для панорамного неба).OpenEXR (
.exr) - поддерживает HDR (настоятельно рекомендуется для панорамного неба).JPEG (
.jpg,.jpeg) - не поддерживает прозрачность в соответствии с ограничениями формата.PNG (
.png) - точность при импорте ограничена 8 битами на канал (без изображений HDR).Truevision Targa (
.tgа)SVG (
.svg) - SVG-ы растеризуются с помощью ThorVG при их импорте. Поддержка ограничена; сложные векторы могут отображаться некорректно. Текст должен быть преобразован в пути; в противном случае он не будет отображаться на растровом изображении. Вы можете проверить, может ли ThorVG правильно визуализировать определенный вектор, используя его web-based viewer. Для сложных векторов, рендеринг их в PNG-файлы с использованием Inkscape часто является лучшим решением. Это можно автоматизировать благодаря command-line interface.WebP (
.webp) - WebP файлы поддерживают прозрачность и могут быть сжаты с потерей качества или без. Точность лимитированна 8 битами на канал.
Примечание
Если вы скомпилировали редактор Godot из исходного кода с отключенными определенными модулями, некоторые форматы могут быть недоступны.
Импортирование текстур
По умолчанию в Godot изображения импортируются как текстуры. Текстуры хранятся в видеопамяти. Доступ к их пиксельным данным напрямую из процессора возможен только после обратного преобразования в Image в скрипте. Именно это обеспечивает эффективность отрисовки текстур.
Существует более десятка параметров импорта, которые можно настроить после выбора изображения во вкладке FileSystem:
Параметры импорта доступны во вкладке Import после выбора изображения во вкладке FileSystem. Некоторые из этих параметров доступны только при использовании определённых режимов сжатия.
Изменение типа импорта
Во вкладке импорта можно выбрать другие типы импортируемых ресурсов:
BitMap: 1-битная монохромная текстура (предназначена для использования в качестве маски щелчка в TextureButton и TouchScreenButton). Этот тип ресурса нельзя отображать непосредственно на 2D- или 3D-узлах, но значения пикселей можно запросить из скрипта с помощью get_bit.
Cubemap: Импортируйте текстуру как 6-стороннюю cubemap с интерполяцией между сторонами cubemap (бесшовные cubemap), которую можно использовать в пользовательских шейдерах.
CubemapArray: Импортируйте текстуру как набор 6-сторонних кубических карт, которые можно использовать в пользовательских шейдерах. Этот тип ресурса отображается только при использовании рендереров Forward+ или Mobile, но не Compatibility.
Font Data (Monospace Image Font): Импортируйте изображение как растровый шрифт, все символы которого имеют одинаковую ширину. См. Using Fonts.
Image: Импортирует изображение «как есть». Этот тип ресурса нельзя отображать непосредственно на 2D- или 3D-узлах, но значения пикселей можно запросить из скрипта с помощью get_pixel.
Texture2D: Импорт изображения как двумерной текстуры, подходящей для отображения на двумерных и трёхмерных поверхностях. Это режим импорта по умолчанию.
Texture2DArray: Импортируйте изображение как набор двумерных текстур. Texture2DArray похож на трёхмерную текстуру, но без интерполяции между слоями. Встроенные 2D- и 3D-шейдеры не могут отображать массивы текстур, поэтому для отображения текстуры из массива необходимо создать собственный шейдер в 2D или 3D.
Texture3D: Импортирует изображение как трёхмерную текстуру. Это не двухмерная текстура, наложенная на трёхмерную поверхность. Texture3D похож на массив текстур, но с интерполяцией между слоями. Texture3D обычно используется для карт плотности FogMaterial в векторных полях объёмного тумана volumetric fog, particle attractor, цветокоррекции 3D LUT Environment и пользовательских шейдеров.
TextureAtlas: Импорт изображения как атласа различных текстур. Может использоваться для экономии памяти при создании анимированных 2D-спрайтов. Поддерживается только в 2D из-за отсутствия поддержки во встроенных 3D-шейдерах.
Для Cubemap ожидаемый порядок изображений: X+, X-, Y+, Y-, Z+, Z- (в системе координат Godot, где Y+ — «вверх», а Z- — «вперёд»). Вот шаблоны, которые можно использовать для изображений кубической карты (щёлкните правой кнопкой мыши > Save Link As…):
Обнаружить 3D
Параметры импорта по умолчанию (без mipmaps и сжатие без потерь) подходят для 2D, но не идеальны для большинства 3D-проектов. Detect 3D сообщает Godot, когда текстура используется в 3D-сцене (например, текстура в BaseMaterial3D). В этом случае несколько параметров импорта изменяются, чтобы флаги текстур были более удобными для 3D. MIP-текстуры включаются, а режим сжатия меняется на VRAM Compressed, если не изменён Определить 3D > Сжать В. Текстура также автоматически переимпортируется.
При обнаружении текстуры, которая будет использоваться в 3D, на панель вывода выводится сообщение.
Если при обнаружении текстуры, предназначенной для использования в 3D (например, для текстур пиксельной графики), возникают проблемы с качеством, измените параметр Определить 3D > Сжать В перед использованием текстуры в 3D или измените параметр Сжатие > Режим на Lossless после использования текстуры в 3D. Это предпочтительнее, чем отключение параметра Detect 3D, поскольку генерация MIP-текстур остаётся включённой, предотвращая зернистость текстур на расстоянии.
Опции импорта
См. также
В Godot 4.0 изменение фильтра текстур и режима повторения больше не выполняется в параметрах импорта.
Вместо этого режимы фильтрации и повторения текстур изменяются в свойствах CanvasItem в 2D (при этом настройки проекта действуют по умолчанию) и в конфигурации для каждого материала в 3D. В пользовательских шейдерах режим фильтрации и повторения изменяется в униформе sampler2D с использованием подсказок, описанных в документации Язык шейдеров.
Сжатие > Режим
Изображения - одни из важнейших активов в игре. Чтобы справиться с ними эффективно, их нужно сжать. Godot предлагает несколько методов сжатия в зависимости от варианта использования.
Lossless: Это стандартный и наиболее распространённый режим сжатия для 2D-ресурсов. Он отображает ресурсы без каких-либо артефактов, а сжатие диска обеспечивает приемлемое качество. Однако при этом используется значительно больше видеопамяти, чем при сжатии VRAM. Этот режим также рекомендуется для пиксельной графики.
Lossy: (С потерями) Этот режим хорошо подходит для больших 2D-ресурсов. Возможны некоторые артефакты, но они меньше, чем при сжатии VRAM, а размер файла в несколько раз меньше по сравнению с Lossless или VRAM Uncompressed. Использование видеопамяти в этом режиме не уменьшается; оно равно объёму использования Lossless или VRAM Uncompressed.
VRAM Compressed: Это стандартный и наиболее распространённый режим сжатия для 3D-ресурсов. Он уменьшает размер на диске и значительно снижает использование видеопамяти (обычно в 4–6 раз). Этот режим следует избегать для 2D-графики, поскольку он приводит к заметным артефактам, особенно для текстур с низким разрешением.
VRAM Uncompressed: (VRAM без сжатия) Полезен только для форматов, которые невозможно сжать, например необработанных изображений с плавающей точкой.
Basis Universal: Этот альтернативный режим сжатия VRAM кодирует текстуру в формат, который может быть перекодирован в большинство форматов со сжатием на GPU во время загрузки. Это позволяет получить очень маленькие файлы, использующие сжатие VRAM, но за счёт более низкого качества по сравнению со сжатием VRAM и более медленного сжатия. Использование VRAM обычно такое же, как и в случае сжатой VRAM. Basis Universal не поддерживает форматы изображений с плавающей запятой (движок будет использовать сжатую VRAM).
Примечание
Даже в 3D-текстурах "pixel art" следует отключать сжатие видеопамяти, поскольку это негативно скажется на их внешнем виде, не приводя к значительному повышению производительности из-за их низкого разрешения.
В этой таблице каждый из 5 вариантов описан вместе с его преимуществами и недостатками (
= лучший,
= худший):
Compress Mode (Режим Сжатия) |
Без потерь |
С потерями |
VRAM Compressed (Сжатая видеопамять) |
VRAM Несжатый |
Basis Universal (Базовое и Расширенное сжатие) |
|---|---|---|---|---|---|
Описание |
Сохранен как Lossless WebP /PNG |
Сохранен как Lossy WebP |
Сохраняется как S3TC, BPTC или ETC2 в зависимости от платформы. |
"Сырые" пиксели |
Перекодирование в сжатый формат VRAM |
Size on disk (Размер на диске) |
|
|
|
|
|
Использование памяти |
|
|
|
|
|
Производительность: |
|
|
|
|
|
Потеря качества |
|
|
|
|
|
Время загрузки |
|
|
|
|
|
Расчетное использование памяти для одной текстуры RGBA8 с включенными mipmaps:
Размер текстуры |
Без потерь |
С потерями |
VRAM Compressed (Сжатая видеопамять) |
VRAM Несжатый |
Basis Universal (Базовое и Расширенное сжатие) |
|---|---|---|---|---|---|
128×128 |
|
|
|
|
|
256×256 |
|
|
|
|
|
512×512 |
|
|
|
|
|
1024×1024 |
|
|
|
|
|
2048×2048 |
|
|
|
|
|
4096×4096 |
|
|
|
|
|
Примечание
В приведённой выше таблице потребление памяти будет снижено на 25% для изображений без альфа-канала (RGB8). Для изображений с отключёнными mipmaps потребление памяти будет снижено ещё на 25%.
Обратите внимание, что при более высоких разрешениях влияние сжатия VRAM значительно сильнее. При коэффициенте сжатия 4:1 (6:1 для непрозрачных текстур с S3TC) сжатие VRAM фактически позволяет увеличить размер текстуры вдвое по каждой оси, используя тот же объём памяти графического процессора.
Сжатие VRAM также снижает пропускную способность памяти, необходимую для сэмплирования текстуры, что может ускорить рендеринг в сценариях с ограниченной пропускной способностью памяти (которые часто встречаются на интегрированных графических процессорах и мобильных устройствах). В совокупности эти факторы делают сжатие VRAM обязательным для 3D-игр с текстурами высокого разрешения.
Вы можете предварительно просмотреть, сколько памяти занимает текстура, дважды щелкнув ее в доке файловой системы, а затем взглянув на инспектор:
Предварительный просмотр текстуры в инспекторе. Автор: Red Brick 03 - Poly Haven
Сжатие > Высокое качество
Примечание
Высококачественное сжатие текстур VRAM поддерживается только в рендерах Forward+ и Mobile.
При использовании рендерера совместимости эта опция всегда считается отключенной.
Если эта опция включена, используется сжатие BPTC на настольных платформах и сжатие ASTC на мобильных платформах. При использовании BPTC для SDR-текстур используется BC7, а для HDR-текстур — BC6H.
Если отключено (по умолчанию), используется более быстрое, но менее качественное сжатие S3TC на настольных платформах и ETC2 на мобильных/веб-платформах. При использовании S3TC для непрозрачных текстур используется DXT1 (BC1), а для прозрачных текстур или текстур с картами нормалей (RGTC) — DXT5 (BC3).
BPTC и ASTC поддерживают сжатие VRAM для HDR-текстур, а S3TC и ETC2 — нет (см. Сжатие HDR ниже).
Compress > HDR Compression (Сжатие > Сжатие HDR)
Примечание
Эта опция влияет только на текстуры, импортированные в Godot как форматы HDR (файлы .hdr и .exr).
Если установлено значение Disabled, сжатие видеопамяти для HDR-текстур никогда не используется, независимо от того, являются ли они непрозрачными или прозрачными. Вместо этого текстура преобразуется в формат RGBE9995 (9 бит на канал + 5 бит экспоненты = 32 бита на пиксель), чтобы уменьшить использование памяти по сравнению с форматами изображений с полуплавающей или одинарной точностью.
Если установлено значение Opaque Only (по умолчанию), используется сжатие VRAM (видеопамяти) только для непрозрачных HDR-текстур. Это связано с ограничением форматов HDR, поскольку не существует HDR-формата со сжатием VRAM , который одновременно поддерживал бы прозрачность.
Если установлено значение Always, будет принудительно выполняться сжатие видеопамяти даже для HDR-текстур с альфа-каналом. Для этого альфа-канал отбрасывается при импорте.
Compress > Normal Map (Сжатие > Карта нормалей)
При использовании текстуры в качестве карты нормалей требуются только красный и зелёный каналы. Учитывая, что обычные алгоритмы сжатия текстур создают артефакты, которые выглядят не очень красиво на картах нормалей, формат сжатия RGTC лучше всего подходит для этих данных. Принудительное включение этого параметра в значение Enable заставит Godot импортировать изображение как сжатое RGTC. По умолчанию установлено значение Detect. Это означает, что если текстура когда-либо будет обнаружена для использования в качестве карты нормалей, она будет изменена на Enable и автоматически импортирована.
Обратите внимание, что сжатие RGTC влияет на результирующее изображение карты нормалей. Вам потребуется настроить пользовательские шейдеры, использующие синий канал карты нормалей, чтобы учесть это. Встроенные шейдеры материалов изначально игнорируют синий канал карты нормалей (независимо от её фактического содержимого).
В примере ниже карта нормалей со сжатием RGTC способна гораздо лучше сохранять детализацию, используя при этом тот же объем памяти, что и стандартная текстура RGBA, сжатая во VRAM:
Карта нормалей со стандартным сжатием VRAM (слева) и со сжатием VRAM RGTC (справа)
Примечание
Godot требует, чтобы карта нормалей использовала координаты X+, Y+ и Z+, что называется в OpenGL - style normal map. Если вы импортировали материал, предназначенный для использования с другим движком, он может быть в стиле DirectX. В этом случае карту нормалей необходимо преобразовать, включив опцию импорта Normal Map Invert Y.
Более подробную информацию о картах нормалей (включая таблицу порядка координат для популярных движков) можно найти здесь.
Сжатие > Пакет каналов
Если установлено значение sRGB Friendly (по умолчанию), предотвращается использование формата цвета RG, поскольку он не поддерживает цвет sRGB.
Если установлено значение Оптимизировано, разрешается использовать цветовой формат RG, если текстура не использует синий канал.
Третий параметр, Normal Map (RG Channels), доступен только для многослойных текстур (Cubemap, CubemapArray, Texture2DArray и Texture3D). Он принудительно импортирует все слои текстуры в цветовом формате RG, сохраняя только красный и зелёный каналы. Сжатие RGTC позволяет гораздо лучше сохранять детализацию, используя тот же объём памяти, что и стандартная текстура RGBA, сжатая в VRAM. Это влияет только на текстуры с режимами сжатия VRAM Compressed или Basis Universal.
Mipmaps > Generate (Mip-текстуры > Генерировать)
Если эта опция включена, при импорте генерируются уменьшенные версии текстуры. Например, для текстуры размером 64×64 будут сгенерированы 6 MIP-текстур (32×32, 16×16, 8×8, 4×4, 2×2, 1×1). Это даёт несколько преимуществ:
Текстуры не станут зернистыми на расстоянии (в 3D) или при уменьшении масштаба из-за зума камеры или масштаба CanvasItem (в 2D).
Производительность повысится, если текстура будет отображаться на расстоянии, поскольку выборка меньших версий исходной текстуры выполняется быстрее и требует меньшей пропускной способности памяти.
Недостатком MIP-текстур является то, что они увеличивают использование памяти примерно на 33%.
Рекомендуется включить MIP-текстурирование в 3D. Однако в 2D это следует делать только в том случае, если ваш проект явно выигрывает от использования MIP-текстурирования. Если камера никогда не отдаляется значительно, MIP-текстурирование не даст никакого эффекта, но увеличит потребление памяти.
Mipmaps > Limit (Mip-текстуры > Предел)
Предупреждение
Mipmaps > Limit в настоящее время не реализован и не оказывает никакого эффекта при изменении.
Если установлено значение больше -1, ограничивается максимальное количество создаваемых MIP-текстур. Это значение можно уменьшить, если вы не хотите, чтобы текстуры становились слишком низкого разрешения на больших расстояниях, что может привести к некоторой зернистости.
Roughness > Mode (Шероховатость > Режим)
Цветовой канал, который следует рассматривать как карту шероховатости в этой текстуре. Действует только в том случае, если параметр Roughness > Src Normal не пуст.
Шероховатость > Нормальная исходная
Путь к текстуре, которая будет использоваться в качестве карты нормалей для фильтрации шероховатости при импорте. Указание этого пути может помочь немного уменьшить зеркальное искажение в 3D.
Фильтрация шероховатости при импорте используется только при 3D-рендеринге, а не при 2D-рендеринге.
Process > Fix Alpha Border (Процесс > Исправить альфа-границу)
Это обеспечивает переход пикселей того же окружающего цвета из прозрачных в непрозрачные области. Для текстур, отображаемых с помощью билинейной фильтрации, это помогает смягчить эффект контура при экспорте изображений из графического редактора.
Рекомендуется оставить этот параметр включенным (как установлено по умолчанию), если только это не вызывает проблем для конкретного изображения.
Process > Premult Alpha (Процесс > Премульт Альфа)
Альтернативой исправлению затемненных границ с помощью Fix Alpha Border является использование предварительно умноженной альфы. При включении этой опции текстура будет преобразована в этот формат. Для корректного отображения предварительно умноженной альфы требуются определенные материалы:
В 2D необходимо создать и настроить CanvasItemMaterial для использования режима смешивания Premul Alpha для CanvasItems, использующих эту текстуру. В шейдерах пользовательских элементов холста следует использовать
render_mode blend_premul_alpha;.В 3D необходимо создать и настроить BaseMaterial3D для использования режима смешивания Premul Alpha для материалов, использующих эту текстуру. В пользовательских пространственных шейдерах следует использовать
render_mode blend_premul_alpha;.
Process > Normal Map Invert Y (Инвертированная Normal Map Y)
Godot требует, чтобы карта нормалей использовала координаты X+, Y+ и Z+, что называется в OpenGL - style normal map. Если вы импортировали материал, предназначенный для использования с другим движком, он может быть в стиле DirectX. В этом случае карту нормалей необходимо преобразовать, включив опцию импорта Normal Map Invert Y.
Более подробную информацию о картах нормалей (включая таблицу порядка координат для популярных движков) можно найти здесь.
Process > HDR как sRGB
Некоторые HDR-изображения, доступные в интернете, могут быть повреждены и содержать данные о цвете в формате sRGB (вместо линейных данных). Рекомендуется не использовать такие файлы. В случае крайней необходимости включение этой опции поможет восстановить корректный вид.
Предупреждение
Включение HDR as sRGB на хорошо отформатированных HDR-изображениях приведет к тому, что полученное изображение будет выглядеть слишком темным, поэтому оставьте этот параметр отключенным, если не уверены.
Процесс > Экспозиция с HDR-зажимом
Некоторые панорамные изображения HDR, которые вы можете найти в Интернете, могут содержать слишком яркие пиксели, поскольку они взяты из реальных источников без какой-либо обрезки.
Хотя эти HDR-панорамные изображения точно передают реальную картину, при использовании Godot в качестве фонового неба карта сияния может содержать блики. Это заметно на отражениях от материалов (даже на грубых материалах в крайних случаях). Включение HDR Clamp Exposure может решить эту проблему с помощью интеллектуальной формулы схватывания, которая не вносит видимых искажений – свечение будет сохраняться при взгляде на фоновое небо.
Процесс > Ограничение по размеру
Если задано значение больше 0, размер текстуры при импорте ограничивается значением, меньшим или равным указанному здесь. Для неквадратных текстур ограничение размера действует по большей стороне, а меньшая сторона масштабируется для сохранения соотношения сторон. Изменение размера выполняется с помощью кубической интерполяции.
Это можно использовать для уменьшения использования памяти, не влияя на исходные изображения, или для избежания проблем с текстурами, которые не отображаются на мобильных/веб-платформах (поскольку они обычно не могут отображать текстуры размером более 4096×4096).
Определить 3D > Сжать В
Это изменяет параметр Сжатие > Режим, который используется, когда текстура определяется как используемая в 3D.
Изменение этого параметра импорта вступает в силу только в том случае, если обнаружено, что текстура используется в 3D. Если изменить значение на Disabled, то повторный импорт не изменит текущий режим сжатия текстуры (если обнаружено, что она используется в 3D), но выбор VRAM Compressed или Basis Universal изменит.
SVG > Масштаб
Это доступно только для изображений SVG.
Масштаб, в котором должен отображаться SVG-файл, где «1.0» — исходный размер дизайна. Более высокие значения приводят к увеличению размера изображения. Обратите внимание, что, в отличие от передискретизации шрифтов, это влияет на физический размер SVG-файла, отображаемого в 2D. См. также раздел Editor > Scale With Editor Scale ниже.
Редактор > Масштаб с Редактором Масштаба
Это доступно только для изображений SVG.
Если задано значение true, импортированное изображение масштабируется в соответствии с коэффициентом масштабирования экрана редактора. Этот параметр следует включить для значков плагинов редактора и значков пользовательских классов, но в остальных случаях следует оставить отключенным.
Редактор > Преобразование Цветов с Помощью Темы Редактора
Это доступно только для изображений SVG.
Если этот флажок установлен, цвета импортированного изображения преобразуются в соответствии с цветовой палитрой значка и шрифта редактора. При этом предполагается, что изображение использует те же цвета, что и в цветовой палитре Godot для значков редактора, а исходный файл разработан для тёмной темы редактора. Этот параметр следует включить для значков плагинов редактора и значков пользовательских классов, но в остальных случаях следует оставить отключенным.
Импорт изображений SVG с текстом
Поскольку библиотека SVG, используемая в Godot, не поддерживает растеризацию текста, содержащегося в SVG-изображениях, текст необходимо сначала преобразовать в контур. В противном случае текст не будет отображаться на растеризованном изображении.
Есть два способа сделать это неразрушающим образом, чтобы впоследствии можно было продолжить редактирование исходного текста:
Выделите текстовый объект в Inkscape, затем скопируйте его, нажав Ctrl + D, и выберите Path > Object to Path. Затем скройте исходный текстовый объект с помощью панели Layers and Objects.
Используйте командную строку Inkscape для экспорта SVG-файла из другого SVG-файла с текстом, преобразованным в пути:
inkscape --export-text-to-path --export-filename svg_with_text_converted_to_path.svg svg_with_text.svg
Лучшие практики
Поддержка текстур высокого разрешения в 2D без артефактов
Для поддержки множественных разрешений с четкими визуальными эффектами при высоких разрешениях вам необходимо использовать исходные изображения с высоким разрешением (подходящие для самого высокого разрешения, которое вы хотите поддерживать без размытости, что обычно составляет 4K в современных настольных играх).
Есть два способа продлить свои мучения:
Используйте высокое базовое разрешение в настройках проекта (например, 4K), а затем используйте текстуры в исходном масштабе. Это более простой подход.
Используйте низкое базовое разрешение в настройках проекта (например, 1080p), а затем уменьшайте масштаб текстур при их использовании. Это часто сложнее и может сделать различные вычисления в скрипте утомительными, поэтому рекомендуется использовать описанный выше подход.
После этого вы можете заметить, что текстуры становятся зернистыми при низком разрешении области просмотра. Чтобы решить эту проблему, включите Mipmaps для текстур, используемых в 2D, в панели импорта. Однако, это увеличит потребление памяти.
Включение MIP-текстур также может сделать текстуры более размытыми, но вы можете сделать текстуры более резкими (за счет некоторой зернистости), установив для параметра Rendering > Textures > Default Filters > Texture Mipmap Bias отрицательное значение.
Используйте соответствующие размеры текстур в 3D
Хотя "универсального совета не существует", вот несколько общих рекомендаций по выбору размеров текстур в 3D:
Размер текстуры следует корректировать так, чтобы обеспечить постоянную плотность текселей по сравнению с окружающими объектами. Хотя это невозможно обеспечить идеально, используя размеры текстур, равные степени двойки, обычно можно поддерживать относительно одинаковую детализацию текстур по всей 3D-сцене.
Чем меньше объект на экране, тем меньше должна быть его текстура. Например, дереву, которое появляется только на заднем плане, не требуется такое же высокое разрешение текстуры, как другим объектам, к которым игрок может приблизиться.
Рекомендуется использовать текстуры размером, равным степени двойки, но это не обязательно. Текстуры не обязательно должны быть квадратными — допустимы размеры, например, 1024×512.
Несмотря на увеличение потребления памяти и времени загрузки, отдача от использования текстур большого размера снижается. Большинство современных 3D-игр, не использующих пиксельную графику, в среднем используют текстуры размером 2048×2048, а для текстур, охватывающих меньшие поверхности, — 1024×1024 и 512×512.
При работе с физически корректными материалами в 3D можно уменьшить потребление памяти и размер файла без существенного ущерба качеству, используя более низкое разрешение для некоторых текстурных карт. Это особенно хорошо подходит для текстур, содержащих только низкочастотные детали (например, карта нормалей для текстуры снега).
Если вы контролируете процесс создания 3D-моделей, вам также стоит изучить следующие советы:
При работе с преимущественно симметричными 3D-моделями можно использовать зеркальные UV-развертки, чтобы удвоить эффективную плотность текселей. Однако на человеческих лицах это может выглядеть неестественно.
При работе с 3D-моделями, использующими низкополигональный стиль и простые цвета, для представления цветов на поверхностях модели можно использовать цвета вершин вместо текстур.
См. также
Изображения можно загружать и сохранять во время выполнения с помощью загрузки и сохранения файлов во время выполнения, в том числе из экспортированного проекта.
Маленький