ResourceImporterTexture

Успадковує: ResourceImporter < RefCounted < Object

Імпортувати зображення для використання в 2D або 3D рендерингу.

Опис

Цей імпортер CompressedTexture2D ресурси. Якщо вам потрібно обробити зображення в скриптах більш зручним способом, скористайтеся ResourceImporterImage. Дивись також ResourceImporterLayeredTexture.

Посібники

Властивості

int

compress/channel_pack

0

int

compress/hdr_compression

1

bool

compress/high_quality

false

float

compress/lossy_quality

0.7

int

compress/mode

0

int

compress/normal_map

0

float

compress/rdo_quality_loss

0.0

int

compress/uastc_level

0

int

detect_3d/compress_to

1

bool

editor/convert_colors_with_editor_theme

false

bool

editor/scale_with_editor_scale

false

bool

mipmaps/generate

false

int

mipmaps/limit

-1

int

process/channel_remap/alpha

3

int

process/channel_remap/blue

2

int

process/channel_remap/green

1

int

process/channel_remap/red

0

bool

process/fix_alpha_border

true

bool

process/hdr_as_srgb

false

bool

process/hdr_clamp_exposure

false

bool

process/normal_map_invert_y

false

bool

process/premult_alpha

false

int

process/size_limit

0

int

roughness/mode

0

String

roughness/src_normal

""

float

svg/scale

1.0


Описи властивостей

int compress/channel_pack = 0 🔗

Контроль якості кольорових каналів слід використовувати в імпортній фактурі.

sRGB Друге: Запобігає формату RG від використання, оскільки він не підтримує колір sRGB.

Оптимізований: Дозволяє формату RG для використання, якщо текстура не використовує синій канал. Це зменшує використання пам'яті, якщо синій канал текстури можна відкинути (всі пікселів повинні мати сине значення 0).


int compress/hdr_compression = 1 🔗

Контроль якості стиснення VRAM слід виконувати для зображень HDR.

Вимкнено: Ніколи не використовуйте стиснення VRAM для текстур HDR, незалежно від того, чи є вони непрозорими або прозорими. Замість текстури перетворюються на RGBE9995 (9-bits на канал + 5-bit exponent = 32 біти на піксель) для зменшення використання пам'яті у порівнянні з полуплавним або одноточним форматом плавлення.

Opaque Тільки: Тільки використовується стиснення VRAM для текстур Opaque HDR. Це пов'язано з обмеженням форматів HDR, оскільки не існує формату VRAM, який підтримує прозорість одночасно.

Always: Пристрої стиснення VRAM навіть для текстур HDR з альфа-каналом. Для того, щоб виконати це, альфа-канал відкидається на імпорт.

Примітка: Тільки ефективний на Radiance HDR (.hdr) і OpenEXR (.exr) зображень.


bool compress/high_quality = false 🔗

Якщо true, використовує стиснення BPTC на настільних платформах та стиснення ASTC на мобільних платформах. При використанні BPTC, BC7 використовується для текстур SDR і BC6H для текстур HDR.

Якщо false, скористайтеся швидким, але низькою якістю стиснення S3TC на настільних платформах і ETC2 на мобільних/web платформах. При використанні S3TC, DXT1 (BC1) використовується для непрозорих текстур і DXT5 (BC3) використовується для прозорої або нормальної карти (RGTC) текстур.

BPTC і ASTC підтримка VRAM стиснення для текстур HDR, але S3TC і ETC2 не (див. compress/hdr_compression).


float compress/lossy_quality = 0.7 🔗

Якість використання при використанні Lossy режим стиснення. Найвищі значення в результаті кращої якості, за вартістю більших розмірів файлів. Якість втрати не впливає на використання пам'яті імпортної текстури, тільки його розмір файлу на диску.


int compress/mode = 0 🔗

Режим стиснення для використання. Кожний режим стиснення забезпечує різну торгівлю:

Lossless: Оригінальна якість, висока пам'ять, високий розмір на диску, швидкий імпорт.

Lossy: Знижена якість, висока пам'ять, низький розмір на диску, швидкий імпорт.

** VRAM ** Знижена якість, низьке використання пам'яті, низький розмір на диску, повільне імпорт. Тільки для текстур в 3D-сценах, не для 2D-елементів.

** VRAM Uncompressed:** Оригінальна якість, висока якість використання пам'яті, найвищий розмір на диску, швидкий імпорт.

Basis Universal: Знижена якість, низьке використання пам'яті, найнижчий розмір на диску, повільний імпорт. Тільки для текстур в 3D-сценах, не для 2D-елементів.

