【发布时间】:2015-08-14 08:19:28
【问题描述】:
我在 Unity 中的游戏对象上有一个着色器,我们称之为 FooShader。在FooShader中有一个叫_fooVal的公共属性我要实时更新。
我在同一个游戏对象上创建了一个空白 C# 脚本。
我的第一个问题是如何引用这个FooShader 着色器?然后一旦我有一个正确的参考改变它的_fooVal 属性?
我尝试使用以下方法获取对着色器的引用,但它不起作用。
gameObject.material._fooVal
【问题讨论】:
-
Unity 包含 ShaderUtil 以遍历着色器参数(请参阅 docs.unity3d.com/ScriptReference/ShaderUtil.html 上的 Unity 文档)。通过了解参数,您可以使用 SetFloat、SetColor 等进行设置。