GetComponent() Returns Skinned Mesh Renderer
I am using GetComponent<Renderer>()
, and it is returning a Skinned Mesh Renderer. Very confusing, don't know what's going on, here's a snippet of my code.
Renderer rend;
void Start(){
rend = GetComponentInChildren<Renderer>();
}
I have also tried getting the Renderer of the object directly ( go.GetComponent<Renderer>()
where go is the child object and is defined and set correctly) and the same smr is returned.
Any help is much appreciated!
EDIT: A little more info, I am using Unity 5.2.2, so gameObject.renderer is depreciated and I am trying to grab a texture from the Material.
Answer by mikeymike · Dec 15, 2015 at 10:57 AM
@Massonator if your trying to get the texture, why not get the material or get the meshRenderer instead then.
MeshRenderer theMesh;
Material theMat;
void Start () {
theMesh = GetComponent<MeshRenderer> ();
theMat = GetComponent<Renderer> ().material;
}
Yes, I have actually tried that. the$$anonymous$$at = GetComponent<Renderer> ().material;
is actually returning null, as it can't find a material as part of the Skinned $$anonymous$$esh Renderer which is being returned from the GetComponent<Renderer>()
.
I did not know that the $$anonymous$$esh Renderer should return a material, though. I guess as it inherits from Renderer I should have known that. I think it will just be a case of my material not being created when it tries to grab the Renderer, as the texture is procedural. Dang.
Thanks.
Your answer

Follow this Question
Related Questions
Get Component Script Error 1 Answer
Gameobject Renderer not working. 1 Answer
accessing materials from skinned mesh renderer 0 Answers
Skinned mesh renderer invisible 0 Answers
Renderer error 0 Answers