Exemplo n.º 1
0
    static void ReplaceDiffuse()
    {
        Shader           newShader = Shader.Find("MyMobile/Diffuse");
        List <Transform> list      = new List <Transform>();

        GTTools.FindAllChildren(Selection.activeGameObject.transform, list);
        for (int i = 0; i < list.Count; i++)
        {
            GameObject   go       = list[i].gameObject;
            MeshRenderer renderer = go.GetComponent <MeshRenderer>();
            if (renderer == null)
            {
                continue;
            }
            Material[] materials = renderer.sharedMaterials;
            for (int k = 0; k < materials.Length; k++)
            {
                Material mat = materials[k];
                if (mat.shader.name == "MyMobile/Diffuse_old" || mat.shader == null)
                {
                    mat.shader = newShader;
                }
            }
        }
    }