在unity开发的项目中,有时会经常遇到模型需要动态的改变shader,如下是代码:
unlitShader = Shader.Find(“Unlit/Transparent Cutout”);
foreach (Transform child in m_prefabMarker.transform)
{
Debug.Log(child.name);
child.GetComponent().sharedMaterial.shader = unlitShader;
foreach (Material mat in child.GetComponent().sharedMaterials)
{
mat.shader = unlitShader;
}
}