Карта нормалей как сделать в фотошопе

Карта нормалей как сделать в фотошопе

Карта нормалей (normal map) — это текстура, используемая в 3D-графике для имитации детализированной поверхности без увеличения полигональной сложности модели. В растровом редакторе Adobe Photoshop можно создать карту нормалей из обычного изображения, например, из черно-белой карты высот (height map), что особенно полезно для геймдевелопмента, 3D-визуализации и цифрового скульптинга. Процесс требует понимания принципов работы освещения и глубины, а также использования специальных фильтров.

Чтобы сделать карту нормалей в Photoshop, преобразуйте карту высот или диффузную текстуру с помощью фильтра «Фильтр → 3D → Создать карту нормалей». Убедитесь, что изображение имеет достаточную детализацию и контрастность, чтобы получить качественный результат.
Содержание статьи:

Зачем нужна карта нормалей: основы 3D-текстурирования

Карта нормалей — один из ключевых элементов современного текстурирования 3D-моделей. Она хранит информацию о направлении поверхностных нормалей (векторов, перпендикулярных к поверхности) в цветовом виде. Каждый пиксель на карте кодирует угол наклона поверхности, что позволяет световым источникам в 3D-движке правильно рассчитывать тени, блики и объём.

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

Использование карт нормалей стало стандартом в индустрии. По данным аналитической платформы CGArchitect, более 94% 3D-художников используют normal maps в своих проектах, особенно при работе с PBR-материалами (Physically Based Rendering). Такие материалы стремятся максимально точно имитировать реальное поведение света.

Полезно знать: Карта нормалей не изменяет геометрию модели — она только визуально имитирует рельеф за счёт игры света и теней.

Подготовка изображения для обработки

Перед тем как приступить к генерации карты нормалей, необходимо подготовить исходное изображение. Обычно в качестве источника используется карта высот (height map), где белый цвет соответствует самым высоким участкам, чёрный — самым низким, а серые оттенки — промежуточным уровням.

Если у вас нет готовой height map, её можно создать из диффузной текстуры (diffuse map), применив фильтры размытия, контраста или выделения краёв. Также подойдут фотографии фактур: бетона, кожи, дерева, металла. Главное — обеспечить достаточный уровень детализации и чёткость границ.

Изображение должно быть:

  • в формате PNG или TIFF (без потерь качества);
  • в цветовом профиле Grayscale или RGB;
  • с разрешением не менее 1024×1024 пикселей (лучше — 2048×2048 и выше);
  • без артефактов JPEG-сжатия и шумов.

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

Как создать карту высот из фотографии

Если вы начинаете с обычной фотографии, выполните следующие шаги:

  1. Откройте изображение в Photoshop и преобразуйте его в чёрно-белое (Изображение → Коррекция → Черно-белое).
  2. Увеличьте контраст через уровни (Ctrl+L) или кривые (Ctrl+M), чтобы подчеркнуть рельеф.
  3. Удалите лишние элементы (логотипы, пятна) с помощью штампа или Content-Aware Fill.
  4. Сгладьте общее освещение: создайте новый слой, залейте его 50% серым, примените фильтр High Pass (Выделение верхних частот) с радиусом 1–2 пикселя и установите режим наложения Overlay.
  5. Сохраните результат как grayscale-изображение.
«Хорошая карта высот — это уже половина успеха. Если исходник будет с плохим контрастом или шумом, даже самый точный фильтр не спасёт качество карты нормалей.» — Алексей Миронов, 3D-текстурщик, 12 лет опыта

Создание карты нормалей в Photoshop: пошаговая инструкция

Photoshop предоставляет встроенный инструмент для генерации карты нормалей, который доступен через меню 3D. Этот функционал работает начиная с версии Photoshop CC 2014 и выше. Ниже — подробный алгоритм действий.

Шаг 1: Откройте исходное изображение

Запустите Photoshop и откройте файл с картой высот (File → Open). Убедитесь, что он находится в режиме 8-бит или 16-бит, так как 32-бит может вызвать проблемы совместимости.

Шаг 2: Перейдите в раздел 3D

Выберите меню Фильтр → 3D → Создать карту нормалей. Откроется диалоговое окно с настройками генерации.

Шаг 3: Настройте параметры

