Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

q3bers:normalmaps [08.09.2009 04:12]
GT-Agressor
q3bers:normalmaps [25.12.2012 23:56] (текущий)
Строка 1: Строка 1:
 +====== Создание карт нормалей ======
 +
 +
 +В этой статье я опишу процесс создания карт нормалей, на основе которых рисуется Bump Mapping. Процесс очень похож на создание карт высот, но, если параллакс не всегда удачно передает мелкий рельеф поверхности и поэтому с его помощью лучше передавать грубый рельеф, то бамп маппинг как раз лучше передает мелкий рельеф поверхности, небольшие неровности, ямки, сколы, царапины и прочее.
 +
 +В данном примере я нарисую карту нормалей для текстуры baseq3\textures\gothic_door\xian_dm3arch.jpg – той же самой, что использовалась в примере с параллаксом.
 +
 +{{:q3bers:xian_dm3arch.jpg|}}
 +
 +Вообще я ленив, поэтому  часто беру за основу рисования карты нормалей – карту высот, так как на ней уже есть грубый рельеф и остается только прорисовать мелкий. Вдвойне ленив потому, что ленюсь этот рельеф прорисовывать, а пытаюсь разными ухищрениями получить его из исходной текстуры ;)
 +
 +Итак берем исходную xian_dm3arch_h.psd, пересохраняем под именем  xian_dm3arch_n.psd.
 +От нас требуется нанести рельеф на камни, так как они наверняка должны быть сильно шероховатые с впадинами и выступами. Также некоторый рельеф  есть на металлической окантовке прохода.
 +Рельеф камней рисовать долго, поэтому возьмем исходную текстуру (она у нас на заднем слое). Выделяем камни на отдельный слой, делаем слой черно-белым. В этом случае уже нужно подобрать настройки цветов с целью создания впадин и выступов.
 +После этого можно сделать размытие по поверхности.
 +
 +  Filter/blur/surface blur
 +
 +{{:q3bers:карты_нормалей_1.png?800}}
 +
 +Таким образом, на камнях получатся области с укрупненным рельефом (в игре он будет смотреться лучше, чем большое количество мелких одинаковых неровностей).
 +Регулируем яркость/контраст слоя.  Яркость +150, контраст +50, чтобы усилить шероховатость.
 +
 +  Filter/blur
 +
 +Поверх этого слоя остается слой с черными линиями между камнями, оставляем  его.
 +Выделяем окантовку прохода на отдельный слой (если это ещё не сделано), регулируем яркость и контраст.  Я увеличил яркость на 150 и уменьшил контраст, потому что поверхность металлическая, а следовательно имеет заметно меньшую шероховатость, чем камни. Можно также смазыванием сгладить этот слой (я сглаживать не стал, но иногда нужно).
 +Забегая вперед, скажу, что черный проход лучше закрасить серой заливкой, так как в игре по краям прохода появлялась тень, причем по самому краю прохода шла белая полоса.
 +Итак, у нас получилась такая текстура:
 +
 +{{:q3bers:карты_нормалей_2.png}}
 +
 +Сохраняем текстуру.
 +После этого нам нужно использовать плагин к Adobe Photoshop под названием NVIDIA Normal Map Filter.
 +Скачать его можно на сайте Nvidia, причем абсолютно без разницы, какая у вас видеокарта.
 +После установки он появляется в меню:
 +
 +  Filter/NVidia tools/NormalMapFilter
 +
 +{{:q3bers:карты_нормалей_3.png?800}}
 +
 +Здесь нас интересует параметр Scale, который устанавливает масштаб рельефа. В разных случаях я использую значения от 3 до 15. В данном случае выбираю 7 (иногда приходится несколько раз менять, поэтому нужно сохранять текстуру перед  использованием этого плагина).
 +Получаем примерно такую картинку:
 +
 +{{:q3bers:карты_нормалей_4.png}}
 +
 +Сохраняем эту текстуру под именем:
 +
 +  xian_dm3arch_local.tga
 +
 +Для карт нормалей уже не нужно сохранять в 32 битном формате. Достаточно 24 бита/пиксель, также можно использовать компрессию.
 +Все – запускаем игру, ищем нашу текстуру.
 +
 +{{:q3bers:карты_нормалей_5.jpg|}}
 +
 +На данном скриншоте специально отключен параллакс, чтобы лучше был виден эффект бамп маппинга. Хорошо видна разница между текстурой с низкодетализированным бампом (камни слева) и нашей текстурой.
 +
 +PS важное замечание: на оригинальных текстурах quake3 зачастую уже наложены псевдотени и блики, их нужно вычищать, так как у нас вместо псевдо будут "натуральные"
  
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki