Пятница, 29.03.2024, 07:39
Under sky of Half-Life
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта

Категории каталога
На движке Valve Source [29]
На движке Half-Life 1 [1]

Главная » Статьи » Статьи по мэппингу » На движке Valve Source

Создание качественной Normal map

Создание качественной Normal map

Здравствуйте, товарищи мапперы! Сегодня товарищ LexxoR попытается толкнуть свою идею по созданию правильной и качественной карты нормалей.

Итак, вас уже захватили два слова – «правильной и качественной». А чем же так неправильны и некачественны карты высот, созданные,  допустим в Crazy Bump? Честно говоря, всем. Карта нормалей получается из 2D изображения, а самое нужное нам – информацию о рельефе – генератор карт нормалей «выдумывает» сам, пользуясь рисунком. Результат такого выдумывания – что-то, с выпуклостями и углублениями в самых неожиданных местах… Если вам нужно качество – читайте дальше, если нет – этот туториал заканчивается вот на этой точке ==>.

Известно, качество требует времени и некоторых знаний. Для создания Normal Map нужно некоторое знание пакетов 3ds Max и наличие программы ZBrush (я постараюсь как можно детальней и последовательно описать свои действия). Ну и наличие мозгов тоже лишним не будет.

И так, у вас есть текстура. Например, эта:

tex46.jpg

 

Для начала нам нужен меш с наложенной на него текстурой. Так как я не знаю, как орудовать с текстурами в ZBrush, эти операции я проделываю в 3ds Max (как только узнаю – сразу расскажу, честное геймдевское!).

Создаём меш с параметрами высота-длина-ширина 512*512*512:

box_create.jpg

Теперь укажите в Length Seg, Width  Seg и Height Seg 200:

box_detail.jpg

Благодаря этим дополнительным сегментам появляются дополнительные вертексы, по которым мы и будем рисовать карту нормалей в ZBrush.

Далее, жмём правой кнопкой мыши по мешу (модели) и выбираем из меню Convert to -> Convert to Editable Mesh. Эти действием мы превращаем созданный примитив в редактируемый меш, и после этого сможем провести нужные операции по наложению текстуры.

Кликните левой кнопкой мыши по модели, нажмите кнопку «M» (английская раскладка), открывается окно редактора материалов. В нём выбираем нашу текстуру:

box_texture.jpg

Кликаем на маленькую кнопку напротив надписи Diffuse, а затем в открывшемся окне Map Browser 2 раза кликните Bitmap – и в открывшемся окне укажите путь к Вашей текстуре:

box_texture2.jpg

 

Теперь, чтобы присвоить текстуру к фэйсам (сторонам) модели и сделать текстуру отображаемой во вьюпорте (Viewport - окне, где отображается модель), нажмите клавиши 1 и 2 (как на рисунке):

tex_assign.jpg

По окончанию этих действий на созданном нам кубе должна быть наша текстура. Можно закрыть Material Editor.

Ок, теперь нам нужно применить модификатор UVW Map, чтобы текстура легла правильно.

Перейдите к вкладке «Modify», из выпадающего списка выберите UVW Map; далее, выберите из предлагаемых вариантов наложения координат «Box» и рядом с параметрами Length, Width и Height пропишите 512:

uvw.jpg

«Болванка» готова! Теперь её нужно экспортировать в понятный для ZBrush формат *.obj – заходим в меню FileExport и экспортируем наш кубик в формате obj, в появившемся окне ничего не изменяем и жмём «ок»:

obj_save.jpg

Теперь можете закрыть 3ds Max, он нам пригодится немного позже.

Запускаем великий и ужасный ZBrush!…

В стартовом окне, где нам предлагают:

Load a ZBrush tool

Import an OBJ file

Other

жмём второй пункт и указываем путь к нашему кубику.

ГОСПАДИИИИ!! ААААА! Текстурге нету!!! ЧО ДЕЛАТЬ? КАК БЫТЬ?

