Я пытаюсь добавить деревья в свою местность с помощью следующего кода:
// Create Trees
for (int x = 0; x < terrainData.heightmapWidth; x++)
{
for (int z = 0; z < terrainData.heightmapWidth; z++)
{
if (GetBiome(x, z) == "Grasland")
{
int r = UnityEngine.Random.Range(0, 500);
if (r == 0)
{
Terrain terrain = GetComponent<Terrain>();
TreeInstance treeTemp = new TreeInstance();
treeTemp.position = new Vector3(x, 0, z);
treeTemp.prototypeIndex = 0;
treeTemp.widthScale = 1f;
treeTemp.heightScale = 1f;
treeTemp.color = Color.white;
treeTemp.lightmapColor = Color.white;
terrain.AddTreeInstance(treeTemp);
terrain.Flush();
}
}
}
}
функция GetBiome()
работает правильно, я проверил это, поместив деревья как объекты GameObjects, и все заработало нормально.
Чего-то не хватает, о чем я не подумала?
Поскольку не создано ни одного дерева.
Дерево, которое я хочу сгенерировать, настроено в PaintTrees:
