Карта отражений в фотошопе
Specular Map (карта отражения) – текстура, которая показывает способность отражения материала. В отличие от reflection map, specular map не показывает отражения сцены, в которой находится объект, а показывает отражения света падающего на него. Specular Map содержит в себе пиксели в черно-белой цветовой гамме. Чем светлее пиксель, тем больше способность материала отбивать свет и тем ярче на нём блики от света. Соответственно чем темнее пиксель, тем матовее становится материал и теряет своё свойство отражать свет. Для материалов керамической плитки и полированного металла могут использоваться светлые тоны, а для тканей и дерева тёмные.
Что такое Specular Map (карта отражения)?
мм. на самом то деле весьма оптимизовано использовать Specular Map в качестве Reflection Map. даже если смотреть с физической точки зрения то оно так и есть.
Аврелий
Да это так. Это сделано в демках RenderMonkey. Т.е. premultiplied alpha - когда спек, храниться в альфа канале текстуры отражения.
А разве то, о чём написано, не является Gloss Mapом?
А Specular Map он вроде как цветной.
Executor
> А Specular Map он вроде как цветной.
от желания зависит
"чем темнее пиксель, тем матовее становится материал и теряет своё свойство отражать свет. Для материалов керамической плитки и полированного металла могут использоваться светлые тоны, а для тканей и дерева тёмные"
по описанию похоже на параметр roughness в моделе кука.
слабый спекуляр не делает поверхность матовой. он просто делает слабый спекуляр. матовость/глянцевость это разная фокусировка блика.
coordBox
> матовость/глянцевость это разная фокусировка блика.
это разные веса - если брать тот же кук
. я использую спек мап как рефл мап.
на практике дает хорошый результат. а то толку рисовать 100500 мапов для каждой шороховинки материала
innuend-ЫЧ
> это разные веса - если брать тот же кук
ну незнаюю. если делать "чем меньше спекуляр тем размазанее блик" то будет невезде правильно смотреться. пример грязный кафель
Аврелий
> на практике дает хорошый результат. а то толку рисовать 100500 мапов для
> каждой шороховинки материала
+1 тож так делаю.
Моя использует ч\б карты спекуляра для определения интенсивности блика и specular exponent map( тоже ч\б ) для размера блика, хотя последнее редко юзал.
coordBox
> > это разные веса - если брать тот же кук
> ну незнаюю. если делать "чем меньше спекуляр тем размазанее блик" то будет
> невезде правильно смотреться. пример грязный кафель
веса в куке, это rd+rs=1, это с shininnes не связано
Некоторые в текстуре держат power, но помоему это както странно.
Ну например есть меш - солдат в sci-fi броне и с визором. Визор - это стекло. Броня - это железо. На все это добро одна текстура. Вот на визоре можно сделать power большим, на броне - поменьше. Смотрится хорошо. Визуально лучше чем когда один power на все. Хотя можно конечно и не делать.
DeadMeat
Ну можно просто отдельными мешами это нарисовать впринципе.
Модели 3D, Poser, 3DsMax, Archicad, Artcam, Zbrush
ДНЕВНИК ПРОРОКА МАНЬКИНА
Введение в текстурные карты
Это руководство даёт базовой понимание назначения и особенностей некоторых типов текстурных карт.
Diffuse map (основной / диффузный цвет)
Слот в 3DS Max: Diffuse color.
Технически эта карта представляет собой диффузное отражение и цвет поверхности объекта. Простыми словами – это базовый цвет объекта. Эта карта используется в качестве основной текстуры объекта.
Пример диффузной карты.
Specular map (карта зеркальности)
Слот в 3DS Max: Specular color.
Карта передаёт интенсивность и цвет бликов на поверхности объекта. Другими словами, она определяет «глянцевость» и цвет световых отражений.
Пример бликов на объектах в реальной жизни. Эти белые пятна света на помидорах – не что иное, как блики.
Пример бликов на фасаде здания. Обратите внимание, что в зависимости от уровня серого интенсивность бликов меняется. Особенно это заметно при перемещении освещения над поверхностью различных «материалов».
Для демонстрации работы карт бликов я применил к этому цилиндру карты бликов с различными уровнями серого, от черного, до белого, и простую диффузную карту. Более светлые области дают сильные блики, более тёмные области слегка отсвечивают, а чёрная область вообще не даёт бликов.
В карте бликов вашего объекта глянцевые материалы должны быть белыми или светло-серыми, матовые материалы – чёрный или тёмно-серый. Обратите внимание, что использование цветов в карте бликов, даёт эффект цветового тонирования. Это полезно для некоторых материалов, таких как автомобильная краска, золото или бронза.
Материалы, которые должны быть окрашены в белый цвет (глянцевые):
- окна и любой тип стекла
- полированные металлы и хром
- глянцевая пластмасса
- керамическая плитка
Материалы, которые должны быть окрашены средним уровнем серого цвета (средний уровень бликов):
- пластики
- мрамор
- гранит
- лакированное дерево
- обработанные металлы
Материалы, которые должны быть окрашены в тёмно-серый или черный цвет (матовые):
- трава
- грязь
- бетон
- натуральное дерево (не лакированное)
- ткань
- ржавый металл
Реалистичные карты бликов основываются на физических свойствах материалов.
Reflection map (карта отражений)
Слот в 3DS Max: Reflection.
По принципу своего действия, карты отражения похожи на карты бликов. Уровень отражения зависит от яркости карты, и аналогичным же образом, карта работает с цветами. Цветная карта отражений будет полезной в случае тонированных стёкол.
Материалы, которые должны быть окрашены белым (зеркальные отражения):
- Зеркала, хромированные и тому подобыне материалы
Материалы, которые должны быть окрашены в серый цвет (от высоко до умеренно отражающих):
- стекло*
- вода
- пластик
- мрамор
- гранит
- полированные материалы
- глянцевая керамическая плитка
- лакированное дерево
- окрашенные металлы
*Если имеющиеся в вашем распоряжении текстуры окон достаточно хороши, я рекомендую использовать средние уровни серого для карты отражения – в этом случае отражения не будут полностью скрывать диффузную текстуру.
Материалы, которые следует окрашивать чёрным (не отражающие):
- трава
- грязь
- бетон
- большинство материалов стен
- натуральное (не лакированное) дерево
- ткани
- ржавый металл
Реалистичные карты отражений основываются на физических свойствах материалов.
Отражения на окнах.
Self illumination map (карты самосвечения)
Слот в 3DS Max: Self-Illumination.
Эта карта позволяет задать свечение различных частей объекта, например, освещённых окон в ночное время. Карта самосвечения, смешиваясь с диффузной картой, оказывает влияние на диффузный базовый цвет. Если окна на диффузной карте будут иметь в основном синий оттенок, а карта самосвечения, наложенная на них, будет жёлтого оттенка, то получившееся свечение будет зеленоватым.
Так работает карта самосвечения.
Пример карты самосвечения.
Normal map (карта нормалей)
Слот в 3DS Max: Bump.
Карты нормалей (как и карты рельефности, bump map) используются для имитации неровностей и повышения детализации поверхности без увеличения количества полигонов.
Этот вид карт довольно сложно создать вручную. Сделать это можно в 3DS Max, но для того, чтобы получить достойные результаты, нужен некоторый опыт. Нашим выбором будет использование средств, предоставляемых NVIDIA – бесплатный плагин для Photoshop NVIDIA Texture Tools. Есть также некоторые другие программные средства, такие как Crazybump или Pixplant2, но плагин от NVIDIA бесплатен и даёт лучшие результаты.
Шаги по созданию простой и реалистичной карты нормалей
Обесцветьте изображение и маскируйте весь объект и те области, для которых не требуется эффект неровности, например, стекло или любая другая гладкая поверхность. Используйте белый или светло-серый цвет для деталей, которые должны иметь рельеф, по сравнению с окружающими областями.
Используйте фильтр NVIDIA Normal Map в Photoshop чтобы конвертировать отредактированную текстуру в карту нормалей.
Используйте 3D Preview и поиграйте значением масштаба (Scale), чтобы получить требуемый эффект. Я рекомендую деактивировать параметр «animate light». Не забудьте закрыть окно 3D Preview, иначе фильтр не применится.
Подготовка диффузной карты к конвертации в карту нормалей необходима для получения хорошего результата. Иногда карта нормалей так же нуждается в редактировании, для изменения некоторых деталей. Если не маскировать гладкие поверхности, то результатом будет некрасиво неровная карта нормалей.
Opacity Map (карта прозрачности)
Слот в 3DS Max: Opacity.
Название карты говорит само за себя: она определяет области прозрачности и непрозрачности объектов. Это чёрно-белое (или с оттенками серого) изображение, белые области которого представляют собой полностью непрозрачные зоны, а чёрные – полностью прозрачные. Эти карты весьма полезны при создании перил, решёток и тому подобных объектов.
Пример ограждения, сделанного с помощью карты прозрачности, применённой к простой плоскости.
В большинстве случаев для создания реалистичных поверхностей и рендеров Вам требуется большое количество различных текстур: диффузная, зеркальная, шероховатости, смещения и т.д. В случае, если у Вас нет доступа к специальным программам генерирующим подобные текстуры, такие как: CrazyBump, Knald, Bitmap2Material, то может возникнуть проблема.
Из данного урока Вы узнаете, как с помощью всего одной текстуры создать большинство выше перечисленных используя лишь ноды в Cycles. Техники показанные в данном уроке, также применимы в других редакторах.
В результате прохождения данного урока у Вас должно появится базовое представление о том, как манипулировать изображением для получения необходимого результата.
1. Настройка основного материала
2. Создание диффузного градиента
Данный шаг не является обязательным, но он добавит немного реализма материалу.
Для создания градиента добавьте нод RGB Curves (Add > Color > RGB Curves) и смешайте его с текстурой при помощи нода Mix (Add > Color > MixRGB) и подключите в качестве фактора смешивания нод Layer Weight (Add > Input > Layer Weight).
3. Создание карты отражения
Карта отражения (Specular Map) определяет, на каких участках объекта будет преобладать диффузный шейдер, а на каких глянцевый основываясь на оттенках серого.
Преобразовать цветное изображение в черно-белое очень легко подключив цветную текстуру к ноду RGB to BW (Add > Converter > RGB to BW) и контролировать влияние с помощью нода ColorRamp (Add > Converter > ColorRamp).
Чтобы видеть результат добавьте шейдер Emission и подключите ColorRamp к нему.4. Добавление затенения основанного на физике
В реальности не металлические/диэлектрические объекты и поверхности создают больше отражений на углах, что называется отражением Френеля.
Используя информацию нода Layer Weight добавленного на втором шаге мы вычтем Subtract (Add > Converter > Math) значения карты отражений созданной на третьем шаге.
Мы будем использовать нод Subtract в качестве фактора смешивания шейдеров и тем самым создадим два эффекта: отражения Френеля и карта отражений.
5. Создание карты шероховатости
Данная карта указывает на то, какие части объекта имеют шероховатую поверхность. Создайте еще один нод ColorRamp и используя тот же нод RGB to BW добейтесь результата как на изображении:
После подключите его к входу Roughness нода Glossy:
6. Создание карты нормалей
Данная карта создает небольшие неровности на поверхности объекта.
Добавьте нод Bump (Add > Vector > Bump), подключите к нему все тот же нод RGB to BW и подключите выход Normal к одноименным входам обеих шейдеров:
7. Создание карты смещения
Это практически тоже самое, что и карта нормалей, но с более сильным эффектом для достижения еще большего реализма.
Добавьте нод ColorRamp и отрегулируйте текстуру так, чтобы черный цвет оставался в основном между досок:
Добавьте нод Math (тип Multiply), подключите к нему ColorRamp и соедините с входом Displacement. Значением нода Multiply отрегулируйте силу воздействия:
7. Создание карты впадин
В сочетании с картой смешения, данный тип карты создаст эффекты на подобии грязи и пыли образующихся в щелях.
Добавьте шейдер Diffuse BSDF и смешайте его с существующими шейдерами. Установите для него темно-серый цвет или что-то подобное:
Как и на предыдущих шагах, создайте нод ColorRamp и определите в каких местах на Вашем объекте будут находится впадины:
В завершении, подключите его в качестве фактора смешивания второго нод Mix Shader:
Заключение
Я настоятельно рекомендую Вам не повторять всегда эту связку, а находить новые, более эффективные и простые.
В предыдущей части статьи было рассказано про Теорию карт нормалей.
Данная часть статьи посвящена мини-обзорам программ и плагинам для генерации карт, включая карты нормалей, карты смещения, самоосвещенной карты нормалей, карты освещения/затенения и карты отражений из текстуры и карты высот. В данной части статьи, помимо уже упомянутого в одной из предыдущих частей Normalmap Online, обозреваются такие программы и плагины, как Normalmap Online, NVIDIA Texture Tools for Adobe Photoshop (NVIDIA Normal Map Filter), SSBump Generator, xNormal, GIMP normalmap plugin и SmartNormal, CrazyBump и Awesome Bump.
Вы можете поддержать автора проекта , пожертвовав ему сумму (сколько посчитаете нужным и возможным) на развитие сайта.
NVIDIA Texture Tools для Adobe Photoshop
Раз разговор зашел о картах нормалей, не могу не сказать еще об одном удивительном инструменте NVIDIA Texture Tools for Adobe Photoshop, который позволяет:
Более подробно с возможностями данного набора инструментов вы можете ознакомиться на сайте Nvidia, либо в pdf-файлах NVJavaScript.pdf, PhotoshopDDSPlugin.pdf и PhotoshopNormalMapFilter.pdf, которые будут доступны вам в папке “\\Program Files\NVIDIA Corporation\“ или в “\\Program Files (x86)\NVIDIA Corporation\“после установки пакета.
Для того чтобы запустить плагин, выберите слой, на котором хотите применить фильтр, затем вкладку Filter в главном меню, в котором выберите вкладку NVIDIA Tools, а в ней – NormalMapFilter.
Карты нормалей, создаваемые в NVIDIA Texture Tools for Adobe Photoshop в режиме по умолчанию, как и 3ds Max, имеют инвертированный зеленый канал, следовательно, для того чтобы они правильно работали в Unity3D, необходимо инвертировать ось Y (Invert Y) при создании карты нормалей из текстуры или карты высот.
Как видно из рисунка, NVIDIA Normal Map Filter не просто позволяет создавать карты нормалей из изображений (в центре), используя большое количество настроек (окна настроек показанынад созданными картами нормалей), но и инвертированные карты нормалей (справа), как если бы цвета текстуры предварительно были бы инвертированы.
Также в данном плагине существует возможность предпросмотра карты нормалей на 3D модели (плоскости), что присутствует и в плагине для Фотошопа xNormal, который является частью standalone версии xNormal.
16-битный фильтр для плагина от nVidia доступен по ссылке NormalMapFilter16.zip, который позволяет работать с 16bit изображениями в градациях серого, в которые экспортирует изображения ZBrush.
SSBump Generator
Еще одним представителем семейства генераторов карт нормалей и карт высот является SSbump Generator 5.3 w/ CUDA, который позиционируется, как должно быть понятно из названия, как генератор ssbump карт нормалей (Self-Shadowed Bump Maps). Карты нормалей ssbump являются частью системы самозатенения (хранения карты затенений вместе с картой нормалей), реализованной в движке Source от Valve Corporation. На данном движке был реализован известный Half-Life 2, а также переиздана первая часть данной игры, получившая название Half-Life: Source, которая была издана в 2004 году, и включающая ряд графических нововведений и дополненная изменениями в игровом процессе.
Помимо ssbump текстур (самозатененных и не самозатененных) SSbump Generator способен генерировать простые карты нормалей, карты высот, а также добавлять карту затенения (ambient occlusion) к изображению. Интерфейс не совсем интуитивно понятный.
Кстати карты нормалей ssbump также можно запечь и в xNormal.
xNormal
xNormal представляет собой приложение для запекания различных карт с высокополигональной 3D модели на низкополигональную, включая закпекание карт нормалей, карт высот, диффузных текстур (Albedo), карт затенения/освещения (Ambient occlusion), bent normalmap (карты нормалей с самозатенением), PRTpn, Convexity map, Thickness map, Proximity map, Cavity map, Wireframe and ray fails, Direction map (Vector Displacement Map), Radiosity normal map (карта нормалей с запеченным освещением), vertex colors хайполи модели, curvature map, карты прозрачности (translucency map), derivative map (карты нормалей в пространстве объекта).
Имеется предпросмотр модели в 3D пространстве в выбранном разрашении, причем как ее highpoly версии, так и lowpoly с возможностью наложения карты нормалей, текстуры, карты затенений, карты отражений (Reflect texture), текстуры блеска/глянцевости (Gloss texture), карты свечения (emissive texture), карты отражений (Reflect texture) и карты глобального освещения (DiffuseGI texture).
Кстати, xNormal поддерживает контроллер Xbox360 для навигации по сцене в окне предпросмотра, достаточно лишь включить его в окне настроек предпросмотра.
Хватает и настроек в самом окне просмотра.
В программе также доступна опция вращения 3D модели и источника света.
Как можно заметить на рисунке, созданные карты нормалей имеют “правильную” ориентацию Y оси, т.е. данный инструмент с настройками по умолчанию отлично подходит для создания карт, которые могут быть импортированы в Unity3D и Blender без дополнительных преобразований и инвертирования Зеленого (Y) канала.
Некоторые утилиты xNormal доступны в плагине для Фотошопа, например, создание карт затенений и карт нормалей из карты высот. Плагин позволяет нормализовывать карты нормалей и создавать Cavitymaps (могут использоваться для имитации грязи в углублениях) из карты нормалей.
Есть и фильтр для расширения краев изображений/текстур “Dilation” (Filter->xNormal->Dilation), по сути являющийся аналогом параметра Margin в Blender’е (выставляется в параметрах запекания карт “Bake”).
Помните Dilate Many из набора AlphaUtility.atn.zip для создания альфа канала для листьев, работа с которым описана в статье “How do I Import Alpha Textures?” руководства пользователя?
Плагин normalmap для GIMP
Раз уж зашел разговор про графические редакторы, для которых существуют плагины для создания карт нормалей (и других карт), стоит рассказать о плагине normalmap для GIMP, бесплатной альтернативе Photoshop.
Плагин normalmap после загрузки с репозитория Google доступен в GIMP в вкладке главного меню Filters->Map->NormalMap (Фильтры->Карта->NormalMap).
Как и его братья данный плагин обладает всеми необходимыми настройками для создания качественных карт нормалей.
Как и описанный выше плагин NVIDIA Texture Tools, данный плагин по умолчанию создает карту нормалей с инвертированным зеленым каналом, а, следовательно, его необходимо инвертировать для импорта в Unity3D.
Данный плагин также предлагает пристойный предпросмотр создаваемой карты нормалей в 3D пространстве на одной из пяти 3D моделей-примитивов: плоскости, кубе, сфере, торе и знаменитом “максовском” чайнике Юта/Ньюэлла (хотя, если честно, я ожидал увидеть здесь Blender’овскую Сюзанну).
Smartnormal
Заканчивая обзор бесплатных утилит, плагинов и приложений для создания карт нормалей (и не только), хотелось бы рассказать еще об одном онлайн приложении. Smartnormal представлен в двух версиях – более поздней Smartnormal 2.0 и Smartnormal 1.0.
Основным отличием Smart Normal 1.0 от второй версии является возможность выбора фильтра, который будет использован для создания карты нормалей: упомянутый выше Собель и Condensed. Судя по заверениям разработчиков от февраля 2009 года, данный генератор карт нормалей был (или и сейчас) доступен в виде плагина для After Effects и Photoshop, но требует предустановленного Pixel Bender Plugin.
В данной версии приложения карты нормалей по умолчанию создаются с инвертированым Красным (R) каналом (как в Normalmap Online, описанном выше), так что не забудьте его “обратить” в веру Unity3D. Количество настроек – минимально: Сила (Bias), Размытие (Blur), возможность инвертирования исходного изображения (Invert source) и возможность инвертирования Зеленого (G) и/или Красного (R) каналов.
В SmartNormal версии 2.0 инвертировать каналы уже не нужно, но можно, если очень хочется, например, если вы хотите использовать созданную карту нормалей в 3dsMax. Отличительной особенностью данной версии является поддержка изображений размером 8192*8192 пикселей, сохранение результата без компрессии изображения (в несжатом виде). Реализация на WebGL с поддержкой вычислений на GPU.
CrazyBump
Помимо своих основных функций по превращению карт высот и изображений в карты отражений, смещения, нормалей и карты затенений, приложение CrazyBump обладает функционалом конвертера изображений. Вы всегда можете загрузить в него свое изображение, чтобы на выходе получить изображение в практически любом существующем формате. Помимо сохранения в файл, данное приложение обладает возможность сохранения одной из выбранных карт в буфер обмена, как если бы вы использовали “Snip” от Microsoft (правда, в Snipe вам еще придется выделить интересующую для копирования область или щелкнуть мышью на активном окне программы, чтобы сделать скриншот).
В данном приложении также существует возможность предпросмотра своих текстур в окне 3D вида, причем вы можете использовать как существующие примитивы (шар, колонну, ролик, ящик), так и загрузить свою 3D модель.
Данное приложение – платное, но ценовая политика – крайне гибкая, поскольку для студентов и индии-разработчиков автор идет навстречу и по личной договоренности может разрешить использовать приложение по лицензии “CrazyBump for Students”, купленную за $49 USD, в коммерческих целях. Если же вы хотите заполучить себе копию CrazyBump на одно лицо (один компьютер), а ваш годовой доход или годовой доход вашей компании не превышает 200.000 долларов, то вам останется лишь выложить за этот “аппарат” 99 долларов. Если вы давно зарабатываете более 200 тысяч долларов в год или доход вашей компании хотя бы на доллар превысил данную планку, то вам остается лишь выложить 299 долларов за одну копию данного приложения.
Crazy Bump также позволяет инвертировать загруженное изображение, а также смешивать карты нормалей. Об инвертировании изображения я уже сказал выше, а вот смешиванию карт нормалей будет посвящена отдельная статья.
Awesome Bump
Следующей программой в списке генератором карт, является AwesomeBump. Для того чтобы создать карту нормалей в данном приложении из изображения, например, Albedo (диффузной) текстуры или карты высот, его необходимо загрузить. Переходим в окно работы с диффузной картой, открыв соответствующую вкладку “Diffuse”, затем ставим флаг напротив опции Enable preview, загружаем текстуру, нажав на иконку дискетки и выбрав вашу диффузную карту или карту высот. Теперь осталось лишь нажать на кнопку “Convert to N H”, чтобы создать карту нормалей (а также карту отражений, карту высот и карту освещения/затенения) из вашего изображения. В окне предпросмотра 3D примитиву автоматически была назначена созданная карта нормалей. Чтобы снять отображение карты нормалей, снимите флаг напротив опции “ Enable preview”.
Хотите больше? Перетащите какую-нибудь текстуру на ту же самую иконку дискеты, и вы получите возможность лицезреть загруженную текстуру на 3D примитиве, наложенную поверх созданной карты нормалей.
Можно подвигать источник света в окне 3D предпросмотра (удерживая Среднюю Клавишу Мыши перемещайте мышь в окне с 3D примитивом).
Если вы хотите посмотреть, как будет выглядеть текстура на вашей 3D модели, то вам достаточно лишь нажать кнопку “3D settings” на окном 3D предпросмотра модели, после чего нажать кнопку “Load OBJ Mesh” и выбрать свою 3D модель в формате OBJ. Awesome Bump не понимает 3D модели без UV развертки!
При некотором умении данный инструмент станет вам незаменимым помощником в создании и доработке 3D контента для игр.
Читайте также: