- Home /
List all objects inside a group
Hi,
I was looking if this question was asked already but i dint found anything that went this way, or at least that i understood it was.
I have my object, that has a mesh renderer, and inside I have lots of more gameobjects, and some of them may be other groups of objects. How can i list all subobjects and subsubobjects and so on?
I wanted to apply this myObj.renderer.material.color = Color(1f,0f,0f); to every object that has a mesh renderer.
Thanks!
Answer by ScroodgeM · Aug 21, 2012 at 09:52 PM
MeshRenderer[] mrs = GetComponentsInChildren<MeshRenderer>(); foreach (MeshRenderer mr in mrs) { mr.material.color = Color.red; }
It gives me an error in that line:
var newColor : Color = Color(OriginalColors[0], GlowingEffect, GlowingEffect);
var mrs : $$anonymous$$eshRenderer[] = GetComponentsInChildren(); <---- here
for(mr in mrs) {
mr.material.color = Color.red;
}
Assets/$$anonymous$$yCustomScripts/GlowingOn$$anonymous$$ouseObject.js(51,75): BCE0164: Cannot infer generic arguments for method 'UnityEngine.Component.GetComponentsInChildren.()'. Provide stronger type information through arguments, or explicitly state the generic arguments.
This is Javascript not C# so I can't even imagine why is he talking about here...
sorry, UnityAnswers eats my type as tag 8) check answer again
GetComponentsInChildren($$anonymous$$eshRenderer)
in JS AFAI$$anonymous$$
Thanks alot! It works! $$anonymous$$y final code stayed like this (I needed to use a cast there, JS is painfull):
var newColor : Color = Color(r, g, b);
var mrs = GetComponentsInChildren($$anonymous$$eshRenderer);
for(mr in mrs) {
(mr as $$anonymous$$eshRenderer).material.color = newColor;
}
Your answer
Follow this Question
Related Questions
How to get an object with exact coordinates? 1 Answer
Destroy All of One One object on collision 1 Answer
All instance of a script and change a variable 1 Answer
Detecting the subobject of a mesh 1 Answer
Fade between group of object 1 Answer