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
![](https://koobas.hobune.stream/wayback/20220612052630im_/https://answers.unity.com/themes/thub/images/avi.jpg)
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