Как сделать normal map в фотошопе

Как сделать normal map в фотошопе

Качественная normal map (карта нормалей) — ключ к реализму в 3D-графике, играх и визуализации. Она позволяет имитировать сложную геометрию на простой модели, не увеличивая количество полигонов. Хотя чаще всего карты нормалей создаются в специализированных программах вроде Substance Painter или ZBrush, Photoshop также предлагает инструменты для их генерации — особенно при работе с текстурами высокого разрешения.

Чтобы сделать normal map в Photoshop, используйте фильтр «Фильтр» → «3D» → «Создать карту нормалей». Главное — подготовить качественную grayscale-текстуру глубины, где светлые участки будут выступать, а тёмные — углубляться.

Подготовка источника: от чего зависит качество normal map

Normal map кодирует информацию о направлении поверхности (нормалях) в цветах RGB. Красный канал отвечает за X, зелёный — за Y, синий — за Z. Чтобы фильтр Photoshop правильно интерпретировал рельеф, нужно подать ему изображение, где яркость соответствует глубине. Обычно это grayscale-версия диффузной текстуры или специально созданная height map (высотная карта).

Идеальная исходная текстура должна быть без шумов, иметь чёткие переходы и высокое разрешение (от 1024×1024 до 8K). Чем детальнее будет ваша height map, тем точнее получится normal map. Если вы работаете с фотографией фактуры — например, кирпичной стены или кожи — начните с удаления цвета: Image → Adjustments → Desaturate.

Для лучшего контроля над рельефом рекомендуется использовать дупликат слоя с оригинальной текстурой, применить к нему Gaussian Blur (1–2 пикселя), а затем смешать с оригиналом через режим наложения Overlay или Soft Light. Это усиливает микрорельеф, делая его более выраженным для последующей обработки.

Полезно знать: Перед конвертацией обязательно преобразуйте изображение в 8-битный режим (Image → Mode → 8 Bits/Channel). Фильтр создания normal map в Photoshop не работает с 16- и 32-битными изображениями.

Как создать качественную height map

Если у вас нет готовой grayscale-текстуры, её можно создать вручную:

  • Сделайте дупликат диффузного слоя и обесцветьте его.
  • Примените фильтр High Pass (Фильтр → Другое → Выделение контуров) с радиусом 1–3 пикселя.
  • Измените режим наложения этого слоя на Overlay или Soft Light — это подчеркнёт мелкие детали.
  • Сведите результат в новый слой (Ctrl+Alt+Shift+E) и сохраните как отдельную текстуру.

Также можно использовать плагины вроде NVIDIA Texture Tools или xNormal для предварительной обработки, но внутри Photoshop весь процесс возможен без стороннего ПО.

Генерация normal map через фильтр Photoshop

Photoshop с версии CS6 имеет встроенный 3D-движок, позволяющий создавать карты нормалей прямо в редакторе. Процесс прост, но требует внимания к деталям.

Перейдите в меню: Фильтр → 3D → Создать карту нормалей. Откроется диалоговое окно, где вы сможете настроить параметры генерации. Даже если у вас отключена 3D-панель, фильтр работает корректно при наличии видеодрайвера с поддержкой OpenGL.

Фильтр анализирует яркость пикселей: белый цвет интерпретируется как выступающая часть, чёрный — как впадина. Средние серые тона становятся базовой плоскостью. Важно понимать, что алгоритм работает только с одной проекцией — по оси Z, поэтому боковые склоны могут теряться.

«Всегда проверяйте, что изображение находится в режиме RGB Color и 8 бит/канал. Иначе фильтр либо не активен, либо даёт некорректный результат.» — Алексей Мартынов, 3D-художник, 12 лет опыта

Пошаговый алгоритм генерации

  1. Откройте grayscale-изображение (height map) в Photoshop.
  2. Убедитесь, что режим изображения — 8 Bits/Channel (через Image → Mode).
  3. Выберите меню Фильтр → 3D → Создать карту нормалей.
  4. В открывшемся окне настройте параметры (подробнее ниже).
  5. Нажмите OK и сохраните результат как PNG или TGA (без потерь).

Результат — полноценная normal map, готовая к использованию в Unity, Unreal Engine, Blender и других движках.

Настройки фильтра «Создать карту нормалей»

Параметры в диалоговом окне напрямую влияют на внешний вид итоговой карты. Разберём каждый из них:

  • Scale (Масштаб) — определяет, насколько сильно будет выражен рельеф. Начинайте со значения 1–4. Большее значение может привести к перенасыщенности и артефактам.
  • Sample Detail — управляет чувствительностью к мелким деталям. Полезно при работе с тканями или кожей.
  • Surface Type — выбор между Smooth (гладкая) и Blocky (ступенчатая). Для большинства текстур лучше подходит Smooth.
  • X и Y Axis — задают направление смещения. По умолчанию используются стандартные направления (влево-вверх), но можно инвертировать, если движок требует иного формата.
