Імпортування зображень

Підтримувані формати зображень

Godot може імпортувати такі формати зображень:

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

  • DirectDraw Surface (`` .dds``) - Якщо в текстурі є mipmaps, вони будуть завантажені безпосередньо. Це можна використовувати для досягнення ефектів за допомогою спеціальних карт.

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

  • Radiance HDR ( .hdr) - підтримує HDR (дуже рекомендується для панорамного неба).

  • JPEG ( .jpg, .jpeg) - не підтримує прозорість відповідно до обмежень формату.

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

  • Truevision Targa (.tga)

  • SVG (`` .svg``, .svgz) - SVG-файли растерізуються за допомогою NanoSVG при їх імпорті. Підтримка обмежена; складні вектори можуть відображатися неправильно. Для складних векторів рендеринг їх у PNG за допомогою Inkscape часто є кращим рішенням. Це можна автоматизувати завдяки `інтерфейсу командного рядка<https://wiki.inkscape.org/wiki/index.php/Using_the_Command_Line#Export_files>`__ .

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

Примітка

Якщо ви скомпілювали редактор Godot з початкових кодів з вимиканням певних модулів, робота з деякими форматами може бути недоступною.

Імпортування текстур

За замовчуванням Godot імпортує зображення у вигляді текстур. Текстури зберігаються у відеопам'яті але не можна отримати до них доступ безпосередньо. Саме завдяки цьому вони вимальовуються ефективно.

Варіантів імпорту дуже багато:

../../_images/image_import1.png

Виявити 3D (Detect 3D)

Цей параметр дає Godot знати про те, коли текстура (яка за замовчуванням імпортується для 2D) використовується в 3D. Якщо це трапиться, налаштування змінюються, щоб текстурні прапори були привітнішими до 3D (mipmaps, фільтрувати та повторюватись ввімкнено, а стиснення змінено на VRAM). Текстура також повторно імпортується автоматично.

Стиснення

Зображення є одним з найбільших активів у грі. Для ефективності їх потрібно стиснути. Godot пропонує кілька методів стиснення, залежно від випадку використання.

Режим стиснення

  • Стиснення VRAM: (VRAM Compression) Це найпоширеніший режим стиснення для об'єктів 3D. Розмір на диску зменшується, використання відеопам'яті також значно зменшується (зазвичай на 4 - 6). Цього режиму слід уникати для 2D, через виникнення помітних спотворень.

  • Стиснення без втрат: (Lossless Compression) це найпоширеніший режим стиснення для 2D активів. Він показує активи без будь-яких спотворень, при пристойному зменшенні об'єму використовуваної пам'яті диску. Однак він буде використовувати значно більше обсягу відеопам'яті, ніж VRAM Стиснення. Це також рекомендована настройка для піксельної графіки.

  • Стиснення з втратами: (Lossy Compression) це хороший вибір для великих 2D активів. Він має деякі спотворення, але менші, ніж VRAM, а розмір файлу в кілька разів менший порівняно з режимами Без втрат та Без стиснення. Цей режим не зменшує використання відеопам'яті; воно те саме, що і при стисненні Без втрат та Без стиснення.

  • Без стиснення: (Uncompressed) корисний лише для форматів, які неможливо стиснути (наприклад, необроблені зображення).

У цій таблиці описаний кожен із чотирьох варіантів разом із їхніми перевагами та недоліками (добре = краще, bad = гірше):

Без стиснення

Стиснення без втрат

Стиснення з втратами

Стиснення VRAM

Опис

Зберігається як сирі пікселі

Зберігається як стиснуте без втрат WebP / PNG

Зберігається як стиснуте з втратами WebP

Зберігається як S3TC/BC, або PVRTC/ETC, залежно від платформи

Розмір на диску

bad Багато

regular Мало

добре Дуже Мало

regular Мало

Використання пам'яті

bad Багато

bad Багато

bad Багато

добре Мало

Швидкодія

regular Нормально

