Сэмпл Custom Code
В этом сэмпле графа материала показано, как создавать и использовать узлы, содержащие пользовательский код шейдера.
Значение RGB альбедо для материала типа Mesh Opaque PBR задается напрямую с помощью узла Float (приведение к float3 выполняется автоматически).
Узел Function имеет два входных порта float (A и B) и два выходных порта float (возвращаемое значение Out и выход C). Они автоматически добавляются в соответствии с сигнатурой функции:
float function_1(in float a, in float b, out float c)
{
c = lerp(a, b, 0.5f);
return a+b;
}
Значения A и B для узла пользовательской функции предоставляются узлами параметров Slider (регулируемыми с помощью панели Parameters в UnigineEditor), подключенными к нему.
Результат линейной интерполяции между значениями A и B подключается к входному порту Roughness узла мастер-материала, а сумма A и B — к Metalness.
Наконец, выходные данные передаются узлу Final.