среда, 13 февраля 2013 г.

Тестирую карты нормалей

У меня возник вопрос добавления деталей в виде всевозможных фактур на свои модели.
Работая в ZBrush на своём компьютере, я не всегда могу себе позволить добавлять уровни дивайда, чтобы получить качественную текстурную поверхность , которую можно будет потом запечь в карты.
Интуитивно я понимала , что есть способ микширования карт нормалей, чтобы достичь нужного результат уже после запекания карт.
Решила с этим немного глубже разобраться.
Спасибо всем, кто помог мне в этом вопросе-- направил в нужном направлении и потратил  своё время, чтобы я смогла понять новые для себя моменты.



Познакомилась заодно с  плагином от Nvidia, который, скорее всего станет  для меня часто используемым.
Итак по порядку.
Задача -- добавить деталей в уже запечённые карты.

Посидев в интернете, поговорив с друзьями, я выяснила, что есть разные способы работы с картами нормалей, узнала , что их, оказывается рисуют вручную ( об этом отдельный разговор должен быть), узнала о "плавающих " объектах, --много всего для меня в эти 2 последние дня было открытием.

Итак,
Я сделала основу для текстуры ( диффуз и нормалку). Пусть это будет какая-то достаточно грубая рельефная основа (в данном случае, какие-нибудь деревянные доски)
Диффуз я собрала из базового цвета, cavity map и  ambient oclussion  карты, добавив от руки какие то детали в виде цветных градиентов, чтобы как-то разнообразить базовую заливку.


Теперь я хочу добавить детали ( обшарпанную краску, мох, фактуру обгорелого дерева или что-то вроде этого) Из картинок под рукой оказалась ржавчина. Понимаю, что к дереву она не применима, но в данном случае не в этом суть. Главное--понять принцип.

С диффузкой понятно. Настроить цвет, смешать с основой подходящим способом --это дело привычное.




А вот как быть с нормал картой?

Существует несколько способов создания нормал карт из фототекстур ( пока исключает рисованные от руки карты).
CrazyBimp , nDo, Xnormal Tool, фильтры и плагины Фотошопа.

В данном случае остановлюсь на последнем варианте -- плагин от NVidia-- NVidia Tools -- Normal Map Filter.

Скачиваем и ставим как обычный плагин  Фотошопа и после перезагрузки программы, он появится у вас в списке фильтров.

Оставив настройки по умолчанию, попробую запечь нормал карту с картинки со ржавчиной.


Теперь мою детальную нормал мапу нужно соединить с первой запечённой ранее грубой картой.



Я накладываю верхний слой через Overlay на базовый и замечаю что некоторые цвета в глубине рельефа изменились. Я пока не знаю, как эта разница в цвете будет заметна на рендере.


Но мне хотелось бы получить идеальную карту нормали в итоге.
Без видимых глазу переходов в цвете  в глубоких местах рельефа.
И чтобы получить идеальную карту, для этого, как оказалось  нашу фототекстуру нужно сгенерировать с настройкой Du/Dv



В итоге мы получим вот такую вот карту.

И вот если теперь этот слой положить через Overlay, то никакого изменения в цвете не будет.



Есть предположение только почему так происходит.
Давайте рассмотрим  как работает Overlay.

если мы возьмём 50% серый цвет , то в режиме оверлей он исчезнет--станет невидимым..
Мне кажется, что-то подобное происходит и с картой Du/Dv. Серый цвет, который имитирует ровную поверхность просто исчезает при наложении, оставляя только рельеф.

Если разбираться дальше с настройками плагина, то можно заметить разницу в картах, снятых в разных режимах Height Generation :
Invert x, Invert Y, Invert Z

Наиболее полезным для меня показался режим Invert Y-- инвертирует карту. То есть  из выпуклого рельефа мы получаем "вдавленный в глубину"

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

Посмотрим как выглядят карты  запечённые в Du/DV режиме с разными настройками
 возьму для примера вот такую фото- текстуру


Invert X ( по умолчанию)
Invert Y



Invert Z

Invert X, Invert Y
Invert X, Invert Y, Invert Z


И так они же смотрятся во вьюпорте.




вот так выглядят карты нормалей с разными значениями.



А так они же выглядят во вьюпорте:
Карта нормали по умолчанию ( не Du/Dv)

Du/Dv overlay   по умолчанию.
( визуально с вышеприлагаемой картой разницы не заметно, но она правильнее даже по самой карте и наложении)

Пример с увеличенным Scale

И та же карта только инвертированная ( Invert Y)