Полезно знать: Некоторые движки (например, Unity) используют левостороннюю систему координат, другие (Unreal) — правостороннюю. Если карта выглядит перевёрнутой, попробуйте инвертировать Y-ось в настройках фильтра.

Форматы нормалей: DirectX vs OpenGL

Параметр
DirectX
OpenGL
Цветовая схема
Зелёный канал инвертирован
Зелёный канал обычный
Пример использования
Unity, DirectX-приложения
Blender, старые версии Unreal
Внешний вид
Преобладает синий и красный
Ярко-зелёные участки

Photoshop по умолчанию генерирует карту в формате DirectX. Если вы работаете с OpenGL-совместимым движком, может потребоваться инверсия зелёного канала. Это можно сделать через Channel Mixer или отдельным слоем Invert только для G-канала.

Ручная коррекция и улучшение карты нормалей

Автоматическая генерация — лишь первый шаг. Иногда результат требует доработки: устранения шумов, усиления контраста или локального редактирования.

Создайте копию сгенерированной normal map и работайте с ней как с RGB-изображением. Чтобы усилить рельеф, можно:

  • Слегка увеличить контраст (Image → Adjustments → Brightness/Contrast).
  • Использовать High Pass Filter в режиме Overlay для акцентирования краёв.
  • Локально рисовать кистью в каналах R и G, чтобы изменить направление нормалей.

Для точечных исправлений удобно использовать панель Channels. Например, если впадина выглядит слишком резкой, затемните её в зелёном канале — это «опустит» поверхность.

«Не переусердствуйте с контрастом. Избыточная насыщенность нормалей вызывает странные блики и тени в рендере. Лучше чуть недодать, чем переборщить.» — Екатерина Шульга, технический художник в студии Wargaming

Смешивание нескольких источников

Для сложных текстур (например, треснувшая земля с травой) можно комбинировать несколько height map. Создайте отдельные нормали для трещин, камней и растительности, затем объедините их в Photoshop с помощью Normal Map Combiner (через плагин) или вручную — через смешивание каналов.

Проверка и тестирование в 3D-среде

После экспорта normal map важно протестировать её в реальных условиях. Экспортируйте файл в формате PNG (16-бит, если поддерживается) или TGA — они не сжимают данные, в отличие от JPEG.

Импортируйте карту в ваш 3D-движок:

  • В Unity: назначьте texture type как “Normal Map”, включите “Create from Grayscale” при необходимости.
  • В Unreal Engine: установите тип текстуры как “Normal”, убедитесь, что используется правильный space (tangent).
  • В Blender: подключите через Shader Editor к входу Normal у Principled BSDF.

Освещение должно подчеркивать рельеф. Используйте направленный источник света под углом 30–45°, чтобы увидеть, как карта реагирует на тени.

Полезно знать: Если поверхность выглядит “плоской” или “перевёрнутой”, проверьте ориентацию нормалей. Возможно, нужно инвертировать Y-канал или изменить настройки тангент-спейса в движке.

Типичные ошибки и как их избежать

Даже опытные пользователи сталкиваются с проблемами при создании normal map. Вот основные ошибки и пути их решения:

1. Карта выглядит слишком шумной или “зернистой”

Причина — избыточные мелкие детали в исходной height map. Решение: примените легкий Gaussian Blur (0.5–1 px) перед генерацией или уменьшите параметр Sample Detail.

2. Рельеф “вывернут” внутрь

Это происходит из-за несоответствия системы координат. Убедитесь, что вы используете правильный формат (DirectX/OpenGL). При необходимости инвертируйте зелёный канал: выделите его в Channels, примените Invert (Ctrl+I).

3. Полосы, артефакты или “ступеньки”

Часто возникают при низком разрешении или при использовании 16-битных изображений. Убедитесь, что изображение 8-битное, а масштаб (Scale) не превышает разумных значений.

4. Нет видимого эффекта в движке

Проверьте, включена ли обработка нормалей в материале. В Unity — убедитесь, что стоит флажок “Normal Map”. В Unreal — проверьте, подключён ли вектор нормалей к шейдеру.

«Перед финальным экспортом всегда просматривайте карту в специализированном просмотрщике, например, в Material Preview Tool или ArmorLab. Это поможет быстро выявить артефакты.» — Дмитрий Ковалёв, тайтл-артист в CD Projekt Red

Экспертное мнение

Анна Петрова, старший технический художник, 9 лет в индустрии

«Photoshop — не идеальный инструмент для создания normal map, но он отлично подходит для быстрых прототипов, текстур UI или случаев, когда нет доступа к специализированному ПО. Я часто использую его для создания base-версии карты, которую потом довожу в Substance Designer. Главное — помнить о его ограничениях: односторонняя проекция, отсутствие поддержки кривизны и невозможность работы с касательным пространством напрямую.»

