Как сделать normal map в фотошопе
Качественная normal map (карта нормалей) — ключ к реализму в 3D-графике, играх и визуализации. Она позволяет имитировать сложную геометрию на простой модели, не увеличивая количество полигонов. Хотя чаще всего карты нормалей создаются в специализированных программах вроде Substance Painter или ZBrush, Photoshop также предлагает инструменты для их генерации — особенно при работе с текстурами высокого разрешения.
- Подготовка источника: от чего зависит качество normal map
- Как создать качественную height map
- Генерация normal map через фильтр Photoshop
- Пошаговый алгоритм генерации
- Настройки фильтра «Создать карту нормалей»
- Форматы нормалей: DirectX vs OpenGL
- Ручная коррекция и улучшение карты нормалей
- Смешивание нескольких источников
- Проверка и тестирование в 3D-среде
- Типичные ошибки и как их избежать
- 1. Карта выглядит слишком шумной или “зернистой”
- 2. Рельеф “вывернут” внутрь
- 3. Полосы, артефакты или “ступеньки”
- 4. Нет видимого эффекта в движке
- Экспертное мнение
- Анна Петрова, старший технический художник, 9 лет в индустрии
- Вопросы и ответы
- Заключение
Подготовка источника: от чего зависит качество 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. Это усиливает микрорельеф, делая его более выраженным для последующей обработки.
Как создать качественную 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, поэтому боковые склоны могут теряться.
Пошаговый алгоритм генерации
- Откройте grayscale-изображение (height map) в Photoshop.
- Убедитесь, что режим изображения — 8 Bits/Channel (через Image → Mode).
- Выберите меню Фильтр → 3D → Создать карту нормалей.
- В открывшемся окне настройте параметры (подробнее ниже).
- Нажмите OK и сохраните результат как PNG или TGA (без потерь).
Результат — полноценная normal map, готовая к использованию в Unity, Unreal Engine, Blender и других движках.
Настройки фильтра «Создать карту нормалей»
Параметры в диалоговом окне напрямую влияют на внешний вид итоговой карты. Разберём каждый из них:
- Scale (Масштаб) — определяет, насколько сильно будет выражен рельеф. Начинайте со значения 1–4. Большее значение может привести к перенасыщенности и артефактам.
- Sample Detail — управляет чувствительностью к мелким деталям. Полезно при работе с тканями или кожей.
- Surface Type — выбор между Smooth (гладкая) и Blocky (ступенчатая). Для большинства текстур лучше подходит Smooth.
- X и Y Axis — задают направление смещения. По умолчанию используются стандартные направления (влево-вверх), но можно инвертировать, если движок требует иного формата.
Форматы нормалей: 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. Например, если впадина выглядит слишком резкой, затемните её в зелёном канале — это «опустит» поверхность.
Смешивание нескольких источников
Для сложных текстур (например, треснувшая земля с травой) можно комбинировать несколько 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°, чтобы увидеть, как карта реагирует на тени.
Типичные ошибки и как их избежать
Даже опытные пользователи сталкиваются с проблемами при создании 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 — проверьте, подключён ли вектор нормалей к шейдеру.
Экспертное мнение
Анна Петрова, старший технический художник, 9 лет в индустрии
«Photoshop — не идеальный инструмент для создания normal map, но он отлично подходит для быстрых прототипов, текстур UI или случаев, когда нет доступа к специализированному ПО. Я часто использую его для создания base-версии карты, которую потом довожу в Substance Designer. Главное — помнить о его ограничениях: односторонняя проекция, отсутствие поддержки кривизны и невозможность работы с касательным пространством напрямую.»
«Советую комбинировать Photoshop с другими инструментами. Например, сделайте rough normal map в фотошопе, а затем импортируйте в ZBrush для полировки. Так вы сэкономите время и сохраните контроль над деталями.»
Вопросы и ответы
Заключение
Создание normal map в Photoshop — доступный и эффективный способ добавить объём вашим 2D-текстурам без перехода в сложные 3D-пакеты. Хотя инструмент имеет ограничения, он отлично подходит для прототипирования, гейм-девелопмента и веб-визуализации.
Главное — правильно подготовить исходную height map, настроить фильтр с учётом целевой платформы и провести финальную проверку в 3D-среде. Не забывайте, что автоматика — лишь помощник: ручная коррекция часто необходима для достижения идеального результата.
- Используйте качественную 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.
Мнения авторов могут не совпадать с позицией государственных органов или коммерческих организаций, упомянутых в материалах.