Пример диапазона градиентов в графе шейдеров Unity

#unity3d #shader

#unity-игровой движок #шейдер

Вопрос:

Я пытаюсь собрать простой шейдер с графом шейдеров Unity. Материал должен выглядеть белым, желтым и синим — и статичным. Однако в примере градиента он отображается только желтым цветом. Если я изменю ввод времени на синусоидальный, градиенты смешаются с цветами. Что происходит не так. введите описание изображения здесь

Ответ №1:

Подключите узел «UV» к вводу «time» в пробоотборнике градиентов вместо узла «Time».

Ответ №2:

Первое, что нужно знать, это то, что градиент изменяется от 0 до 1. 0 находится слева (белым цветом), а 1 — справа (желтым цветом). Я предполагаю, что синий цвет находится примерно между 0,25 и 0,3.

С другой стороны, вы используете время, которое имеет постоянно меняющееся значение, намного превышающее 1. Следовательно, он всегда на максимуме, что означает обычный желтый цвет.

Если вы используете SinTime, значение чередуется с синусоидой между 0 и 1, в результате чего цвет перемещается слева направо, а затем справа налево.

Дополнительная информация: на сегодняшний день (2019.1.12) кажется, что в графе шейдеров есть ошибка при использовании градиента в системе, где десятичным разделителем является «,» Сгенерированный шейдер создается с помощью «,» вместо «.» в функциях, путая аргументы.