Unity Shader Graph: как ускорить время с узла времени? - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь использовать вывод синусоидального времени из узла Time, но я хочу, чтобы он был быстрее.

Если это делается в Unity c #, я бы попробовал что-то вроде этого

totalTime += Time.deltaTime * speed;

value = Mathf.PingPong(totalTime, 1);

но я не могу сделать это в Shader Graph.Как решить эту проблему?

EDIT1: Я также пытаюсь создать пользовательский режим работы узла, но это приведет к ошибке.

static string PingPongFunction(
    [Slot(0, Binding.None)] Vector1 t,
    [Slot(1, Binding.None)] Vector1 length,
    [Slot(2, Binding.None)] out Vector1 Out)
{
    return
        @"
            {
                Out = Mathf.PingPong(t, length);
            }
        ";
}

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Время подачи от x до sin (x) и умножение времени на число, чтобы ускорить его.

enter image description here

0 голосов
/ 13 июня 2018

Я бы сделал это так, чтобы передать ваше время в A на multiply node, а затем вы можете вручную установить B на 2, чтобы идти в два раза быстрее, или добавить новое свойство vector1, чтобы вы могли изменить его синспектор.

Shader Graph Example

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...