unity, access material

 

          MeshRenderer meshRenderer=gameObject.GetComponent<MeshRenderer>();
                if(meshRenderer!=null){
                    Material material=meshRenderer.material;
                    if(material!=null){
                        do something with material
                    }
                }

参考:

1,http://forum.unity3d.com/threads/is-it-necessary-to-destroy-the-instance-material-manaully-in-unity-3-5.146946/

2,Renderer.material

public Material material;

Description
Returns the first instantiated Material assigned to the renderer.

Modifying material will change the material for this object only.

If the material is used by any other renderers, this will clone the shared material and start using it from now on.

Note:
This function automatically instantiates the materials and makes them unique to this renderer. It is your responsibility to destroy the materials when the game object is being destroyed. Resources.UnloadUnusedAssets also destroys the materials but it is usually only called when loading a new level.

 

 

 

posted on 2015-05-24 01:37  wantnon  阅读(325)  评论(0编辑  收藏  举报

导航