// populate the environment private void PopulateEnvironment(List <Vector2> pathPoints) { proceduralGenerator.FindPlaneSize(pathPoints); proceduralGenerator.GeneratePlane(); // instantiate the environment objects // params: numObjects instPrefab minD maxD perlinScale perlinClump Transform container = new GameObject("Environment Container").transform; proceduralGenerator.RandomInstantiation(container, "Rocks", 100, rockPrefab, 0.15f, 0.4f, 0.0f, 0.0f); proceduralGenerator.RandomInstantiation(container, "Round Trees", 20, roundTreePrefab, 0.3f, 0.5f, 0.0f, 0.0f); proceduralGenerator.RandomInstantiation(container, "Pine Fall Trees", 50, pineFallPrefab, 0.3f, 0.6f, 0.0f, 0.0f); proceduralGenerator.RandomInstantiation(container, "Pine Trees", 350, pineTreePrefab, 0.45f, 0.9f, 3.0f, 0.55f); proceduralGenerator.RandomInstantiation(container, "Mountain A", 5, mtnAPrefab, 0.9f, 1.0f, 0.0f, 0.0f); proceduralGenerator.RandomInstantiation(container, "Mountain B", 5, mtnBPrefab, 0.9f, 1.0f, 0.0f, 0.0f); proceduralGenerator.RandomInstantiation(container, "Mountain C", 5, mtnCPrefab, 1.1f, 1.3f, 0.0f, 0.0f); proceduralGenerator.RandomInstantiation(container, "Mountain D", 2, mtnDPrefab, 1.2f, 1.4f, 0.0f, 0.0f); proceduralGenerator.RandomInstantiation(container, "Clouds", 20, cloudPrefab, 0.1f, 1.5f, 0.8f, 0.7f); GameObject balloon = Instantiate(balloonPrefab, new Vector3(0.0f, pathPoints [0].y + 1.0f, 0.0f), Quaternion.identity); balloon.GetComponent <MoveBalloon> ().SetOffsetAndRange(proceduralGenerator.planeCenter, proceduralGenerator.range); PlaceMooseInteraction(pathPoints); PlaceGroundhogInteraction(pathPoints); }