unity3d - 统一着色器图 : How to speed up time from Time node?

标签 unity3d shader

我正在尝试使用时间节点的正弦时间输出,但我希望它更快。

如果这是在 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);
            }
        ";
}

最佳答案

将时间作为 x 馈送到 sin(x) 并将时间乘以一个数字以加快速度。

enter image description here

关于unity3d - 统一着色器图 : How to speed up time from Time node?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50830820/

相关文章:

ios - iOS崩溃GameObject::IsActive()const

c# - 如何退出由 URL SCHEME 打开的统一应用程序并返回主应用程序?

c# - Unity3D调用外部dll

opengl-es - 实例化在 webgl 中做什么

opengl - 如何使用索引和顶点缓冲区在 LWJGL 中实现平面着色?

android - OpenGL ES 2.0 中的等 ionic 着色器性能

javascript - 如何在 Three.js 中更新制服?

c++ - .exe 不会编译,但在 visual studio 中运行时会编译

c# - 如何正确地继续将多个脚本添加到游戏对象

c# - Unity3D可视化编程第三方工具背后的机制