- Home /
Randomly pick then create prefab
Hey guys a have a small question need help with. I am trying to figure out how to randomly pick and create a prefab. I got the random part working, however I can to figure out how to assign a random number to a prefab
Basically I am trying to randomly pick one of the 5 prefabs and create it.
Thank in advance for your help
enter code here Private var PrefabNum : float =0; var Prefab1 : GameObject; var Prefab2 : GameObject; var Prefab3 : GameObject; var Prefab4 : GameObject; var Prefab5 : GameObject;
Function Start() { var PrefabNum = Random.Range(0, 5); Var prefabArr = new array() prefabArr(1) = Prefab1 prefabArr(2) = Prefab2 prefabArr(3) = Prefab3 prefabArr(4) = Prefab4 prefabArr(5) = Prefab5
var PrefabClone=instantiate(prefabArr(PrefabNum),transform.position,transform rotation) // creat prefab }
Solved
Answer by Jesse Anders · Feb 22, 2011 at 06:53 PM
It seems the most logical solution here would be an array (or similar container), e.g.:
var prefabs : GameObject[];
function Start() { var prefab = prefabs[Random.Range(0, prefabs.length)]; // Instantiate as usual. }
Note: I'm guessing at the UnityScript syntax a bit, but it should be fairly close.
Oh ok, create array and add each prefab to it time to learn arrays.. thank for help
Answer by Simple · Feb 22, 2011 at 06:02 PM
Make a prefab and fill it with some objects you want to choose from. Then
var num = Random.Range(0, k);
Instantiate(obj_array_prefab.GetChild(num).gameObject,transform.position,transform.rotation);
Wouldnt this select an object from a prefab? I am trying to greater one of the pre selected prefabs not the single object from a prefab