- Home /
Instatiated objects should have all the same name.
I have a problem. I instantiate an object (sphere), so I get 3 in all. But the instantiated object got renamed with "(Clone)" at the end.
sphere
sphere(Clone)
sphere(Clone)
But I have a trigger, that reacts to 'sphere'. That trigger should also react to all other instantiated objects. But it doesn't, because of the wrong names 'sphere(Clone)'.
Further, it seems, that every instantiated object is individual. I can make 'sphere(Clone)' react too, but the 2nd sphere(Clone) doesn't react.
Question: How do I change the names of all instantiated objects to 'sphere' ?!?
Or is there a better solution?
Update:
I have my solution. It turned out, that the instantiated objects must have unique names. Otherwise, the trigger reacts on all objects simultaneously.
This script is attached to a 'powerup'-object. When hit, then 2 other objects instantiate.
var ball : GameObject;
function OnTriggerEnter (ball : Collider) {
var location = Vector3(Random.Range(-1, 1), 0.5, 0); var spawn02 = Instantiate (ball, location, Quaternion.identity); var spawn03 = Instantiate (ball, location, Quaternion.identity);
spawn02.name = "O_BALL02"; spawn03.name = "O_BALL03";
Destroy(gameObject.Find("POWERUP01"));
}
Probably not the most elegant solution, but hey, you see a graphic artist trying to understand the logic behind java.script.
Ok, that was fast. I will try your answers. They look promising. Thanks for helping!
Answer by AliAzin · Aug 18, 2010 at 11:40 AM
you can name objects after instancing. like this:
var go = Instantiate(yourObject);
go.name = "yourChoosenName";
You can also follow the name by an increment number.
Your answer
Follow this Question
Related Questions
How to create a clone of an object with a different name 1 Answer
Deleting an instance 2 Answers
Crash when using GameObject.Instantiate 2 Answers
How can I get the x position for the left(and right) of the screen? 2 Answers
How do I make a clone of a prefab appear on the correct layer? [5.2.2f1] 1 Answer