Див. Compress mode в інструкції для отримання більш детальної інформації.


int compress/normal_map = 0 🔗

При використанні текстури як нормальної карти, потрібні тільки червоні і зелені канали. З огляду на регулярні алгоритми стиснення текстури виробляють артефакти, які не виглядають, які приємно в нормальних картах, формат стиснення RGTC найкраще підходять для цих даних. Для того, щоб зробити Godot імпортувати зображення як стиснення RGTCTC. За замовчуванням, це встановити для виявлення. Це означає, що якщо текстура коли-небудь виявлена, щоб бути використана як нормальна карта, вона буде змінена для Увімкнути і переімпортувати автоматично.

Зверніть увагу, що стиснення RGTC впливає на зображення нормальної карти. Ви повинні регулювати користувацькі тіні, які використовують синий канал нормальної карти, щоб взяти це врахувати. Побудовані матеріальні шейдери вже ігнорують блакитний канал в нормальній карті (незалежно від фактичного нормального вмісту карти).


float compress/rdo_quality_loss = 0.0 🔗

Якщо значення більше або дорівнює 0.01, вмикається оптимізація швидкості спотворення (RDO) для зменшення розміру файлу. Вищі значення призводять до меншого розміру файлу, але нижчої якості.

Примітка: Увімкнення RDO значно збільшує час кодування, особливо коли зображення велике.

Див. також ProjectSettings.rendering/textures/basis_universal/rdo_dict_size та ProjectSettings.rendering/textures/basis_universal/zstd_supercompression_level, якщо ви хочете ще більше зменшити розмір файлу.


int compress/uastc_level = 0 🔗

Рівень кодування UASTC. Вищі значення забезпечують кращу якість, але збільшують час кодування.


int detect_3d/compress_to = 1 🔗

Це зміни параметра compress/mode, який використовується при виявленні текстури як використовується в 3D.

Зміна цього параметра імпорту тільки має ефект, якщо текстура виявлена як використовується в 3D. Зміна цього до Вимкнено **, після чого переімпортування не змінить існуючий режим компресу на текстурі (якщо він виявлений для використання в 3D), але вибираючи **VRAM Compressed або Basis Universal.


bool editor/convert_colors_with_editor_theme = false 🔗

Якщо true, перетворює кольори імпортованого зображення відповідно до EditorSettings.interface/theme/icon_and_font_color. Це передбачає, що зображення використовує ті самі кольори, що й власна палітра кольорів Godot для іконок редактора, а вихідний файл призначений для темної теми редактора. Цю опцію слід увімкнути для іконок плагінів редактора та іконок користувацьких класів, але в інших випадках її слід залишити вимкненою.

Примітка: Доступно тільки для зображень SVG.


bool editor/scale_with_editor_scale = false 🔗

Якщо true, масштабує імпортне зображення, щоб відповідати EditorSettings.interface/editor/custom_display_scale. Це має бути ввімкнено до значків додатків редактора та іконок користувацького класу, але слід залишити вимкнено інакше.

Примітка: Тільки доступні для SVG зображень.


bool mipmaps/generate = false 🔗

Якщо true, менші версії текстури створюються на імпорті. Наприклад, текстура 64×64 буде генерувати 6 mipmaps (32×32, 16×16, 8×8, 4×4, 2×2, 1×1). Це має кілька переваг:

  • Текстури не стануть зернові на відстані (в 3D), або якщо масштабовані через збільшення Camera2D або CanvasItem (в 2D).

  • Продуктивність поліпшить, якщо текстура відображається на відстані, так як вибірка менших версій оригінальної текстури швидше і вимагає меншої пропускної здатності пам'яті.

Знизу mipmaps є те, що вони підвищують використання пам'яті приблизно на 33%.

Рекомендовано увімкнути mipmaps у 3D. Однак, в 2D, це повинно бути включений лише якщо ваш проект ввімкнено перевагами, що мають ввімкнені mipmaps. Якщо камера ніколи не збільшиться, не буде корисною для забезпечення міток, але використання пам'яті збільшиться.


int mipmaps/limit = -1 🔗

Непристойна. В даний час немає ефекту при зміні.


int process/channel_remap/alpha = 3 🔗

Визначає джерело даних альфа-каналу вихідного зображення.

Червоний: Використовувати значення з червоного каналу вихідного зображення.

Зелений: Використовувати значення з зеленого каналу вихідного зображення.

Синій: Використовувати значення з синього каналу вихідного зображення.

