Мы сделали небольшой прототип уровня и нам он кажется скучным и серым. Поэтому хотим научить тебя работать с материалами и текстурами, чтобы добавить в уровень красок🎨

Материал
По умолчанию все объекты имеют серый цвет. Можно изменить цвет любого объекта с помощью материала.
Используй пункт главного меню Assets → Create → Material или контекстное меню окна Проект, для создания нового материала. После создания, ты можешь применить его к объекту и настроить все его свойства в Инспекторе. Для применения материала к объекту, просто перетащи его из окна Проект на любой объект в Сцене или Иерархии. Чтобы изменить материал у всех объектов одного prefab’а, необходимо изменить материал у сохраненного prefab’а в окне Проект. Попробуем сделать материалы для моста. Нам понадобятся два цвета: коричневый и темно-коричневый (для столбов). Создадим два материала для этого.

Выбери один из них и в Инспекторе измени цвет (в самом верху, рядом со словом Albedo). Повтори тоже самое с другим материалом.

Теперь необходимо заменить материалы в prefab’е моста. Разверни prefab в окне Проект, нажав на стрелочку:

Выбери несколько объектов, которые должны быть одного цвета. А теперь посмотри на окно Инспектор и найди там компонент Mesh Renderer. Именно он отвечает за то, какого наш объект будет цвета и как он будет отражать свет. Найди свойство Material и разверни его нажав на стрелочку. Ты увидишь число, которому соответствует количество материалов необходимых для этой 3D модели (Size) и, собственно, сами материалы. В нашем случае один материал — Default-Material. Его и нужно заменить, нажав на соседний кружочек.

Теперь ты можешь добавить материалы к остальным элементам prefab’а. Обрати внимание, что изменяя prefab в окне Проект, ты меняешь сразу все его копии на Сцене. Это ли не чудо?
Вот, что получилось у нас:

Материалы не только отвечают за свет, как мы уже говорили, но и за другие свойства, например:
- Albed — цвет и текстура.
- Metallic — определяет металлическая (значение 1) ли поверхность или нет (значение 0).
- Smoothness — определяет насколько поверхность глянцевая (значение 1) или шероховатая (значение 0).
Текстура

Использование текстур позволяет воспроизвести малые объекты поверхности, создание которых полигонами оказалось бы чрезмерно ресурсоемким. Например: шрамы на коже, складки на одежде, мелкие камни и предметы на поверхности стен и почвы.
Unity поддерживает все самые популярные форматы изображений: jpeg, png, tiff, tga, psd. Текстура должна быть квадратной и иметь следующие размеры: 32х32, 64х64, 128х128, 256х256, 512х512, 1024х1024, 2048х2048, 4096х4096, 8192х8192. Если не следовать этим правилам — Unity попытается сам преобразовать изображение в нужный размер.
Текстура — это параметр материала. А материал может содержать в себе несколько текстур. Например, одна текстура отвечает за отображение цвета, вторая — за рельеф поверхности.
Импорт текстуры
- Создай папку в окне Проект, где будут храниться все текстуры. Предлагаем назвать папку Texture.
- Нажми на эту папку правой кнопкой мыши и выбери «Import New Asset…». Выбери картинку.
- Выбери нужный материал. В окне Инспектор нажми кружочек рядом с параметром Albedo и выбери текстуру.

Для простых объектов (куб, сфера, плоскость) можно изменить количество повторений текстуры на объекте. По умолчанию, текстура не повторяется. Выбери материал, в окне Инспектор параметр Tiling отвечает за повторение текстуры по осям x, y.

Normal Map

Есть простой сервис, где из картинки можно настроить и скачать себе Normal map.
Импорт Normal map
- Создай папку в окне Проект, где будут храниться все текстуры. Предлагаем назвать папку Normal map.
- Нажми на эту папку правой кнопкой мыши и выбери «Import New Asset…». Выбери картинку.
- Выдели в окне проекта, добавленную картинку. В свойстве Texture Type выбери Normal Map.
- Чтобы добавить материалу неровность, выбери его, в окне Инспектор нажми кружочек рядом с параметром Normal map и выбери нужную.