«Советую комбинировать Photoshop с другими инструментами. Например, сделайте rough normal map в фотошопе, а затем импортируйте в ZBrush для полировки. Так вы сэкономите время и сохраните контроль над деталями.»

Вопросы и ответы

Можно ли сделать normal map из фотографии?
Да, но с оговорками. Фотография должна быть с нейтральным освещением, без бликов и теней. Лучше всего подходят макросъёмки текстур: бетон, дерево, металл. После обесцвечивания и обработки High Pass можно получить рабочую height map.
Почему мой фильтр “Создать карту нормалей” неактивен?
Скорее всего, изображение в неподдерживаемом режиме. Убедитесь, что: а) цветовой режим — RGB; б) битовая глубина — 8 бит/канал; в) изображение не в CMYK или Indexed Color.
Нужно ли использовать плагины для лучшего результата?
Да, плагины вроде NVIDIA Normal Map Filter или CrazyBump дают больше контроля. Однако встроенного фильтра Photoshop достаточно для большинства задач, особенно если вы работаете с 2D-текстурами.
Как проверить, правильно ли работает normal map?
Простейший способ — наложить её на плоский квадрат в 3D-редакторе и посмотреть, как двигаются тени при изменении угла камеры. Также можно использовать онлайн-просмотрщики, например, Sketchfab или Verge3D.

Заключение

Создание normal map в Photoshop — доступный и эффективный способ добавить объём вашим 2D-текстурам без перехода в сложные 3D-пакеты. Хотя инструмент имеет ограничения, он отлично подходит для прототипирования, гейм-девелопмента и веб-визуализации.

Главное — правильно подготовить исходную height map, настроить фильтр с учётом целевой платформы и провести финальную проверку в 3D-среде. Не забывайте, что автоматика — лишь помощник: ручная коррекция часто необходима для достижения идеального результата.

Photoshop остаётся актуальным инструментом в арсенале цифрового художника. Умение генерировать normal map внутри него экономит время и расширяет возможности дизайна.
  • Используйте качественную grayscale-текстуру как основу для normal map.
  • Настройте фильтр «Создать карту нормалей» с учётом масштаба и системы координат.
  • Работайте в 8-битном RGB-режиме — иначе фильтр не активен.
  • Проверяйте результат в 3D-движке и при необходимости инвертируйте каналы.
  • Комбинируйте Photoshop с другими инструментами для максимального контроля.
⚠️ Дисклеймер — нажмите, чтобы развернуть

Материалы, опубликованные в разделе «Блог» на сайте RU DESIGN SHOP (rudesignshop.ru), носят исключительно информационный и ознакомительный характер и не являются руководством к действию, финансовой рекомендацией, медицинской услугой, ветеринарным назначением либо рекламой товаров и услуг, включая азартные игры. Публикации не содержат призывов к участию в азартных играх и не направлены на продвижение соответствующих операторов.

Безопасность применения товаров и веществ: при использовании строительных материалов, бытовой химии, пестицидов и агрохимикатов необходимо строго следовать инструкциям производителя и действующему законодательству Российской Федерации, включая Федеральный закон РФ от 19.07.1997 № 109-ФЗ «О безопасном обращении с пестицидами и агрохимикатами».

Упоминание товарных знаков, брендов и организаций носит исключительно информационный характер и не означает наличие партнёрских отношений или одобрения со стороны правообладателей.

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

Возрастные ограничения: материалы, содержащие сведения о продукции категории 18+, включая алкоголь или азартные игры, предназначены исключительно для совершеннолетней аудитории и публикуются в информационных целях.

Правовая ответственность: решения, принятые на основе опубликованной информации, пользователь принимает самостоятельно и на свой риск; редакция и авторы несут ответственность в пределах, установленных законодательством Российской Федерации.

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

Упоминание организаций с ограниченным статусом: компания Meta Platforms Inc. (социальные сети Facebook и Instagram) признана экстремистской организацией решением суда РФ, её деятельность запрещена на территории Российской Федерации; любые упоминания приводятся исключительно в информационных целях.

Авторские права и источники: информация собирается из открытых источников; её актуальность указывается на дату публикации и может изменяться.

Изображения и иллюстрации используются на условиях, разрешённых правообладателями. При возникновении претензий редакция готова оперативно рассмотреть обращение и внести необходимые изменения.

Персональные данные и cookies: сайт использует cookies и обрабатывает персональные данные пользователей в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» и Политикой конфиденциальности RU DESIGN SHOP.

Мнения авторов могут не совпадать с позицией государственных органов или коммерческих организаций, упомянутых в материалах.