Tree GEn Script from class today:

using UnityEngine;

using System.Collections;
public class forestGenerator : MonoBehaviour {
public GameObject[] trees;
// Use this for initialization

void Start () {

Vector3 origin = new Vector3(0.0f, 0.0f, 0.0f);
origin = new Vector3(1.0f, 0.0f, 0.0f);
// gen one tree at origin

//    treeGen(origin, 1);

 
int treeID = Random.Range(0, trees.Length);
treeRowGen (origin, treeID, 10, 1.0f, 10.0f, 4.0f);

}
int treeGen (Vector3 pos, int treeID) {

 

// get random rotation

float randAngle = Random.Range(0, 360.0f);

//instatiate tree at postion

Instantiate (trees[treeID], pos, Quaternion.AngleAxis(randAngle, Vector3.up));
//    Instantiate (trees[treeID], pos, trees[treeID].transform.rotation);
return treeID;

}
void treeRowGen (Vector3 pos, int treeID, int count, float padding, float rowSpacing, float noiseRange) {
int treeNUM;

for (int j = 0; j < count; j++) {
for (int i = 0; i < count; i++) {

 

// pick tree to spawn

//    int treeID = Random.Range(0, trees.Length);
// get extents of the sprite (for spacing)

Renderer rend;

rend = trees[treeID].GetComponent<Renderer>();

float radius = rend.bounds.extents.magnitude;
pos.y = rend.bounds.extents.y;
float noise = Random.Range(0, noiseRange);

pos.x = (i * radius) + noise;

//pos.x += padding;

pos.z =  (rowSpacing * j) + noise;
treeNUM = treeGen(pos, treeID);

}

}

}

// Update is called once per frame

void Update () {

 

}

}