Альфа: Використовувати значення з альфа-каналу вихідного зображення.

Інвертований червоний: Використовувати інвертовані значення з червоного каналу вихідного зображення (1.0 - R).

Інвертований зелений: Використовувати інвертовані значення з зеленого каналу вихідного зображення (1.0 - G).

Інвертований синій: Використовувати інвертовані значення з синього каналу вихідного зображення (1.0 - B).

Інвертований альфа-канал: Використовувати інвертовані значення з альфа-каналу вихідного зображення (1.0 - A).

Невикористаний: Встановлювати значення колірного каналу за замовчуванням (1.0 для альфа-каналу, 0.0 для червоного, зеленого або синього).

Нуль: Встановлювати значення колірного каналу на 0.0.

Одиниця: Встановлювати значення колірного каналу на 1.0.


int process/channel_remap/blue = 2 🔗

Визначає джерело даних синього каналу вихідного зображення.

Червоний: Використовувати значення з червоного каналу вихідного зображення.

Зелений: Використовувати значення з зеленого каналу вихідного зображення.

Синій: Використовувати значення з синього каналу вихідного зображення.

Альфа: Використовувати значення з альфа-каналу вихідного зображення.

Інвертований червоний: Використовувати інвертовані значення з червоного каналу вихідного зображення (1.0 - R).

Інвертований зелений: Використовувати інвертовані значення з зеленого каналу вихідного зображення (1.0 - G).

Інвертований синій: Використовувати інвертовані значення з синього каналу вихідного зображення (1.0 - B).

Інвертований альфа-канал: Використовувати інвертовані значення з альфа-каналу вихідного зображення (1.0 - A).

Невикористаний: Встановлювати значення колірного каналу за замовчуванням (1.0 для альфа-каналу, 0.0 для червоного, зеленого або синього).

Нуль: Встановлювати значення колірного каналу на 0.0.

Одиниця: Встановлювати значення колірного каналу на 1.0.


int process/channel_remap/green = 1 🔗

Визначає джерело даних зеленого каналу вихідного зображення.

Червоний: Використовувати значення з червоного каналу вихідного зображення.

Зелений: Використовувати значення з зеленого каналу вихідного зображення.

Синій: Використовувати значення з синього каналу вихідного зображення.

Альфа: Використовувати значення з альфа-каналу вихідного зображення.

Інвертований червоний: Використовувати інвертовані значення з червоного каналу вихідного зображення (1.0 - R).

Інвертований зелений: Використовувати інвертовані значення з зеленого каналу вихідного зображення (1.0 - G).

Інвертований синій: Використовувати інвертовані значення з синього каналу вихідного зображення (1.0 - B).

Інвертований альфа-канал: Використовувати інвертовані значення з альфа-каналу вихідного зображення (1.0 - A).

Невикористаний: Встановлювати значення колірного каналу за замовчуванням (1.0 для альфа-каналу, 0.0 для червоного, зеленого або синього).

Нуль: Встановлювати значення колірного каналу на 0.0.

Одиниця: Встановлювати значення колірного каналу на 1.0.


int process/channel_remap/red = 0 🔗

Визначає джерело даних червоного каналу вихідного зображення.

Червоний: Використовувати значення з червоного каналу вихідного зображення.

Зелений: Використовувати значення з зеленого каналу вихідного зображення.

Синій: Використовувати значення з синього каналу вихідного зображення.

Альфа: Використовувати значення з альфа-каналу вихідного зображення.

Інвертований червоний: Використовувати інвертовані значення з червоного каналу вихідного зображення (1.0 - R).

Інвертований зелений: Використовувати інвертовані значення з зеленого каналу вихідного зображення (1.0 - G).

Інвертований синій: Використовувати інвертовані значення з синього каналу вихідного зображення (1.0 - B).

Інвертований альфа-канал: Використовувати інвертовані значення з альфа-каналу вихідного зображення (1.0 - A).

Невикористаний: Встановлювати значення колірного каналу за замовчуванням (1.0 для альфа-каналу, 0.0 для червоного, зеленого або синього).

Нуль: Встановлювати значення колірного каналу на 0.0.

Одиниця: Встановлювати значення колірного каналу на 1.0.


bool process/fix_alpha_border = true 🔗

Якщо true, виставляє пікселики того ж зовнішнього кольору при переході від прозорих до непрозорих зон. Для текстур, що відображаються з дволінійним фільтруванням, це допомагає зменшити ефект контуру при експорті зображень з редактора зображень.

