小编Arn*_*ska的帖子

Unity ShaderGraph/Material 属性问题与 SetFloat

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

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

shader unity-game-engine

4
推荐指数
1
解决办法
644
查看次数

标签 统计

shader ×1

unity-game-engine ×1