Графика › Основы
Материал: шейдер плюс данные
Нужно знать заранее: Шейдер: функция для каждого пикселя, Свойства поверхности: roughness, metallic, AO
Материал — это не картинка и не «покраска», а пара: программа-шейдер и данные, которые в неё подставляют, — числа, цвета, текстуры. Так устроено в любом движке и в Blender. Разберём, зачем код отделяют от данных, как инстансы наследуют настройки, почему смена цвета мгновенная, а одна галочка запускает компиляцию, и как от устройства материалов зависит скорость кадра.
Зачем это
В прошлых двух уроках были шейдер — функция для каждого пикселя — и свойства поверхности, которые эта функция выдаёт. Но в редакторе ты работаешь не с шейдерами, а с материалами: назначаешь материал мешу, крутишь цвет в инстансе, копируешь материал для нового камня. Материал — то место, где шейдер встречается с конкретным ассетом.
Когда понимаешь, как материал устроен, становится ясно, почему в паке один мастер-материал и семьдесят его инстансов, почему галочка «замораживает» редактор, почему «много материалов» тормозит игру и как построить библиотеку материалов, в которой не утонет команда.