- Home /
Spawning objects at 3 spawn points randomly one at a time.
Hello. I'm new here and I have this simple practice code. I would like to spawn objects on three different locations of my boxes. One ball will spawn then after around 1 second, another one will spawn in another location. It would be random on the 3 spawn boxes.
here is a piece of my spawner code:
public Rigidbody box;
public bool readynow = true;
float delay = 0.8f;
IEnumerator makeBox()
{
readynow = false;
Instantiate(box, transform.position, transform.rotation);
yield return new WaitForSeconds(delay);
readynow = true;
}
Answer by sethuraj · Jul 14, 2014 at 10:55 AM
You need to generate a random value out of three to determine the random position among three.I think this will help(The code is not tested)
//The rigidbody object
public Rigidbody box;
//Declare the three different locations
public Pos_A;
public Pos_B;
public Pos_C;
private InstantiatePos;
int ID=0;
void Start()
{
InvokeRepeating("InstantiateObject", 1, 1);
}
void InstantiateObject()
{
//Will get a random number between 0-2
ID=Random.Range(0,3);
swtich(ID)
{
case 0:
InstantiatePos=Pos_A;
break;
case 1:
InstantiatePos=Pos_B;
break;
default:
InstantiatePos=Pos_C;
break;
}
Instantiate(box, InstantiatePos, transform.rotation);
}
Your answer
Follow this Question
Related Questions
Enemies spawn on top of each other(C#)(Unity) 1 Answer
After picking up an object, spawn a new one in a random location 1 Answer
Distribute terrain in zones 3 Answers
AI spawning areas. What are the ways to make them? 1 Answer
How do I spawn objects randomly near an object then delete them? 1 Answer