写一个unity随机生成城市的代码
时间: 2023-12-01 19:55:49 浏览: 168
以下是一个简单的随机生成城市的代码示例:
```csharp
using UnityEngine;
public class CityGenerator : MonoBehaviour {
public int numOfBuildings = 50; //要生成的建筑数量
public GameObject[] buildings; //建筑预制体数组
public float mapWidth = 20f; //地图宽度
public float mapLength = 20f; //地图长度
public float buildingHeight = 10f; //建筑高度
void Start() {
for (int i = 0; i < numOfBuildings; i++) {
//生成随机位置
float x = Random.Range(-mapWidth / 2, mapWidth / 2);
float z = Random.Range(-mapLength / 2, mapLength / 2);
Vector3 pos = new Vector3(x, 0, z);
//生成随机建筑
int index = Random.Range(0, buildings.Length);
GameObject building = Instantiate(buildings[index], pos, Quaternion.identity);
//设置建筑高度
float scale = Random.Range(0.5f, 1.5f);
building.transform.localScale = new Vector3(scale, scale * buildingHeight, scale);
}
}
}
```
这个代码会在场景中生成指定数量的建筑,每个建筑会随机选择一个预制体,并设置随机的位置和高度。请注意,这只是一个简单的示例,可以根据需要进行修改和扩展。
阅读全文