В новом окне вы увидите предварительный просмотр. Здесь можно настроить:

  • Глубина — влияет на интенсивность рельефа. Начните со значения 1–3 пикселя для мелких деталей, увеличивайте до 10 для выраженных структур.
  • Метод сэмплирования — выберите Sobel (по умолчанию) для большинства случаев. Он хорошо работает с контрастными границами.
  • Направление осей — в большинстве движков используется OpenGL-формат (зелёный канал вверх), но если вы работаете в DirectX (например, Unity), активируйте опцию «Перевернуть Y».

Шаг 4: Примените фильтр

Нажмите «ОК», чтобы сгенерировать карту. Photoshop создаст новую текстуру, где цвета будут отражать направления нормалей: красный — по X, зелёный — по Y, синий — по Z.

Шаг 5: Сохраните результат

Сохраните изображение в формате PNG (Файл → Сохранить как → PNG). Избегайте JPEG из-за сжатия, которое может исказить данные.

Полезно знать: После сохранения проверьте карту нормалей в 3D-редакторе (Blender, Unreal Engine, Substance Painter), чтобы убедиться, что рельеф отображается корректно.

Настройки фильтра «Карта нормалей»: как добиться идеального результата

Фильтр «Создать карту нормалей» предлагает несколько технических параметров, которые напрямую влияют на качество конечного результата. Понимание этих настроек позволяет избежать типичных проблем, таких как «зернистость», «плавающие» тени или неверное направление света.

Параметр
Описание
Рекомендации
Глубина (Depth)
Определяет, насколько сильно будет выражен рельеф.
Для кожи — 1–2; для камня — 3–5; для глубоких трещин — 7–10.
Метод (Method)
Алгоритм расчёта нормалей: Sobel, Difference, Gradient.
Sobel — универсальный; Difference — меньше шума; Gradient — мягче, но менее детализирован.
Перевернуть Y (Invert Y)
Меняет направление зелёного канала.
Включите, если используете DirectX (Unity, старые движки).
Масштаб (Scale)
Коэффициент масштабирования относительно размера текстуры.
Обычно оставляют 1.0, если нет необходимости в адаптации под конкретную модель.

Как выбрать правильный метод?

  • Sobel — наиболее популярный выбор. Хорошо выделяет края и работает с высококонтрастными текстурами.
  • Difference — даёт более плавные переходы, но может терять мелкие детали.
  • Gradient — подходит для органических форм, таких как кожа или ткань, но чувствителен к шуму.
«Если вы видите артефакты в виде «сетки» или «ступенек» — попробуйте уменьшить глубину и переключиться на метод Difference. Часто это решает проблему.» — Екатерина Лебедева, технический художник, студия «PixelForge»

Распространённые ошибки и как их избежать

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

Ошибка 1: Артефакты по краям текстуры

Появляются ложные тени или яркие линии по границам. Причина — резкий перепад между краем изображения и «пустотой» за ним.

  • Решение: используйте фильтр «Смещение» (Filter → Other → Offset) с включённой опцией «Wrap Around», чтобы сделать текстуру бесшовной.

Ошибка 2: Рельеф «перевёрнут» или светит не туда

Часто возникает, когда ось Y не соответствует системе координат движка.

  • Решение: активируйте опцию «Invert Y» в настройках фильтра или инвертируйте зелёный канал вручную (Channel Mixer).

Ошибка 3: Карта выглядит слишком «плоской»

Недостаток контраста в исходнике приводит к слабому эффекту.

  • Решение: повысьте контраст на карте высот перед генерацией. Используйте кривые (Curves) для усиления градиентов.

Ошибка 4: Шум и зернистость

Фильтр может усиливать шум, особенно при высоких значениях Depth.

  • Решение: примените лёгкое размытие по Гауссу (Gaussian Blur) к карте высот или используйте метод Difference вместо Sobel.
Полезно знать: Перед финальной генерацией сделайте дубликат слоя. Это позволит быстро сравнить результаты разных настроек.

Альтернативные способы создания карты нормалей

Хотя Photoshop — удобный инструмент, он не единственный способ получить карту нормалей. Существуют более мощные решения, особенно для профессионального 3D-производства.

Substance Designer / Painter

Лидеры индустрии. Позволяют создавать карты нормалей из высокополигональных моделей (baking), а также генерировать их процедурно. Преимущества:

  • более точные нормали;
  • поддержка 32-битных текстур;
  • гибкая настройка через узлы (в Designer).

