
Материалы в Unity отвечают за то, как объект взаимодействует со светом, отображает цвет, текстуры и отражения. Неправильная настройка материала может привести к плоской картинке, пересвеченным поверхностям или отсутствию деталей даже при корректной геометрии модели. Поэтому важно понимать, какие параметры материала влияют на визуальный результат и где именно они настраиваются в редакторе.
Unity использует связку Material + Shader, где шейдер определяет набор доступных свойств, а материал хранит конкретные значения: текстуры, цвета, числовые параметры. Например, стандартный шейдер Standard поддерживает карты Albedo, Normal, Metallic и Smoothness, а URP/Lit работает иначе и требует учета используемого рендер-пайплайна проекта.
Добавление материала – это не просто создание файла в папке Project. Процесс включает выбор подходящего шейдера, загрузку текстур с корректными настройками импорта, назначение материала объекту и проверку результата в сцене при рабочем освещении. Ошибка на любом этапе приводит к несоответствию внешнего вида модели ожиданиям.
В этой инструкции рассматривается практическая последовательность действий: от создания материала до его повторного использования на нескольких объектах. Все шаги ориентированы на работу внутри редактора Unity и подходят для проектов на Built-in Render Pipeline, URP и HDRP с учетом различий в настройках.
Добавление материалов в Unity: пошаговая инструкция
Для создания материала открой окно Project, выбери нужную папку, нажми правой кнопкой мыши и выполни команду Create → Material. Новый материал появится как отдельный asset, который можно переименовать сразу, чтобы избежать путаницы при работе с несколькими поверхностями.
Выдели созданный материал и в окне Inspector задай шейдер. Для стандартного проекта на Built-in Render Pipeline используется Standard, для URP – Universal Render Pipeline/Lit, для HDRP – HDRP/Lit. Неверный выбор шейдера приведет к отсутствию нужных параметров или некорректному освещению.
Добавь текстуры, перетаскивая файлы в соответствующие поля материала: Base Map (Albedo) для цвета, Normal Map для рельефа, Metallic Map или слайдер для металлических поверхностей. Для Normal Map предварительно открой текстуру и установи тип импорта Normal map, затем нажми Apply.
Настрой числовые параметры материала. Регулируй Smoothness для контроля бликов, Metallic для степени отражения, а также цвет Albedo, если используется однотонная поверхность. Проверяй изменения в сцене при активном источнике света, иначе результат будет искажен.
Применение материала к объекту выполняется двумя способами: перетаскиванием материала на модель в окне Scene или назначением через поле Materials в компоненте Mesh Renderer. Для объектов с несколькими подмешами каждый слот материала настраивается отдельно.
Для повторного использования материала на нескольких объектах достаточно назначить один и тот же asset. Все изменения параметров будут сразу применяться ко всем связанным объектам, что удобно при работе с окружением и серийными моделями.
Создание нового материала в окне Project
Открой окно Project и заранее выбери папку, в которой будут храниться материалы сцены или конкретного ассета. Структурированное размещение файлов упрощает навигацию и снижает риск дублирования материалов с одинаковыми настройками.
Нажми правой кнопкой мыши в области списка ассетов и выбери пункт Create → Material. Unity создаст новый файл с расширением .mat, который сразу будет готов к редактированию через Inspector без дополнительных действий.
Сразу задай осмысленное имя материалу. В названии рекомендуется указывать тип поверхности или объект, например Wall_Concrete или Character_Body. Это особенно важно при работе с десятками материалов, когда поиск по названию экономит время.
После создания выдели материал и проверь, что он не используется другими объектами по умолчанию. Новый материал не привязан ни к одной модели, что позволяет безопасно изменять его параметры без влияния на существующие элементы сцены.
При необходимости создай копию материала через Duplicate, если требуется вариант с близкими настройками. Такой подход позволяет сохранить исходные параметры и ускоряет настройку похожих поверхностей.
Выбор подходящего шейдера для материала

