Unity3d 如何在脚本中访问unity着色器属性?
我想访问两个属性Unity3d 如何在脚本中访问unity着色器属性?,unity3d,shader,Unity3d,Shader,我想访问两个属性\u Color和\u Color2,并想使用脚本更改值,因为我们可以看到值的格式是(1,1,1),因此如何更改它的基本颜色值 Shader "Custom/SpriteGradient" { Properties { [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {} _Color("LeftColor", Color) = (1,1,1,1)
\u Color
和\u Color2
,并想使用脚本更改值,因为我们可以看到值的格式是(1,1,1)
,因此如何更改它的基本颜色值
Shader "Custom/SpriteGradient"
{
Properties
{
[PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}
_Color("LeftColor", Color) = (1,1,1,1)
_Color2("RightColor", Color) = (1,1,1,1)
_Scale("Scale", Float) = 1
_StencilComp("Stencil Comparison", Float) = 8
_Stencil("Stencil ID", Float) = 0
_StencilOp("Stencil Operation", Float) = 0
_StencilWriteMask("Stencil Write Mask", Float) = 255
_StencilReadMask("Stencil Read Mask", Float) = 255
_ColorMask("Color Mask", Float) = 15
// see for example
// http://answers.unity3d.com/questions/980924/ui-mask-with-shader.html
}
...
}
看
修改了API中的示例
void Start()
{
//从该对象获取渲染器组件
var renderer=GetComponent();
//使用着色器属性名称“_Color”和“_Color2”调用SetColor,并将其颜色设置为红色
cuberender.material.SetColor(“U颜色”,Color.red);
cuberender.material.SetColor(“_Color2”,新颜色(1,0,0,1));
}
名称是指实际的属性名称,而不是显示名称。这是否回答了您的问题?