Краткое резюме для себя:
 Фото текстуру с деталями запекаю в Du/Dv с помощью плагина от NVidia в Фотошопе, через Overlay соединяю с базовой нормалкой.


Всем желающим поиграться со слоями и картами нормалей  выкладываю свой psd файл, на котором проходили тесты
https://www.dropbox.com/s/1cdz8ndn4zg706t/normal_texture.zip

21 комментарий:

  1. Свет, ты молодчинка.

    ОтветитьУдалить
  2. Спасибо! Очень интересно! Я как раз тоже выложил урок, связанный с запеканием карт )) вот это доказывает - все из единой информационной базы космоса ))))

    ОтветитьУдалить
    Ответы
    1. а можно прямую ссылку на урок? а то я что то поискала и не нашла ничего по теме

      Удалить
    2. Отличный Птирекс у вас получился!!!!

      Удалить
    3. Пожалуйста - вот он как раз первый сверху - самый свежий http://zbrushverb.blogspot.com/ Называется "Экспорт в 3ds MAX: Невероятное уменьшение полигонов". P.S. Спасибо !

      Удалить
  3. и ещё вопрос. не смогла задать его в вашем блоге, а очень хотелось. про свои настройки.

    в уроках часто вижу как быстро переключают кисти не открывая панель с набором кистей.. просто какие то хотки... и просто быстрое переключение.. как быть с кистями если я использую набор из 8 кистей?
    создать своё меню для них ?
    или хотки?

    ОтветитьУдалить
  4. 1. Светлана, спасибо за уважение, но предлагаю "на ты". Мы же тут не официальные перцы :))).
    2. Странно что не смогла запостить вопрос - там все уже предусмотрено )) - окошко есть и там под ним выбор с какого акка постить - может гугл+ выбрать?
    3. Да, в уроках и вообще - можно приаттачивать хоткеи. А также можно сдлеть свое меню по хоткею, где будут эти 8 кистей. По хоткею будет выползать рядом с курсором.
    Рекомендую вообще на бумаге расисать для себя самые важные хоткеи, и посмотреть что осталось - чтобы заполнить пробелы ))

    ОтветитьУдалить
  5. Спасибо, Денис! Вот это ценно!)) Попробую )

    ОтветитьУдалить
    Ответы
    1. На здоровье! Рад, что могу помочь.
      Кстати, я тут было подумал, а может такое "горячее окошко" с кистями назначить на букву "В" вместо стандартного с кистями ?
      И тут же вопрос, поделись плз, если не трудно, какие эти 8 кистей у тебя в арсенале.

      Удалить
    2. Move, Clay Buildup, Polish, Dam_Standart Inflat Pinch, SnakeHook

      возможно ещё пару ---сразу не вспомню. в работе всплывает

      Удалить
  6. привет! о таком плагине знала давно, но руки не доходили. вдохновившись статьей решила тоже разобраться в создании нормалки из фото. классно, все понятно, все работает, все получилось. спасибо!интересно, если ли качественное различие с картой, запекаемой в ХНормале? Нужно потестить.

    ОтветитьУдалить
    Ответы
    1. Не забудь написать о результате тестирования потом) Интересно

      Удалить
  7. Хорошая инфа, ты молодец! Всегда интересно читать твои статьи!

    ОтветитьУдалить
  8. Спасибо! По большому счёту, я пишу для себя, чтобы не забыть об этом в большом потоке информации. Но мне приятно что если кому-то ещё полезны мои конспекты.

    ОтветитьУдалить
  9. Кстати, что касается карт нормалей - есть такая небольшая програмулина PixPaint называется. Она и тайлит текстуры и карты нормали из обычных текстур делает в пару кликов. МОжет, если бы твои текстуры объединить слоями в ФШ, а потом кинуть в ПиксПеинт - вообще легче было бы ?

    ОтветитьУдалить
    Ответы
    1. Тайлить я умею в Фотошопе, но за программулину стало интересно и погуглила--нашла только пару скриншотов.Это она?
      http://fs01.androidpit.info/ass/x45/1687645-1298547519419.jpg

      вроде как игра под iPhone...
      Ты не ошибся в названии проги?

      Удалить
    2. Денис! Спасибо за уточнение! -- PixPlant
      я удалю ссылку. Кто захочет -- найдёт! ;)

      Удалить
    3. Окей )) Надеюсь, ты найдешь полезное в ней ))
      Кстати, я вот новую работу разместил - можно глянуть http://verbmeister.blogspot.com/

      Удалить
    4. Забавный герой ))) посмотрела )

      Удалить