«STAR WARS REIMAGINED: african totem C3PO» © 2016, Евгений 
CGtalk.by CG Award 2016: «STAR WARS REIMAGINED: african totem C3PO», Евгений
   
Главная Форумы Галерея Теория Конкурсы Вакансии
Назад   CGtalk.by > Теория
Новые сообщения Зарегистрироваться

Normal + Specular + Parallax. Часть I
» Normal + Specular + Parallax. Часть I
Jan 28, 2009 - 11:58 PM - Автор: id
Часть I. Подготовка

Опишу свои эксперименты с генерацией нормала из текстуры и попытками создать рельефный, «глубокий» нормал, а так же спекуляр и параллакс.

Идея взята из туториала на cgtextures.com "Recovering detailed normalmaps from photo textures", Scott Warren. Однако, после серии тестов, проб и ошибок метод, описанный там, изменился. Эти изменения я вам и опишу.

Также, подобного резльтата можно добиться в программе CrazyBump, если она у вас есть.

Выбор за вами.

Для генерации карты нормалей в Photoshop’е я буду использовать NVIDIA Normal Map Filter (v8.20 beta). Свежую версию можно скачать отсюда (текущая версия — 8.23.1101).

Я буду делать обычный нормал, без особых хитростей. Т.е, основой будет Grayscale (градации серого) картинка.

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

Название файла:	black512.gif
Просмотров:	975
Размер:	8.5 КБ
ID:	4657

Белые (светлые) — выдавливаются.
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	white512.gif
Просмотров:	911
Размер:	8.5 КБ
ID:	4658

Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	wbbh512.jpg
Просмотров:	1135
Размер:	55.2 КБ
ID:	4659
"Белый Бим, черное ухо", Киностудия им. М. Горького, 1977 год

Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	bcwc.jpg
Просмотров:	1004
Размер:	79.4 КБ
ID:	4674
"Black Cat, White Cat".

Разделение на черные и светлые происходит на 50% сером (RGB = 128, 128, 128).

50% серый — это плоскость. Как земля, где ямы — черные, а горы — белые.

Я буду делать нормал для этой текстуры:
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	stone_uv_033_d.jpg
Просмотров:	1178
Размер:	105.0 КБ
ID:	4660

Это мостовая в Вильнюсе.

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

Название файла:	desaturate_PS.jpg
Просмотров:	1007
Размер:	97.2 КБ
ID:	4661

В принципе уже на основе этой текстуры можно генерировть карту нормалей, а можно немного улучшить ее, подняв контрастность. Я использую этого Levels или Curves.
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	Levels_PS.jpg
Просмотров:	522
Размер:	108.1 КБ
ID:	4662

В итоге темные участки стали темнее, а светлые — светлее.

Запускаем NormalMapFilter.
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	filter_PS.jpg
Просмотров:	514
Размер:	45.1 КБ
ID:	4663

Интерфейс фильтра содержит много переключателей, «радиокнопок» и окошек для ввода каких-то значений. Help отсутствует.

Я и сам не знаю значения всех переключателей. Расскажу только про те, которые использую. Информацию про остальные ищите в Интернете.
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	Filter_opisanie_PS.jpg
Просмотров:	600
Размер:	74.8 КБ
ID:	4664

Инвертирование нормалей
Что будет если включить Invert Y. Для примера я попробовал инвертировать только по оси Y.
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	invert_noinvert.jpg
Просмотров:	549
Размер:	87.8 КБ
ID:	4665

На скриншоте из 3ds max видно, что если сгенерировать нормал с инвертацией по Y — мы получим в 3D-редакторе вдавленный нормал, хотя надпись должна быть выдавленной, т.к. она белого цвета.

Источник света в сцене установлен специально для того, чтобы видеть тени и по ним определить, вдавлен или выдавлен normal-map.

Если мы будем работать только в максе, с установками по умолчанию, нам подходит вариант без инвертации по какой-либо из осей.

Хочу предупредить, что в игропроме заказчики часто просят генерировать нормал с инвертацией по Y. Видимо, это связано с принципами обработки карт нормалей в игровых движках.

В 3ds max, в свойствах Normal Bump можно управлять параметрами инвертации.
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	Chanel_Direction.gif
Просмотров:	1010
Размер:	8.3 КБ
ID:	4666

Ставим галочку — и все становится правильно.
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	invert_noinvert_Y.jpg
Просмотров:	539
Размер:	88.3 КБ
ID:	4667

Если вы когда-нибудь будете генерировать нормал с помощью модификатора Projection — то там вы тоже сможете увидеть управление инвертацией (каналами цветов).
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	Projection.gif
Просмотров:	965
Размер:	12.8 КБ
ID:	4673

В итоге я буду генерировать без инвертации по осям и использовать установки материала Normal Bump в 3ds max по умолчанию.

Сила нормала (scale)
Смысл параметра, я думаю, понятен. Я обычно использую значение 4, но можно как больше, так и меньше.

Способы генерации (Height Source, Alternate Conversions)
Их в списке 10 штук. Но я в зависимости от ситуации применяю только 3 из них.
  • Average RGB
  • Biased RGB
  • Colorspace
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	3type_PS.jpg
Просмотров:	506
Размер:	60.1 КБ
ID:	4671

Обратите внимание, в списке Alpha Field надо установить Unchanged.

Я сгенерирую нормал всеми тремя способами. С двумя параметрами силы 4 и 12.

Задача: получить выпуклый, выразительнй нормал.
Нажмите на изображении, чтобы увидеть его в полный размер.

Название файла:	Lara01.jpg
Просмотров:	1760
Размер:	33.2 КБ
ID:	4672
Лара Крофт, Eidos Interactive

Без нормала и прочих технологий сейчас никуда!

Продолжение: часть II | часть III

Обсуждение. Дополнения. Исправления. Вопросы.
Все права защищены © Иванов Дмитрий aka i.d. При цитировании ссылка на cgtalk.by обязательна.
Polygon.by. Учебно-практический центр компьютерной графики.

Онлайн журнал о магии компьютерной графики и цифрового искусства «Magic CG»
Пакет инструментов для обеспечения качества 3D-контента для игр
Школа-студия анимационных фильмов

Текущее время 12:12 (GMT +4)


Powered by vBadvanced CMPS v3.0 RC1
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Хостинг и облачные решения — Active Technologies

Все права защищены © 2006 — 2014, CGtalk.by