Материалы и текстуры

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

Прототип
Прототип. Присылай администратору сайта скриншоты своих прототипов и мы опубликуем лучшие в сообществе Юниум.

Материал

По умолчанию все объекты имеют серый цвет. Можно изменить цвет любого объекта с помощью материала.

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

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

Новые материалы
Новые материалы

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

Свойства материала в Инспекторе
Свойства материала в Инспекторе

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

Так можно развернуть prefab
Так можно развернуть prefab

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

Замена материала
Замена материала

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

Вот, что получилось у нас:

Прототип в цвете
Прототип в цвете

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

  1. Albed — цвет и текстура.
  2. Metallic — определяет металлическая (значение 1) ли поверхность или нет (значение 0).
  3. 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 попытается сам преобразовать изображение в нужный размер.

Текстура — это параметр материала. А материал может содержать в себе несколько текстур. Например, одна текстура отвечает за отображение цвета, вторая — за рельеф поверхности.

Импорт текстуры

  1. Создай папку в окне Проект, где будут храниться все текстуры. Предлагаем назвать папку Texture.
  2. Нажми на эту папку правой кнопкой мыши и выбери «Import New Asset…». Выбери картинку.
  3. Выбери нужный материал. В окне Инспектор нажми кружочек рядом с параметром Albedo и выбери текстуру.
Мост с текстурой
Мост с текстурой

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

Изменение Tiling по оси Y
Изменение Tiling по оси Y

Normal Map

Normal map
Normal map
Normal map — это техника симуляции неровностей на плоской поверхности без больших вычислительных затрат и изменения геометрии.

Есть простой сервис, где из картинки можно настроить и скачать себе Normal map.

Импорт Normal map

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