【问题标题】:Unity ShaderGraph/Material Property Issue with SetFloatSetFloat 的 Unity ShaderGraph/Material 属性问题
【发布时间】:2019-05-16 18:11:46
【问题描述】:

我在场景中的立方体上附加了以下脚本:

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

这里是shader graph
这是运行场景时产生的actual result
这是在检查器中手动更新材料的最小值和最大值时产生的intended result

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

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

material.GetFloat("_Min");
material.GetFloat("_Max");

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

PSA:在写出这个问题时,我实际上找到了解决方案。
我考虑过不发布此内容,但也许它会帮助将来遇到此问题的人。

【问题讨论】:

    标签: unity3d shader


    【解决方案1】:

    我犯的错误实际上非常简单。 着色器图中的属性名称不是对属性的引用。出人意料地,引用是标记为“引用”的字段。

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

    【讨论】:

      猜你喜欢
      • 2018-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 2017-05-10
      • 2020-11-07
      • 2019-10-28
      • 2020-01-10
      相关资源
      最近更新 更多