ВСТУП
Стаття розрахована на досить досвідчених користувачів 3Ds Max.
Розглянемо спосіб створення текстури террейну, при цьому вона на 100% відповідатиме таким вимогам:
- готова для використання в якості, власне основної текстури террейну
; - придатна як базова текстура для генерації детальних об'єктів (додаємо траву на рівень)
; - придатна для генерації маски. Маска необхідна для коректного розподілу шейдерів ландшафтом.
СТВОРЕННЯ ТЕКСТУРИ
Нам знадобляться:
Autodesk 3DsMax
Adobe Photoshop
Дві спеціальні текстури: "Трава" та "Асфальт".
Отже: Припустимо, у нас є готовий террейн. На ньому змодельована дорога. Як його затекстурити: Йдемо в Material Editor і робимо два " Standard " матеріалу, обзиваємо їх як хочемо, наприклад Grass і Asphalt .
Отриманими матеріалами ми затекстурюватимемо наш террейн. Настійно рекомендується заздалегідь відокремити все, що відноситься до асфальту або землі від загального міша, для експорту в ЦДК - це серйозна необхідність, та й текстурити буде простіше. Отже: Матеріал " Asphalt " накладаємо на все, що відноситься до асфальту. Аналогічно надаємо з матеріалом Grass та із землею. В результаті має вийти ось це:
Відточимо всі об'єкти, і зверху всю цю справу "пресуємо" модифікатором Unwrap UWV :). З сувою модифікатора переходимо в режим Face і виділяємо ВСІ фейси моделі. Нижче в налаштуваннях модифікатора шукаємо кнопку Planar Mapping , натискаємо, і тиснемо кнопку поряд - Align Z Axis . Віджимаємо кнопку Planar Mapping і конвертуємо в Edit Poly .
Милуємося отриманою ідеалістичною та професійною картинкою 🙂
А ось тепер – починається найцікавіше. Генерація текстури. Відкриваємо вікно Rendering in Texture (Викликається натисканням "0" (нуль) на клаві), і налаштовуємо параметри рендерингу таким чином:
Рендері! На виході у вказаній папці з'явиться текстура у форматі TGA . Текстуру вже можна експортувати до X-Ray SDK , попередньо вбивши альфа-канал у фотошопі і давши нормальне ім'я (terrain_МОЯКАРТА.tga)
ПРИЗНАЧЕННЯ ГОТОВОЇ ТЕКСТУРИ НА ТЕРРЕЙН
Отже, після експорту до SDK у нас у папці . ..SDK\gamedata\textures\terrain\ з'явиться аналог нашої текстурки у форматі DDS . Ось її і використовуємо для цього. Створюємо з урахуванням цієї текстури ще два однакових матеріалу, обізвавши їх terrain_aspalt і terrain_grass . Вбиваємо на нашому террейні допоміжні матеріали. Зробити це можна, скориставшись утилітою UWV Remove (Знайти її можна на вкладці Utilites правого тулбара 3DsMax ). Виділивши об'єкти террейну – запускаємо утиліту і тиснемо кнопку Clear >> Materials (НЕ UWV!!!!). Тепер призначаємо террейну – нові матеріали. На асфальт - terrain_asphalt ... і також із землею і terrain_grass . Тепер можете відточити асфальт і землю в один міш, і спокійно експортувати до ЦДК. Після експорту об'єкта – не забуваємо прописати нашу текстуру у файлі textures.ltx Прописуємо її так:
terrain\terrain_НАШАКАРТУ = detail\detail_grnd_grass, **.000000, usage[diffuse]
Замість ** - вказуємо рівень деталізації (орієнтовно від 40 до 90). Від нього залежить детальність шейдера поверхні террейну. Чим вище число - тим вища детальність. Я ставлю десь 65-80. Прописати необхідно в потрібне місце файлу textures.ltx , для цього юзаєм "пошук" в редакторі, і шукаємо де прописані інші "террейни".
СТВОРЕННЯ ДЕТАЛЬНОЇ ТЕКСТУРИ
Юзуємо фотошоп для цього. Відкриваємо TGA-варіант текстури і заливаємо "асфальт" жовтим кольором (R:G:B індекс - 240:240:1) . Це "Штатний" СДК-шний кольороіндекс, йому відповідають "листя на асфальті".
Важливий момент
Не змінюйте стандартні кольори на DTI-ФАЙЛІ! ВБ'ЄТЕ ВСЕ І НАСМЕРТЬ. Справа в тому, що для текстур террейну використовується той же набір кольорів, що і в DTI-файлі.
Тепер підбираємо інтенсивність альфа-каналу текстури у потрібних місцях. (100%-альфа - трави НЕ буде! Без альфи - все заросле) . Зберігаємо в TGA, обізвавши terrain_МОЯКАРТА_det.TGA і експортуємо до ЦДК. Вийшла текстуру в DDS форматі юзаєм на детальні об'єкти.
СТВОРЕННЯ МАСКИ
Юзаємо фотошоп.
Ось таблиця кольорів під різні ділянки маски: Заливати – ними.
Асфальт: RGB - 0:252:0
Земля: RGB - 248:0:0
Яри, вода RGB - 0:0:248
Під будинками: Просто чорний колір
Зберігаємо під ім'ям terrain_МОЯКАРТА_mask.TGA І експортуємо до СДК.
Начебто все =) Запарілсо =)
Доповнення Сахарова
Тайлінг детальних текстур, залежить в принципі "не від балди", а від розміру карти (для кордону наприклад 140, для мп атп 40 і т.п.)
і якби треба написати що маска юзается тільки після фінальної компіляції рівня на макс налаштуваннях. QUOTE Тепер призначаємо террейну – нові матеріали. На асфальт - terrain_asphalt... і також із землею і terrain_grass. Тепер можете відточити асфальт і землю в один міш, і спокійно експортувати до ЦДК. Після експорту об'єкта – не забуваємо прописати нашу текстуру у файлі textures.ltx
Енжин шейдер тільки з папки levels, матеріали які завгодно (хоч метал), на інших маска не юзается (бо нефік), в ідеалі потрібно створити для свого рівня персональний шейдер з набором текстур для маски (всього 4 текстури максимум, бо ARGB. 1 дитеїл текстура, ака дитейл бамп (онлі р2 рендер)) terrain_grass і т.п., це для будь-яких декорацій на задньому плані (див, мп_атп і що зними)