Шейдер определяет, какие параметры будут доступны у материала и как поверхность реагирует на свет, тени и окружение. Перед выбором шейдера необходимо учитывать используемый рендер-пайплайн проекта, так как шейдеры разных пайплайнов несовместимы между собой.
В окне Inspector открой выпадающий список Shader. Unity отображает только те шейдеры, которые поддерживаются текущим пайплайном. Если материал отображается розовым цветом, это указывает на неподходящий или отсутствующий шейдер.
Для большинства сцен используются стандартные физически корректные шейдеры. Они поддерживают карты цвета, нормалей, металличности и гладкости, а также корректно работают с глобальным освещением и отражениями.
| Render Pipeline | Рекомендуемый шейдер | Когда использовать |
|---|---|---|
| Built-in | Standard | Классические проекты без SRP |
| URP | Universal Render Pipeline/Lit | Мобильные и оптимизированные сцены |
| HDRP | HDRP/Lit | Фотореалистичная графика и сложное освещение |
Для простых объектов интерфейса, не реагирующих на свет, выбирай шейдеры из категории Unlit. Они игнорируют источники освещения и подходят для иконок, маркеров и вспомогательных элементов сцены.
При работе с импортированными моделями проверяй, какой шейдер назначен автоматически. Unity может выбрать упрощенный вариант, который не использует нормали или отражения, поэтому ручная замена шейдера часто требуется для получения корректного внешнего вида.
Добавление текстур Albedo, Normal и Metallic
Перед назначением текстур убедись, что они корректно импортированы в проект. Выдели файл текстуры в окне Project и проверь параметры импорта в Inspector, так как неверный тип приведет к искаженному отображению материала.
Текстура Albedo отвечает за базовый цвет поверхности и не должна содержать запеченные тени или блики. Для ее добавления перетащи изображение в поле Base Map или Albedo выбранного материала.
- Texture Type: Default
- sRGB (Color Texture): включен
- Alpha Source используется только при необходимости прозрачности
Normal Map добавляет визуальный рельеф без увеличения геометрии. После импорта обязательно задай тип Normal map и примени изменения, иначе шейдер будет интерпретировать текстуру как обычное изображение.
- Выдели текстуру нормалей
- Установи Texture Type: Normal map
- Нажми Apply
- Перетащи текстуру в слот Normal Map
Metallic определяет, какие участки поверхности ведут себя как металл. Текстура может быть отдельной или объединенной с каналами Smoothness в альфа-канале, в зависимости от используемого шейдера.
- Белые области – полностью металлические
- Черные области – диэлектрические поверхности
- Серые значения – смешанное поведение
После добавления всех карт отрегулируй интенсивность Normal Map и уровень Metallic слайдером, если шейдер это поддерживает. Проверяй результат при разных углах освещения, чтобы выявить артефакты и несоответствия текстур.
Настройка цвета, гладкости и отражений материала
Параметр цвета задается через поле Base Color или Albedo и влияет на итоговый оттенок поверхности даже при использовании текстуры. Множитель цвета применяется поверх изображения, поэтому изменение яркости или тона может скорректировать текстуру без повторного экспорта из графического редактора.
Гладкость поверхности управляется параметром Smoothness и определяет размер и четкость световых бликов. Высокие значения подходят для лакированных, стеклянных и полированных объектов, низкие – для бетона, дерева и ткани. При использовании карты Metallic значение Smoothness часто берется из альфа-канала текстуры.
Отражения в материале зависят от сочетания Metallic и Smoothness, а также от настроек освещения сцены. Для корректного результата необходимо наличие Reflection Probe, иначе отражения будут статичными или отсутствовать вовсе, даже при высоких значениях параметров.
При настройке отражений проверяй материал под разными источниками света и углами обзора. Это позволяет выявить пересветы, чрезмерный блеск или потерю деталей на границах освещенных участков.
Если материал используется на нескольких объектах, изменения параметров цвета и отражений применяются ко всем связанным экземплярам. Для индивидуальной корректировки создай отдельный материал или его копию, чтобы избежать нежелательных изменений в других частях сцены.
Вопрос-ответ:
Почему материал в Unity отображается розовым цветом после назначения?
Розовый цвет указывает на проблему с шейдером. Чаще всего выбран шейдер, который не поддерживается текущим Render Pipeline проекта. Например, шейдер Standard не работает в URP без конвертации. Проверь настройки Graphics и замени шейдер на совместимый, например Universal Render Pipeline/Lit.
Можно ли использовать один материал для разных объектов с разными текстурами?
Один материал хранит только один набор параметров и текстур. Если назначить его нескольким объектам, они будут выглядеть одинаково. Для разных текстур нужно создавать отдельные материалы или использовать GPU Instancing с шейдерами, поддерживающими параметры через Material Property Block.
Почему Normal Map выглядит плоско и не дает рельефа?
Чаще всего причина в неверных настройках импорта. Текстура должна иметь Texture Type, установленный в Normal map, и примененные изменения. Также проверь интенсивность нормалей в материале и корректность освещения сцены, так как без источников света рельеф не будет заметен.
Как правильно работать с Metallic и Smoothness без текстур?
Если карты отсутствуют, параметры настраиваются слайдерами в материале. Metallic определяет, какая часть поверхности ведет себя как металл, а Smoothness — насколько резкими будут блики. Такой подход подходит для простых объектов, прототипов и однотонных поверхностей.
Почему изменения материала сразу применяются ко всем объектам на сцене?
Это происходит потому, что все объекты используют один и тот же asset материала. Unity не создает копию автоматически. Если требуется разный внешний вид, создай дубликат материала и назначь его нужному объекту через Mesh Renderer.
Почему после добавления текстуры материал выглядит темнее, чем исходное изображение?
Чаще всего причина связана с освещением сцены и цветовым пространством проекта. В режиме Linear материалы воспринимают свет иначе, чем в Gamma, из-за чего изображение кажется темнее. Также проверь значение Base Color: если цвет не белый, он умножается на текстуру и снижает яркость.
Как проверить материал без влияния освещения сцены?
Для изоляции влияния света временно назначь материалу шейдер из категории Unlit или включи режим Scene Lighting через иконку лампы в окне Scene. Это позволяет увидеть исходные цвета и текстуры без расчетов освещения и отражений.
