Unity ShaderGraph/Material 属性问题与 SetFloat

Arn*_*ska 4 shader unity-game-engine

我将以下脚本附加到场景中的立方体:

public class TestShaderGraph : MonoBehaviour 
{
    void Start() 
    {
        Material material = GetComponent<Renderer>().sharedMaterial;
        material.SetFloat("_Min", -.5f);
        material.SetFloat("_Max",  .5f);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是着色器图
这是运行场景时产生的实际结果
这是预期的结果手动更新材质的最小值和最大值时产生

我还在图形设置中附加了轻量级渲染管道资产。
我在这里错过了什么?现在有人为什么不更新材料的值吗?

我还尝试使用以下方法输出值:

material.GetFloat("_Min");
material.GetFloat("_Max");
Run Code Online (Sandbox Code Playgroud)

这实际上分别导致 -0.5 和 0.5,即使它没有显示在材料上。

PSA:在写出这个问题时,我实际上找到了解决方案。
我想不张贴这个,但也许它会帮助将来也遇到这个问题的人。

Arn*_*ska 5

我犯的错误实际上非常简单。着色器图中的属性名称不是对该属性的引用。引用是令人惊讶的标记为“引用”的字段。

编辑:我需要投资一只橡皮鸭