Unity MeshRenderer material 和 sharedMaterial的区别

来源:互联网 发布:lc二手车信息网源码 编辑:程序博客网 时间:2024/05/29 11:36
// 摘要:
        //     Returns the first instantiated [[Material]] assigned to the renderer.
//返回第一个实例化的Material指定给renderer
        public Material material { get; set; }
// 摘要:
        //     The shared material of this object.
//直接返回这个object的material
        public Material sharedMaterial { get; set; }

假如两个prefab公用同一个material,prefabA和prefabB,如果要获取prefabA中的material,prefabA.GetComponent<MeshRenderer>().material,此时prefabA中的material会被Instantitated在赋给prefabA,即此时prefabA是一个新的material,做任何更改不会影响原来的material,当然也不会影响到prefabB中的material。
但是如果是获取prefabA的sharedMaterial,则返回的是这个material本身,如果做任何修改,则material发生变化,同时,应用该material的其他prefab也会发生变化。
0 0
原创粉丝点击