Підготовка текстур¶
Кожній поверхні потрібні лише Base Color і NNMR. Решта опційна: додавай, коли її просить фіча.
Обов'язкові (кожен асет)¶
| Текстура | R | G | B | A | Compression | sRGB |
|---|---|---|---|---|---|---|
| Base Color Map (T_Name_BC) | Колір | Колір | Колір | Opacity (Foliage, декалі) або нічого | Без альфи = BC1; з opacity Default (BC7) | On |
| NNMR Map (T_Name_NNMR) | Normal X | Normal Y | Metallic | Roughness | BC7 | Off |
Опційні (тільки коли вмикаєш фічу)¶
| Текстура | Коли | R | G | B | A | Compression | sRGB |
|---|---|---|---|---|---|---|---|
| Height Map (T_Name_H) | Use Height Map?: змішування по висоті, калюжі, Cover, Parallax | Height | - | - | - | Alpha (no sRGB, BC4 on DX11) | Off |
| Mask Map | Use Mask Map?: маски для Emissive, Opacity, Mask Tint, AO | Маска | Маска | Маска | AO (опційно) | Masks | Off |
| NNOR Map (T_Name_NNOR) | Foliage, замість NNMR | Normal X | Normal Y | AO | Roughness | BC7 | Off |
| Blend Mask (UV1) | Майстер MaskBlend | Шар R | Шар G | Шар B | - | Masks | Off |
Текстури бібліотеки (йдуть з KurinStudio, робити нічого не треба)¶
Вже налаштовані в _Core/Textures. Потрібно, тільки якщо переімпортуєш їх або робиш свої; Tools/KurinFixTextureSettings.py повертає налаштування одним кліком.
| Текстура | Де | R | G | B | A | Compression | sRGB |
|---|---|---|---|---|---|---|---|
| T_KurinRain..., T_KurinNoise, T_KurinIceCracks, T_KurinPuddleWind_01a, T_KurinWaterGusts | Weather, Water | дані | дані | дані | дані | Masks | Off |
| T_KurinCaustics | Water, Weather | Каустика | - | - | - | Grayscale | Off |
| T_KurinFrost (Frost Map) | Weather Frost | Плями інею | Нормаль кристалів X | Нормаль кристалів Y | Висота кристалів | BC7 | Off |
| T_KurinCondensation (Condensation Map) | Weather Condensation | Густина туману | Нормаль крапель X | Нормаль крапель Y | Маска крапель | BC7 | Off |
| T_KurinGlassCracks_01a / 02a (Cracks Map) | Glass, Interior | Напрямок X | Напрямок Y | ID шматка | Лінія тріщини | BC7 (Masks / DXT надто грубий для ID шматка) | Off |
| T_KurinGlassCracks_01a_S / 02a_S (Cracks Shard Map) | Glass, Interior | Центр шматка U | Центр шматка V | Порядок випадання | - | BC7 | Off |
| Interior Cubemap (T_KurinInteriorRoom_01a або свій капчер) | Interior | TextureCube кімнати | HDR, або Default (LDR), щоб зекономити пам'ять | Off для HDR | |||
| T_KurinInteriorBlinds_01a, T_KurinInteriorCurtain_01a, T_KurinGlassDirt_01a | Interior, Glass | Колір | Колір | Колір | Прозорість / кількість | Default | On |
Правила, які знімають більшість проблем¶
- Маски: у кожної одноканальної маски в інстансі є вибір ... Channel (R / G / B / A), тож кілька масок можна тримати в одній текстурі.
- Ніколи не став компресію Normalmap для NNMR / NNOR: metallic і roughness загубляться.
- Нормалі — DirectX (Y−). OpenGL-нормалі (Blender, деякі пресети Substance): увімкни Flip Normal Green? у 00 Settings.
- Висота = окрема Height Map (R, компресія Alpha, ніколи не VT). Увімкни Use Height Map?; вимкнено = пласка поверхня.
- В альфі Base Color висоти немає. Експортуй без альфи (BC1, вдвічі менше пам'яті) або клади туди opacity (рослинність, декалі).
- Metallic = синій канал NNMR. Неметали: тримай його чорним і не вмикай Use Metallic?.
- AO опційний: альфа Mask Map + Use AO?. З Lumen більшості ассетів він не потрібен.
Експорт із Substance Painter¶
Output template з такими мапами (PNG або TGA):
- $textureSet_BC: RGB = Base Color, A = opacity (тільки рослинність, декалі). 8-bit.
- $textureSet_NNMR: R / G = Normal DirectX R / G, B = Metallic, A = Roughness. 16-bit PNG дає плавніші нормалі.
- $textureSet_H: R = Height. 8-bit достатньо.
- AO (опційно): в альфу Mask Map, RGB = маски.