NVIDIA Texture Tools

Бесплатный плагин для Photoshop, расширяющий возможности по работе с текстурами. Поддерживает DDS-формат и улучшенные алгоритмы генерации нормалей.

XNormal

Бесплатная программа для baking’а нормалей из 3D-моделей. Подходит для тех, кто работает с высокополигональными скульптурами в ZBrush.

Online-генераторы

Сервисы вроде NormalMap-Online.com позволяют загрузить изображение и получить карту нормалей без установки ПО. Удобно для быстрых задач, но с ограничениями по качеству и безопасности данных.

Полезно знать: Для игровых проектов рекомендуется использовать Substance Suite — она лучше интегрируется с Unity и Unreal Engine.

Примеры использования карты нормалей в проектах

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

Геймдевелопмент

В играх используются low-poly модели с наложенными normal maps. Например, кирпичная стена может состоять всего из нескольких сотен полигонов, но благодаря карте нормалей выглядеть как настоящая кладка.

Архитектурная визуализация

Текстуры бетона, дерева, штукатурки усиливаются картами нормалей, что делает рендеры более реалистичными без увеличения времени просчёта.

Цифровой скульптинг

Художники в ZBrush экспортируют high-poly модели, а затем «запекают» нормали на low-poly версии для использования в движках.

UI и веб-дизайн

Иногда карты нормалей используются в WebGL-эффектах на сайтах — например, для имитации объёмных кнопок или текстур.

«В одном из наших проектов мы сократили количество полигонов модели персонажа с 120 тыс. до 15 тыс., сохранив при этом весь визуальный объём за счёт качественных карт нормалей.» — Дмитрий Костин, технический директор студии «Nexus Interactive»

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

Мы поговорили с Мариной Петровой, старшим 3D-художником компании «ArtStation Labs», которая более 8 лет работает с текстурированием в AAA-проектах.

«Photoshop — отличный стартовый инструмент, особенно для тех, кто только входит в 3D. Но важно понимать его ограничения. Фильтр «Создать карту нормалей» — это аппроксимация, основанная на анализе яркости. Он не знает, где «дырка», а где «выступ», поэтому может ошибаться.

Для серьёзных работ я всегда рекомендую переходить на baking из 3D-скульптуры. Однако если у вас нет доступа к ZBrush или Maya, комбинация Photoshop + XNormal — достойная альтернатива.

И помните: карта нормалей должна работать в связке с другими картами — roughness, ambient occlusion, height. Только комплексный подход создаёт реалистичный материал.»

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

Можно ли создать карту нормалей из цветного изображения?
Да, но сначала его нужно преобразовать в grayscale. Photoshop использует яркостные значения для определения высот, поэтому цвет не влияет на результат напрямую.
Почему моя карта нормалей выглядит фиолетовой?
Это нормально. Фиолетовые оттенки — результат смешения красного и синего каналов. Главное, чтобы не было чисто чёрных или белых пятен, что говорит об ошибках.
Нужно ли делать карту нормалей на 16-бит?
Желательно. 16-бит даёт больше градаций, что снижает риск появления полос и артефактов при рендеринге.
Подойдёт ли карта из Photoshop для Unreal Engine?
Да, при условии, что вы правильно настроили ось Y. В Unreal используется OpenGL-стандарт, поэтому опцию «Invert Y» следует оставить выключенной.
Можно ли редактировать карту нормалей вручную?
Технически можно, но не рекомендуется. Любое изменение цвета может исказить вектор нормали. Лучше корректировать исходную height map.

Заключение

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

Главное — правильно подготовить исходное изображение, настроить параметры фильтра и проверить результат в целевой среде. Со временем вы сможете комбинировать Photoshop с другими инструментами, достигая киношного качества текстур.
  • Используйте чёткую карту высот как основу для генерации.
  • Настройте глубину и метод сэмплирования в зависимости от типа поверхности.
  • Не забывайте про ось Y — она критична для совместимости с движками.
  • Проверяйте результат в 3D-редакторе, а не только в Photoshop.
  • Для сложных проектов рассмотрите переход на Substance или XNormal.
⚠️ Дисклеймер — нажмите, чтобы развернуть

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

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

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

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

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

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

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

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

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

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

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

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