Create a random group of asteroids.

What would be a good way to create a random assortment of asteroids in a given bounding area, with no overlaps being allowed? I can’t think of any way besides brute force while loops.

You can use a for loop and the Instantaniate command to create an asteroid field. ive thought of this idea too XD

In our game I recently did this to spawn debris. It shows the bounding box in the editor and is ready to take different types of meshes with a random rotation. Adding different sizes would just be another variable to throw in if you want that.

var junkObjects : GameObject[];  //The different types of objects to spawn
var totalObjects : int = 100;    //The amount of objects to spawn
var size = Vector3(10,10,10);    //The initial size of the spawn area
var useRandomRotation : boolean = true; //Random rotation at spawn

private var pos;

function Start () {

		for(i=0; i<totalObjects; i++) {

			var randomX : int = Random.Range(-size.x/2, size.x/2);
			var randomY : int = Random.Range(-size.y/2, size.y/2);
			var randomZ : int = Random.Range(-size.z/2, size.z/2);

			pos = transform.position+Vector3(randomX, randomY, randomZ);
			var junkObject = Random.Range(0,junkObjects.length);
			if(useRandomRotation==true){
				Instantiate(junkObjects[junkObject], pos, Random.rotation);  
			} else {
				Instantiate(junkObjects[junkObject], pos, Quaternion.identity); 
			}
		}
	 
}

function OnDrawGizmosSelected () {
	Gizmos.color = Color (1,0,0,.5);
	Gizmos.DrawCube (transform.position, Vector3 (size.x,size.y,size.z));
}