#unity3d #shader
#unity-игровой движок #шейдер
Вопрос:
Я пытаюсь собрать простой шейдер с графом шейдеров Unity. Материал должен выглядеть белым, желтым и синим — и статичным. Однако в примере градиента он отображается только желтым цветом. Если я изменю ввод времени на синусоидальный, градиенты смешаются с цветами. Что происходит не так.
Ответ №1:
Подключите узел «UV» к вводу «time» в пробоотборнике градиентов вместо узла «Time».
Ответ №2:
Первое, что нужно знать, это то, что градиент изменяется от 0 до 1. 0 находится слева (белым цветом), а 1 — справа (желтым цветом). Я предполагаю, что синий цвет находится примерно между 0,25 и 0,3.
С другой стороны, вы используете время, которое имеет постоянно меняющееся значение, намного превышающее 1. Следовательно, он всегда на максимуме, что означает обычный желтый цвет.
Если вы используете SinTime, значение чередуется с синусоидой между 0 и 1, в результате чего цвет перемещается слева направо, а затем справа налево.
Дополнительная информация: на сегодняшний день (2019.1.12) кажется, что в графе шейдеров есть ошибка при использовании градиента в системе, где десятичным разделителем является «,» Сгенерированный шейдер создается с помощью «,» вместо «.» в функциях, путая аргументы.