Спокойно! Сейчас мы присвоим нашему творению его родную тексу – кликните по кнопке с надписью Texture Off – появится меню. В нём жмём Import и указываем путь к арту:

zb_tex_assign.jpg

Вот и всё! Теперь самое интересное – приступаем непосредственно к рисованию!

 

Небольшое отступление – я хочу вкратце рассказать, каким способом происходит навигация во вьюпорте ZBrush:

  1. Инструмент Move (перемещение) – зажмите на пиктограмме левую кнопку (далее – л.к.) мыши и начинайте водить мышью;
  2. Инструмент Scale (масштаб) – управление идёт так же;
  3. Инструмент Rotate (вращение) – управление идёт так же.

Что касается вращения, то можно не пользоваться пиктограммой – просто зажмите л.к. мыши на пустом месте вьюпорта и вращайте объект. Если его размер или величина охватывают весь вьюпорт, то вы можете вращать объект, используя место за линиями (цифра 4) на скриншоте).

Для того чтобы поставить объект идеально параллельно любой оси, вращайте его с зажатой клавишей Shift.

Чтобы отменить действие – нажмите Ctrl+Z, чтобы повторить – Ctrl+Shift+Z.

Идём далее…

Рисование происходит с помощью кистей. Доступ к ним производится вот из этого меню:

  А вот как кисти настраиваются:

  1. ZAdd – Включает режим выдавливания полигонов наружу
  2. ZSub – включает режим вдавливания полигонов внутрь
  3. Z Intencity - интенсивность кисти («нажим»)
  4. Draw Size – размер кисти

Итак, есть 2 варианта рисования бампа (карты нормалей) для этой текстуры – можно сделать «канавки» между кирпичами, а можно намалевать сами кирпичи. Я буду рисовать «канавки»!

Включаем режим «ZSub» для вдавливания, я выставил такие настройки: интенсивность – 100, размер кисти – 4.

Вот что получилось:

Эээ… В общем я думаю, что Вы рисуете лучше :-)

Поэкспериментируйте с кистями, добавьте вмятины и выпуклости там где они по идее есть (например, на данной текстуре кирпича можно разглядеть маленькие комки засохшей краски, различные неровности и т.д.). Чем детальней и чем больше ваша карта нормалей будет соответствовать текстуре, тем лучше.

Ок, наш бамп нарисован – теперь нужно экспортировать его обратно в obj, чтобы преобразовать наш исковерканный меш в normal map.

По идее, normal map можно «снимать» с моделей и в ZBrush, однако я с эти процессом пока не знаком :-)

Итак, экспорт:

Далее в появившемся окне указываем куда сохранить модель, выходим из ZBrush и запускаем 3Ds Max.

Импортируем в макс модель:

Указываем тип файла для экспорта и путь к модели…

В появившемся окне с настройками импорта obj файла ничего не меняем и жмём Ok.

Вот что мы видим:

Нам нужна только сторона с рельефом, остальное нужно удалить:

Далее, снимаем карту нормалей вот по этому уроку:

http://3dmir.ru/index.php?id=3dsmax&tutor=441

Затем загружаем в Photoshop, доводим бамп до ума (делаем бесшовным (в интернете есть очень много уроков, как это сделать), указываем нужный размер) и экспортируем через плагин в формат HL2.

Чтобы подключить карту нормалей, пропишите в vmt файле следующее:

        "$bumpmap" "brick/brickwall_001_normal"

Затем скомпилируйте карту. Вот примерно то, что должно получиться (у меня вышло очень уж «не айс», если хорошо постараться, то можно получить гораздо лучшие результаты – но текстура вместе с картой нормалей в любом случае выглядит гораздо лучше, чем без):

Спасибо за внимание, надеюсь, Вам понравился и пригодился этот урок!

ещё o ZBrush

 

LexxoR, 20.10.08.

Категория: На движке Valve Source | Добавил: monolife (21.10.2008) | Автор: LexxoR
Просмотров: 8605 | Комментарии: 1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Логин:
Пароль:

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

© 2024, MonoLife