- Home /
For loop with Vector3.distance does the loop like 20 times per loop
so i have two vectors that are getting compared with Vector3.distance which is coming out right, but when i try to compare it in a for loop like this
for( var i = 0; i<= myDistance; i++){
instantiate(blahblah);
}
it goes completely crazy it instantiates like 20 or so every frame and it wont stop. i think this has to do with distance internally, but i dont know could some one with more knowledge help me out
Could you show us where 'myDistance' is calculated? $$anonymous$$eep in $$anonymous$$d that this loop will execute fully once every frame- so if your object is 20 units away, it will always instantiate 20 things per frame.
Answer by Berenger · Feb 13, 2012 at 04:49 AM
If that loop is in Update and your two objects are at a distance 20, obviously you'll got 20 instanciations every frame. You should do that somewhere else, triggered by some event (clic, collisions, etc).
By the way, when you compare vector, you should use the sqrMagnitude instead of distance, so you can spare yourself 2 sqrt.
it is in update, but it only happens once per action, ie if i instantiate an object it compares that object with the previous one, it then doesn't go back to that until you instantiate the same object again? does this make sense? does it still matter then?
Your answer
Follow this Question
Related Questions
Can't instantiate in loop - crashes unity 1 Answer
Generate randoms planets with a specific script 0 Answers
Im trying to make an Timer within a for loop, cant figure it out. 1 Answer
How to compare and detect overlapping gameObject Prefabs using maths 0 Answers
Creating more objects the closer you get 0 Answers