Рекомендовано залишити це ввімкнено (як це за замовчуванням), якщо це викликає проблеми для певного зображення.


bool process/hdr_as_srgb = false 🔗

Деякі зображення HDR ви можете знайти в Інтернеті і містити кольорові дані SRGB (за наявності лінійних даних кольорів). Не використовувати ці файли. Якщо ви абсолютно повинні, дозволяючи process/hdr_as_srgb зробити їх правильно.

Прихильник: process/hdr_as_srgb на добреформатованих HDR зображення призведе до отриманого зображення, щоб виглядати занадто темним, тому залишити це на false якщо невірно.


bool process/hdr_clamp_exposure = false 🔗

Якщо true, випромінює вплив на імпортні високодинамічні зображення діапазону за допомогою розумної формули затискання (без введення видимі кліпування).

Деякі HDR панорамні зображення ви можете знайти в Інтернеті, можуть містити надзвичайно яскраві пікселів, через взяті з реальних джерел життя без натискання.

Незважаючи на те, що ці HDR панорамні зображення є точними для реального життя, це може призвести до карти променевості, створеної Godot, щоб містити іскри при використанні фонового неба. Це можна побачити в матеріалі рефлексії (навіть на грубих матеріалах у крайніх випадках). Увімкнення process/hdr_clamp_exposure може вирішити це.


bool process/normal_map_invert_y = false 🔗

Застаріло: The same result can be achieved by setting process/channel_remap/green to Green Inverted.

Якщо true, перетворюйте нормальну карту з Y- (DirectX-style) в Y+ (OpenGL-style) шляхом інвертації зеленого каналу кольору. Це нормальна конвенція карти, очікувана Godot.

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


bool process/premult_alpha = false 🔗

Альтернативою фіксації затемнених кордонів з process/fix_alpha_border є використання premultiplied alpha. За допомогою цього параметра текстура буде перетворена в цей формат. Точна текстура альфа вимагає специфічних матеріалів, які будуть відображатися правильно:

  • У 2D, CanvasItemMaterial буде потрібно створювати і налаштувати для використання CanvasItemMaterial.BLEND_MODE_PREMULT_ALPHA блендерний режим на CanvasItem, які використовують цю текстуру. На замовлення @canvas_item шейдери, render_mode mix_premul_alpha; слід використовувати.

  • У 3D, BaseMaterial3D потрібно створювати і налаштувати для використання BaseMaterial3D.BLEND_MODE_PREMULT_ALPHA на матеріалах, які використовують цю текстуру. На замовлення spatial шейдери, render_mode mix_premul_alpha; слід використовувати.


int process/size_limit = 0 🔗

Якщо встановлено значення більше за 0, розмір текстури під час імпорту обмежується значенням, меншим або рівним вказаному тут значенню. Для неквадратних текстур обмеження розміру впливає на довший розмір, а менший розмір масштабується для збереження співвідношення сторін. Зміна розміру виконується за допомогою кубічної інтерполяції.

Це можна використати, щоб зменшити використання пам’яті, не впливаючи на вихідні зображення, або уникнути проблем із відображенням текстур на мобільних/веб-платформах (оскільки вони зазвичай не можуть відображати текстури розміром більше 4096×4096).

Примітка: Навіть якщо для цього значення встановлено значення 0, розмір імпорту обмежений наступними розмірами з технічних причин. Залежно від compress/mode, текстури буде зменшено під час імпорту, якщо необхідно:

  • Втрати: ширина або висота 16383 пікселів, залежно від того, що більше;

  • Базовий універсальний: ширина або висота 16384 пікселів, залежно від того, що більше;

  • Усі інші режими: ширина або висота 32768 пікселів, залежно від того, що більше.


int roughness/mode = 0 🔗

Колірний канал, який слід розглядати як карту шорсткості в цій текстурі. Ефективно, лише якщо roughness/src_normal не порожній.


String roughness/src_normal = "" 🔗

Шлях до текстури розглянути як нормальну карту для фільтрації грубості на імпорті. Вкажіть це може допомогти зменшити вагінальне освітлення трохи в 3D.

Фільтрування жорсткості на імпорт використовується тільки в 3D рендерингу, не 2D.


float svg/scale = 1.0 🔗

Свага СВГ повинна бути надана, з 1.0 є оригінальним розміром дизайну. Більшість значень призводить до збільшення зображення. Зауважте, що на відміну від перенапруги шрифтів, це впливає на розмір SVG на 2D. Дивись також editor/scale_with_editor_scale.

Примітка: Тільки доступні для SVG зображень.