3dsmax. Создание текстуры террейна и прочих
Материал из S.T.A.L.K.E.R. Inside Wiki
ВВЕДЕНИЕ
Статья рассчитана на достаточно опытных юзеров 3Ds Max. С вопросами типа "как создать кубик" и иже с ними - идём сюда (www.3domen.com) и учимся работать.
Рассмотрим способ создания текстуры террейна, при этом она будет на 100 % отвечать следующим требованиям:
- Готова для использования в качестве, собственно основной текстуры террейна
- Пригодна в качестве базовой текстуры для генерации детальных объектов (Добавляем траву на уровень)
- Пригодна для генерации маски. Маска необходима для корректного рапределения шейдеров по ландшафту.
СОЗДАНИЕ ТЕКСТУРЫ
Нам понадобятся:
Autodesk 3DsMax
Adobe Photoshop
Две специальных текстуры: "Трава" и "Асфальт".
Итак: Допустим у нас имеется готовый террейн. На нём смоделена дорога. Как его затекстурить: Идём в Material Editor и делаем два "Standart" материала, обзываем их как хотим, например 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). Это "Штатный" СДК-шный цветоиндекс, ему соотвествуют "листья на асфальте".
Важный момент -- Haron Не меняйте стандартные цвета В 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 и т.п., это для всяких декораций на заднем плане(см, мп_атп и иже сними)
--Haron 17:20, 13 июля 2008 (MSD)