regular Нормально

regular Нормально

добре Швидко

Втрата якості

добре Нема

добре Нема

regular Трохи

bad Помірно

Час завантаження

regular Нормально

bad Повільно

bad Повільно

добре Швидко

Режим HDR

Godot підтримує текстури високого динамічного діапазону (як .HDR, або .EXR). Вони в основному корисні, як прямокутні панорами неба (багато таких можна знайти в Інтернеті), замість кубічних карт (Cubemaps) в Godot 2.x. Сучасні комп'ютери підтримують формат VRAM BC6H, але не всі.

Якщо ви хочете, щоб Godot забезпечив повну сумісність текстур, увімкніть опцію "Force RGBE" ("Формувати RGBE").

Нормальне картографування

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

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

Примітка

Godot вимагає карти нормалей, які використовують координати X+, Y- та Z+ (так званий OpenGL стиль). Якщо ж ви імпортували матеріал, призначений для використання з іншим редактором (таким як DirectX), можливо, вам доведеться переробити карти нормалей так, щоб їх вісь Y перевернулась.

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

Прапорці

Існує багато налаштувань, які можна регулювати під час імпорту зображення у вигляді текстури, залежно від випадку використання.

Повторення

Цей параметр найчастіше використовується в 3D, тому він, зазвичай, відключений у 2D. Він встановлює УФ (UV)-координати, що виходять за рамки 0,0 - 1,1, на "цикл".

Повторення можна перевести в дзеркальний (mirrored) режим.

Фільтр

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

Множинне відтворення

Коли пікселі стають меншими за екранні, приходить час mipmaps. Він допомагає зменшити зернистий ефект при зменшенні текстур. Майте на увазі, що для старих апаратних засобів (GLES2, головним чином мобільних) є деякі вимоги щодо використання mipmap:

  • Ширина та висота текстури повинні ділитися на 2

  • Повторення (Repeat) має бути ввімкнено

Пам'ятайте про вищезазначене, коли створюєте телефонні ігри та програми, і хочете націлитись на повну сумісність та потребуєте mipmaps.

В 3D, mipmap слід увімкнути, оскільки це також покращує продуктивність (менші версії текстури використовуються для віддалених об'єктів).

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

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

sRGB

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

Попередження

Оскільки дані текстури будуть змінені, коли ввімкнено sRGB, це означає, що використання однієї й тієї ж текстури в 2D і 3D призведе до того, що текстура буде відображатися з неправильними кольорами в 2D, або 3D.

Щоб обійти це, зробіть копію текстури у файловій системі та ввімкніть sRGB лише на одній із копій. Використовуйте копію з увімкненим sRGB у 3D і копію з вимкненим sRGB у 2D.

Обробка

Деякі спеціальні процеси можуть бути застосовані до зображень при імпорті у вигляді текстур.

Виправити прозору рамку

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

../../_images/fixedborder.png

Його краще не міняти, якщо тільки не потрібні конкретні значення.

Попередньо помножена альфа

Альтернативою для фіксації затемнених меж є використання premultiplied alpha( попередньо помноженого альфа). Увімкнувши цю опцію, текстура буде перетворена в цей формат. Майте на увазі, що потрібно створити матеріал, який використовує режим суміші PREMULT ALPHA на полотнах, які потребують цього.

HDR як sRGB

Кілька файлів HDR є broken і містять кольорові дані sRGB. Не рекомендується використовувати їх, але, в гіршому випадку, ввімкнення цієї опції змусить їх виглядати правильно.

Invert Color (Інвертувати колір)

Зміна (реверс) кольору зображення. Це корисно, наприклад, для перетворення карти висоти, створеної зовнішніми програмами, в карту глибини для використання з Spatial Material.

Svg

Масштаб

Цей параметр застосовується лише до файлів SVG. Він контролює масштаб зображення SVG. Шкала за замовчуванням (1.0) дозволить імпортованому SVG відповідати оригінальному масштабу проєкту.