Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Імпортування зображень
Підтримувані формати зображень
Godot може імпортувати такі формати зображень:
BMP (
.bmp) - Немає підтримки 16-бітових зображень на піксель. Підтримуються лише 1-бітні, 4-бітові, 8-бітові, 24-бітові та 32-бітні зображення на піксель.DirectDraw Surface (
.dds) – Якщо в текстурі присутні міпмапи, вони будуть завантажені безпосередньо. Це можна використовувати для досягнення ефектів за допомогою користувацьких міпмап.Khronos Texture (
.ktx) - Декодування виконується за допомогою libktx. Підтримує лише 2D зображення. Кубічні карти, масиви текстур і де-заповнення не підтримуються.OpenEXR (
.exr) - підтримує HDR (дуже рекомендується для панорамного неба).Radiance HDR (
.hdr) - підтримує HDR (дуже рекомендується для панорамного неба).JPEG (
.jpg,.jpeg) - не підтримує прозорість відповідно до обмежень формату.PNG (
.png) - Точність обмежена 8 бітами на канал при імпорті (без HDR-зображень).Трувижин Тарга (
.tga)SVG (
.svg) – SVG-зображення растеризуються за допомогою ThorVG під час їх імпорту. Підтримка обмежена; складні вектори можуть відображатися неправильно. Text must be converted to paths; інакше він не відображатиметься на растеризованому зображенні. Ви можете перевірити, чи може ThorVG правильно відобразити певний вектор, використовуючи свій веб-переглядач. Для складних векторів рендеринг їх у PNG за допомогою Inkscape часто є кращим рішенням. Це можна автоматизувати завдяки інтерфейсу командного рядка.WebP (
.webp) - файли WebP підтримують прозорість і можуть бути стиснуті з втратою якості, або без. Точність лімітована 8 бітами на канал.
Примітка
Якщо ви скомпілювали редактор Godot з початкових кодів з вимиканням певних модулів, робота з деякими форматами може бути недоступною.
Імпортування текстур
Стандартною дією в Godot є імпорт зображень як текстур. Текстури зберігаються у відеопам'яті. Неможливо отримати доступ до їхніх піксельних даних безпосередньо з ЦП, не перетворивши їх назад на Image у сценарії. Саме це робить їх малювання ефективним.
Існує понад десяток параметрів імпорту, які можна налаштувати після вибору зображення в док-станції FileSystem:
Параметри імпорту в док-станції «Імпорт» після вибору зображення в док-станції «Файлова система». Деякі з цих параметрів відображаються лише в певних режимах стиснення.
Зміна типу імпорту
У доку «Імпорт» можна вибрати інші типи імпортованих ресурсів:
BitMap: 1-бітна монохромна текстура (призначена для використання як маски клацання в class_TextureButton і class_TouchScreenButton). Цей тип ресурсу не можна відображати безпосередньо на 2D- або 3D-вузлах, але значення пікселів можна запитувати зі сценарію за допомогою get_bit.
Кубна карта: імпортуйте текстуру як 6-сторонню кубічну карту з інтерполяцією між сторонами кубічної карти (безшовні кубічні карти), яку можна відібрати в власних шейдерах.
CubemapArray: імпортуйте текстуру як колекцію 6-сторонніх кубичних карт, які можна відібрати в власних шейдерах. Цей тип ресурсу можна відобразити лише під час використання засобів візуалізації Forward+ або Mobile, а не засобу обробки сумісності.
Дані шрифту (моноширинний шрифт зображення): імпортуйте зображення як растровий шрифт, у якому всі символи мають однакову ширину. Перегляньте Використання шрифтів.
Зображення: Імпортуйте зображення як є. Цей тип ресурсу не можна відобразити безпосередньо на 2D- або 3D-вузлах, але значення пікселів можна запитати зі сценарію за допомогою get_pixel.
Texture2D: імпортуйте зображення як двовимірну текстуру, яка підходить для відображення на 2D і 3D поверхнях. Це стандартний режим імпорту.
Texture2DArray: імпортувати зображення як колекцію двовимірних текстур. Texture2DArray схожий на тривимірну текстуру, але без інтерполяції між шарами. Вбудовані 2D- і 3D-шейдери не можуть відображати масиви текстур, тому ви повинні створити спеціальний шейдер у 2D або 3D, щоб відобразити текстуру з масиву текстур.
Texture3D: імпортуйте зображення як тривимірну текстуру. Це не 2D текстура, нанесена на 3D поверхню. Texture3D схожий на масив текстур, але з інтерполяцією між шарами. Texture3D зазвичай використовується для FogMaterial карт щільності в volumetric fog, particle attractor векторних полів, Environment 3D LUT корекції кольорів і спеціальних шейдерів.
TextureAtlas: імпортуйте зображення як атлас різних текстур. Можна використовувати для зменшення використання пам’яті для анімованих 2D-спрайтів. Підтримується лише у 2D через відсутність підтримки у вбудованих 3D-шейдерах.
Для Cubemap очікуваний порядок зображень X+, X-, Y+, Y-, Z+, Z- (у системі координат Godot, тому Y+ — це «вгору», а Z- — «вперед»). Ось шаблони, які можна використовувати для зображень кубічної карти (клацніть правою кнопкою миші > Зберегти посилання як…):
Виявити 3D (Detect 3D)
Параметри імпорту за замовчуванням (без MIP-карт і стиснення Lossless) підходять для 2D, але не ідеальні для більшості 3D-проектів. Detect 3D повідомляє Godot про те, коли текстура використовується в 3D-сцені (наприклад, текстура в BaseMaterial3D). Якщо це станеться, кілька параметрів імпорту буде змінено, щоб прапорці текстури були зручнішими для 3D. Mipmaps увімкнено, а режим стиснення змінено на VRAM Compressed, якщо не змінено Визначити 3D > Стиснути до. Текстура також повторно імпортується автоматично.
Повідомлення друкується на панелі «Вивід», коли виявляється, що текстура буде використана в 3D.
Якщо у вас виникають проблеми з якістю, коли текстура виявляється для використання в 3D (наприклад, для текстур піксельної графіки), змініть параметр Визначити 3D > Стиснути до перед використанням текстури в 3D або змініть Стиснути > Режим на Lossless після використання текстури в 3D. Це краще, ніж вимкнути Detect 3D, оскільки генерація міп-мап залишається ввімкненою, щоб запобігти зернистості текстур на відстані.
Параметри імпортування
Дивись також
Починаючи з Godot 4.0, режими фільтрації текстур та повторення встановлюються у властивостях CanvasItem у 2D (при цьому налаштування проекту діють як значення за замовчуванням), а в 3D - у конфігурації per-material. У користувацьких шейдерах режим фільтрації та повторення змінюється на уніформі sampler2D за допомогою підказок, описаних у документації Штрихування мови.
Стиснути > Режим
Зображення є одним з найбільших активів у грі. Для ефективності їх потрібно стиснути. Godot пропонує кілька методів стиснення, залежно від випадку використання.
Без втрат: це стандартний і найпоширеніший режим стиснення для 2D-ресурсів. Він показує активи без будь-яких артефактів, а стиснення диска пристойне. Однак він використовуватиме значно більше відеопам’яті, ніж стиснення VRAM. Це також рекомендоване налаштування для піксельного мистецтва.
З втратами: це хороший вибір для великих 2D-ресурсів. Він має деякі артефакти, але менше, ніж стиснення VRAM, і розмір файлу в кілька разів менший порівняно з Lossless або VRAM Uncompressed. Цей режим не зменшує використання відеопам’яті; це те саме, що й у Lossless або VRAM Uncompressed.
VRAM Compressed: Це стандартний і найпоширеніший режим стиснення для 3D-ресурсів. Розмір на диску зменшується, а використання відеопам’яті також значно зменшується (зазвичай у 4–6 разів). Слід уникати цього режиму для 2D, оскільки він демонструє помітні артефакти, особливо для текстур із низькою роздільною здатністю.
VRAM Uncompressed: корисно лише для форматів, які не можна стиснути, наприклад необроблені зображення з плаваючою комою.
Basis Universal: цей альтернативний режим стиснення VRAM кодує текстуру у формат, який під час завантаження можна перекодувати в більшість форматів, стиснутих GPU. Це забезпечує дуже маленькі файли, які використовують стиснення VRAM, ціною нижчої якості порівняно з VRAM Compressed і повільним часом стиснення. Використання VRAM зазвичай таке ж, як і у форматі VRAM Compressed. Basis Universal не підтримує формати зображень із плаваючою комою (замість цього двигун внутрішньо повернеться до VRAM Compressed).
Примітка
Навіть у 3D для "піксельних" текстур слід вимкнути стиснення VRAM, оскільки воно негативно вплине на їхній зовнішній вигляд, не покращуючи при цьому продуктивність через низьку роздільну здатність.
У цій таблиці кожен із 5 варіантів описано разом із їхніми перевагами та недоліками (
= найкраще,
= найгірше):
Режим стиснення |
Без втрат |
З втратами |
Стиснута VRAM |
VRAM без стиснення |
Основа Універсальна |
|---|---|---|---|---|---|
Опис |
Зберігається як стиснуте без втрат WebP / PNG |
Зберігається як стиснуте з втратами WebP |
Зберігається як S3TC, BPTC або ETC2 залежно від платформи |
Зберігається як сирі пікселі |
Перекодовано у формат VRAM Compressed |
Розмір на диску |
|
|
|
|
|
Використання пам'яті |
|
|
|
|
|
Продуктивність |
|
|
|
|
|
Втрата якості |
|
|
|
|
|
Час завантаження |
|
|
|
|
|
Приблизне використання пам’яті для однієї текстури RGBA8 із увімкненими MIP-картами:
Розмір текстури |
Без втрат |
З втратами |
Стиснута VRAM |
VRAM без стиснення |
Основа Універсальна |
|---|---|---|---|---|---|
128×128 |
|
|
|
|
|
256×256 |
|
|
|
|
|
512×512 |
|
|
|
|
|
1024×1024 |
|
|
|
|
|
2048×2048 |
|
|
|
|
|
4096×4096 |
|
|
|
|
|
Примітка
У наведеній вище таблиці використання пам’яті буде зменшено на 25% для зображень, які не мають альфа-каналу (RGB8). Використання пам’яті буде додатково зменшено на 25% для зображень, для яких вимкнено MIP-карти.
Зауважте, що за більшої роздільної здатності вплив стиснення VRAM набагато сильніший. Завдяки коефіцієнту стиснення 4:1 (6:1 для непрозорих текстур із S3TC) стиснення VRAM фактично дозволяє текстурі бути вдвічі більшим на кожній осі, використовуючи той самий обсяг пам’яті на GPU.
Стиснення VRAM також зменшує пропускну здатність пам’яті, необхідну для вибірки текстури, що може пришвидшити рендеринг у сценаріях з обмеженням пропускної здатності пам’яті (які часто зустрічаються на інтегрованій графічній карті та мобільних пристроях). Ці фактори разом роблять стиснення VRAM обов’язковим для 3D-ігор із текстурами високої роздільної здатності.
Ви можете попередньо переглянути, скільки пам’яті займає текстура, двічі клацнувши її в док-станції FileSystem, а потім подивившись на інспектор:
Попередній перегляд текстури в інспекторі. Авторство: Red Brick 03 - Poly Haven
Стиснути > Висока якість
Примітка
Високоякісне стиснення текстур VRAM підтримується лише у програмах візуалізації Forward+ і Mobile.
Під час використання рендерера сумісності цей параметр завжди вважається вимкненим.
Якщо ввімкнено, використовується стиснення BPTC на настільних платформах і стиснення ASTC на мобільних платформах. При використанні BPTC BC7 використовується для текстур SDR, а BC6H використовується для текстур HDR.
Якщо вимкнено (за замовчуванням), використовується швидше, але нижчої якості стиснення S3TC на настільних платформах і ETC2 на мобільних/веб-платформах. Якщо використовується S3TC, DXT1 (BC1) використовується для непрозорих текстур, а DXT5 (BC3) використовується для прозорих або нормальних текстур (RGTC) текстур.
BPTC і ASTC підтримують стиснення VRAM для текстур HDR, а S3TC і ETC2 — ні (див. HDR Compression нижче).
Стиснути > Стиснення HDR
Примітка
Цей параметр впливає лише на текстури, імпортовані як формати HDR у Godot (файли .hdr і .exr).
Якщо встановлено значення Вимкнено, ніколи не використовується стиснення VRAM для текстур HDR, незалежно від того, непрозорі вони чи прозорі. Натомість текстура перетворюється на RGBE9995 (9 біт на канал + 5-бітний експонент = 32 біти на піксель), щоб зменшити використання пам’яті порівняно з форматом зображення з плаваючою точністю наполовину або одинарної точності.
Якщо встановлено значення Opaque Only (за замовчуванням), використовується стиснення VRAM лише для непрозорих текстур HDR. Це пов’язано з обмеженням форматів HDR, оскільки не існує формату HDR зі стисненням VRAM, який одночасно підтримує прозорість.
Якщо встановлено значення Завжди, буде примусово стискатися VRAM навіть для текстур HDR з альфа-каналом. Для цього альфа-канал відкидається під час імпорту.
Стиснути > Нормальна карта
При використанні текстури як карти нормалей потрібні лише червоний і зелений канали. Враховуючи, що звичайні алгоритми стиснення текстур створюють артефакти, які не виглядають добре на картах нормалей, формат стиснення RGTC найкраще підходить для цих даних. Увімкнути цей параметр змусить Godot імпортувати зображення як RGTC. За замовчуванням встановлено значення Виявляти. Це означає, що якщо буде виявлено, що текстура використовується як звичайна карта, її буде змінено на Увімкнути та автоматично повторно імпортовано.
Зауважте, що стиснення RGTC впливає на отримане зображення нормальної карти. Щоб врахувати це, вам доведеться налаштувати спеціальні шейдери, які використовують синій канал карти звичайних зображень. Вбудовані шейдери матеріалів уже ігнорують синій канал на карті нормалей (незалежно від фактичного вмісту карти нормалей).
У наведеному нижче прикладі карта нормалей зі стисненням RGTC здатна зберегти свої деталі набагато краще, використовуючи той самий обсяг пам’яті, що й стандартна текстура, стиснута RGBA VRAM:
Карта нормалей зі стандартним стисненням VRAM (ліворуч) і зі стисненням RGTC VRAM (праворуч)
Примітка
Godot вимагає, щоб карта нормалей використовувала координати X+, Y+ і Z+, що відомо як карта нормалей у стилі OpenGL. Якщо ви імпортували матеріал, створений для використання з іншим механізмом, він може бути у стилі DirectX. У цьому випадку карту нормалей потрібно перетворити, увімкнувши параметр імпорту Звичайна карта інвертувати Y.
Більше інформації про карти нормалей (включаючи таблицю порядків координат для популярних редакторів) можна знайти тут.
Стиснути > Пакет каналів
Якщо встановлено значення sRGB Friendly (за умовчанням), формат кольору RG не буде використовуватися, оскільки він не підтримує колір sRGB.
Якщо встановлено значення Оптимізовано, дозволяє використовувати колірний формат RG, якщо текстура не використовує синій канал.
Третій варіант Карта нормалей (RG-канали) доступний лише в шаруватих текстурах (Cubemap, CubemapArray, class_Texture2DArray та class_Texture3D). Це змушує всі шари текстури імпортуватися з кольоровим форматом RG, зберігаючи лише червоний та зелений канали. RGTC здатне набагато краще зберегти деталізацію, використовуючи той самий обсяг пам'яті, що й стандартна текстура, стиснута за допомогою RGBA VRAM. Це впливає лише на текстури з режимами стиснення VRAM Compressed або Basis Universal.
Mipmaps > Створити
Якщо ввімкнено, під час імпорту генеруються менші версії текстури. Наприклад, текстура 64×64 створить 6 mipmap (32×32, 16×16, 8×8, 4×4, 2×2, 1×1). Це має кілька переваг:
Текстури не стануть зернистими на відстані (у 3D) або якщо їх зменшити через масштабування камери чи CanvasItem (у 2D).
Продуктивність покращиться, якщо текстура відображається на відстані, оскільки вибірка менших версій оригінальної текстури відбувається швидше та потребує меншої пропускної здатності пам’яті.
Недоліком mip-карт є те, що вони збільшують використання пам’яті приблизно на 33%.
Рекомендовано ввімкнути mipmaps у 3D. Однак у 2D це слід увімкнути лише в тому випадку, якщо для вашого проекту помітні переваги від увімкнення mip-карт. Якщо камера ніколи не зменшує суттєво, увімкнення mip-карт не принесе користі, але використання пам’яті збільшиться.
Mipmaps > Ліміт
Попередження
Mipmaps > Limit наразі не реалізовано, і зміна не впливає.
Якщо встановлено значення більше за -1, обмежується максимальна кількість згенерованих міп-карт. Це значення можна зменшити, якщо ви не хочете, щоб текстури мали занадто низьку роздільну здатність на екстремальних відстанях, що призвело б до певної зернистості.
Шорсткість > Режим
Колірний канал, який слід розглядати як карту шорсткості в цій текстурі. Ефективно, лише якщо Шорсткість > Src Normal не пусте.
Шорсткість > Src Normal
Шлях до текстури, який розглядається як карта нормалей для фільтрації шорсткості під час імпорту. Якщо вказати це значення, можна трохи зменшити віддзеркалення у 3D.
Фільтр шорсткості під час імпорту використовується лише в 3D-візуалізації, а не в 2D.
Процес > Виправити межу альфа
Завдяки цьому пікселі однакового навколишнього кольору переходять від прозорих до непрозорих областей. Для текстур, які відображаються з білінійною фільтрацією, це допомагає пом’якшити ефект контуру під час експорту зображень із редактора зображень.
Рекомендовано залишити цю функцію увімкненою (якщо вона встановлена за замовчуванням), якщо це не спричиняє проблеми з певним зображенням.
Процес > Premult Alpha
Альтернативою виправленню затемнених меж за допомогою Виправити альфа-межі є використання попередньо помноженої альфа-кислоти. Якщо увімкнути цю опцію, текстуру буде перетворено у цей формат. Текстура з попередньо помноженою альфа-кислотою вимагає певних матеріалів для коректного відображення:
У 2D CanvasItemMaterial потрібно буде створити та налаштувати для використання режиму змішування Premul Alpha для CanvasItems, які використовують цю текстуру. У custom canvas item shaders слід використовувати
render_mode blend_premul_alpha;.У 3D BaseMaterial3D потрібно буде створити та налаштувати для використання режиму змішування Premul Alpha для матеріалів, які використовують цю текстуру. У custom spatial shaders слід використовувати
render_mode blend_premul_alpha;.
Процес > Карта нормалей Інвертувати Y
Godot вимагає, щоб карта нормалей використовувала координати X+, Y+ і Z+, що відомо як карта нормалей у стилі OpenGL. Якщо ви імпортували матеріал, створений для використання з іншим механізмом, він може бути у стилі DirectX. У цьому випадку карту нормалей потрібно перетворити, увімкнувши параметр імпорту Звичайна карта інвертувати Y.
Більше інформації про карти нормалей (включаючи таблицю порядків координат для популярних редакторів) можна знайти тут.
Обробити > HDR як sRGB
Деякі HDR-зображення, які можна знайти в Інтернеті, можуть бути пошкодженими та містити дані кольору sRGB (замість даних лінійного кольору). Рекомендується не використовувати ці файли. Якщо вам абсолютно необхідно, увімкніть цю опцію, щоб вони виглядали правильно.
Попередження
Увімкнення HDR як sRGB на добре відформатованих HDR-зображеннях призведе до того, що кінцеве зображення виглядатиме надто темним, тому залиште це вимкненим, якщо не впевнені.
Процес > Обмежити експозицію HDR
Деякі панорамні HDR-зображення, які можна знайти в Інтернеті, можуть містити надзвичайно яскраві пікселі через те, що вони взяті з реальних джерел без жодного вирізання.
Хоча ці панорамні зображення HDR точні для реального життя, це може призвести до того, що карта сяйва, створена Godot, міститиме блискітки, якщо використовувати її як фон неба. Це можна побачити у віддзеркаленнях матеріалів (навіть на грубих матеріалах у крайніх випадках). Якщо ввімкнути HDR Clamp Exposure, це можна вирішити за допомогою розумної формули обмеження, яка не створює видимого відсікання – світіння продовжуватиме працювати, дивлячись на фон неба.
Процес > Обмеження розміру
Якщо встановлено значення більше за 0, розмір текстури обмежується під час імпорту значенням, меншим або рівним значенню, указаному тут. Для неквадратних текстур обмеження розміру впливає на довший розмір, а коротший розмір масштабується для збереження співвідношення сторін. Зміна розміру виконується за допомогою кубічної інтерполяції.
Це можна використати, щоб зменшити використання пам’яті, не впливаючи на вихідні зображення, або уникнути проблем із відображенням текстур на мобільних/веб-платформах (оскільки вони зазвичай не можуть відображати текстури розміром більше 4096×4096).
Визначити 3D > Стиснути до
Це змінює параметр Стиснути > Режим, який використовується, коли текстура виявлена як використовується в 3D.
Зміна цього параметра імпорту має ефект, лише якщо текстура виявлена як використовується в 3D. Зміна цього параметра на Вимкнено, а потім повторне імпортування не змінить існуючий режим стиснення текстури (якщо виявлено, що він використовується в 3D), але вибір VRAM Compressed або Basis Universal змінить.
SVG > Масштаб
Це доступно лише для зображень SVG.
Масштаб, у якому має відображатися SVG, де 1.0 є оригінальним розміром дизайну. Вищі значення призводять до більшого зображення. Зауважте, що на відміну від передискретизації шрифту, це впливає на фізичний розмір SVG, який відображається у 2D. Дивіться також Редактор > Масштаб за допомогою масштабу редактора нижче.
Редактор > Масштаб За допомогою редактора масштабу
Це доступно лише для зображень SVG.
Якщо значення true, імпортоване зображення масштабується відповідно до масштабного коефіцієнта редактора. Це слід увімкнути для піктограм плагінів редактора та користувацьких піктограм класів, але залишити вимкненими в інших випадках.
Редактор > Перетворити кольори за допомогою теми редактора
Це доступно лише для зображень SVG.
Якщо позначено, кольори імпортованого зображення перетворюються на піктограму редактора та колірну палітру шрифту. Це припускає, що зображення використовує ті самі кольори, що й Godot's own color palette for editor icons, а вихідний файл розроблено для темної теми редактора. Це слід увімкнути для піктограм плагінів редактора та користувацьких піктограм класів, але залишити вимкненими в інших випадках.
Імпорт зображень SVG з текстом
Оскільки бібліотека SVG, що використовується в Godot, не підтримує растеризацію тексту в зображеннях SVG, текст потрібно спочатку перетворити на контур. Інакше текст не відображатиметься на растеризованому зображенні.
Є два способи досягти цього неруйнівним способом, тож ви можете продовжувати редагувати вихідний текст пізніше:
Виберіть свій текстовий об’єкт у Inkscape, потім скопіюйте його на місці, натиснувши Ctrl + D і скориставшись Шлях > Об’єкт до шляху. Потім сховайте оригінальний текстовий об’єкт за допомогою док-станції Шари та об’єкти.
Використовуйте командний рядок Inkscape, щоб експортувати SVG з іншого файлу SVG із перетворенням тексту на шляхи:
inkscape --export-text-to-path --export-filename svg_with_text_converted_to_path.svg svg_with_text.svg
Кращі практики
Підтримка розмірів текстур високої роздільної здатності в 2D без артефактів
Щоб підтримувати multiple resolutions з чіткими візуальними зображеннями у високій роздільній здатності, вам потрібно буде використовувати вихідні зображення з високою роздільною здатністю (підходять для найвищої роздільної здатності, яку ви хочете підтримувати без розмиття, як правило, 4K у сучасних настільних іграх ).
Є 2 способи продовжити:
Використовуйте високу базову роздільну здатність у налаштуваннях проекту (наприклад, 4K), а потім використовуйте текстури в оригінальному масштабі. Це простіший підхід.
Використовуйте низьку базову роздільну здатність у налаштуваннях проекту (наприклад, 1080p), а потім зменшуйте масштаб текстур під час їх використання. Це часто складніше та може зробити різні обчислення в сценарії виснажливими, тому замість цього рекомендується підхід, описаний вище.
Після цього ви можете помітити, що текстури стають зернистими при нижчій роздільній здатності вікна перегляду. Щоб вирішити цю проблему, увімкніть Mipmaps на текстурах, які використовуються в 2D, у доку Імпорт. Це збільшить використання пам'яті.
Увімкнення mipmaps також може зробити текстури більш розмитими, але ви можете зробити текстури більш чіткими (ціною деякої зернистості), встановивши для Rendering > Textures > Default Filters > Texture Mipmap Bias від’ємне значення.
Використовуйте відповідні розміри текстур у 3D
Незважаючи на те, що немає рекомендації «одного розміру для всіх», ось деякі загальні рекомендації щодо вибору розмірів текстур у 3D:
Розмір текстури слід налаштувати так, щоб щільність текселів була однаковою порівняно з навколишніми об’єктами. Хоча це не може бути ідеально забезпечено, дотримуючись потужності двох розмірів текстури, зазвичай можливо зберегти деталі текстури досить послідовними в усій 3D-сцені.
Чим менший об'єкт виглядає на екрані, тим меншою має бути його текстура. Наприклад, дерево, яке відображається лише на задньому плані, не потребує такої високої роздільної здатності текстури, як інші об’єкти, до яких гравець може підійти близько.
Рекомендовано, але не обов’язково, використовувати розміри текстури за принципом двох. Текстури не обов’язково мають бути квадратними – допустимі такі розміри, як 1024×512.
Віддача від використання великих розмірів текстури зменшується, незважаючи на збільшення використання пам’яті та часу завантаження. Більшість сучасних 3D-ігор, які не використовують стиль піксельного мистецтва, дотримуються текстур у середньому 2048 × 2048, з 1024 × 1024 і 512 × 512 для текстур, що охоплюють менші поверхні.
Працюючи з фізичними матеріалами в 3D, ви можете зменшити використання пам’яті та розмір файлу, не надто впливаючи на якість, використовуючи нижчу роздільну здатність для певних текстурних карт. Це особливо добре працює для текстур, які містять лише низькочастотні деталі (наприклад, нормальну карту для снігової текстури).
Якщо ви контролюєте, як створюються 3D-моделі, також варто ознайомитися з цими порадами:
Працюючи з 3D-моделями, які здебільшого є симетричними, ви можете використовувати дзеркальні UVs, щоб подвоїти ефективну щільність текселів. Це може виглядати неприродно, якщо використовувати його на людських обличчях.
Працюючи з 3D-моделями з використанням низькополігонального стилю та простих кольорів, ви можете покладатися на кольори вершин замість текстур для представлення кольорів на поверхнях моделі.
Дивись також
Зображення можна завантажувати та зберігати під час виконання за допомогою runtime file loading and saving, у тому числі з експортованого проекту.
Мало