- Home /
Spawn Object On Empty Object Location Different Each Time Game Starts
Hello everyone, I'm working on a first person horror game and i found a script some days ago which was just what i was looking for but for some reason i can't find it again. Can you please help me ? Let's say i have 3 empty game objects on my scene, choose a game object from the script (source) and then let the script chose one of the 3 empty game objects randomly to spawn the source object but i want that to change every time i start the game.
var prefab : GameObject;
var spawn1 : GameObject;
var spawn2 : GameObject;
var spawn3 : GameObject;
public GameObject[spawn1, spawn2, spawn3] spawnPoints;
public int randomNum;
function Start ()
randomNum = Random.Range(0,3); // generates random number between 0 and 3.
{
//SpawnerID = Random.Range(1, 3);
if(spawn1){
transform.position = spawnPoints[randomNum].transform.position;
}
if(spawn2){
transform.position = spawnPoints[randomNum].transform.position;
}
if(spawn3){
transform.position = spawnPoints[randomNum].transform.position;
}
}
Answer by hirenkacha · Dec 09, 2013 at 11:38 AM
Assign that 3 empty GameObjects to the spawnPoints array in the inspector.
public GameObject[] spawnPoints;
public int randomNum;
void Start()
{
randomNum = Random.Range(0,3); // generates random number between 0 and 3.
transform.position = spawnPoints[randomNum].transform.position;
}
For JS you can use
public var spawnPoints : GameObject[] ;
public var randomNum : int;
function Start()
{
randomNum = Random.Range(0,3); // generates random number between 0 and 3.
transform.position = spawnPoints[randomNum].transform.position;
}
Answer by Ant0n1 · Dec 09, 2013 at 11:54 AM
I get a lot of errors, here is the script now
var prefab : GameObject;
var spawn1 : GameObject;
var spawn2 : GameObject;
var spawn3 : GameObject;
public GameObject[spawn1, spawn2, spawn3] spawnPoints;
public int randomNum;
function Start ()
randomNum = Random.Range(0,3); // generates random number between 0 and 3.
{
//SpawnerID = Random.Range(1, 3);
if(spawn1){
transform.position = spawnPoints[randomNum].transform.position;
}
if(spawn2){
transform.position = spawnPoints[randomNum].transform.position;
}
if(spawn3){
transform.position = spawnPoints[randomNum].transform.position;
}
}
Always add aditional information in question, not as an answer.
Dont mix javascript and c# together. Either use js or c#. I have given you the script in cs. Just try it...
Well, i have never used C, can you tell me the script or at least the java version.
I have already given answer to this question in both js and c#. Let me know if any problem.
Your answer
![](https://koobas.hobune.stream/wayback/20220613123751im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Randomly Initiate Cubes - Prevent Same Position 0 Answers
Spawning different random objects at the same position? 2 Answers
Spawning Objects at location 3 Answers
Spawn Objects at Different Locations with Tags? 2 Answers
How can i delete an item from an array after being used? (So, it won't be repeated) 2 Answers