Unity3d中如何用代码设置shader属性

来源: 2021-3-2 17:21:50      点击:

在Unity中使用代码设置shader属性主要是用到了Material.SetTexture这个方法,具体可以参考如下:

Material.SetTexture设置纹理

举个例子,比如我想用代码动态控制Skybox/Cubemap下的Cubemap,可以这样写:

public Cubemap text32; void Start ()
{
    gameObject.GetComponent<MeshRenderer>().material.SetTexture("_Tex", text32);
}

有些Material没有Color属性.

选取材质球Shader的时候一定要看是否可以在监视面板中修改颜色属性.如果可以修改,基本上都可以用renderer.material.color = 颜色; 修改.

等同于 renderer.material.SetColor("_Color",颜色);

有些不能直接通过面板调试赋值修改的,就没法更改颜色.

有些获取颜色的时候报错说找不到"_Color"定义,但是可以在检视面板中更改材质球颜色