public void generateObjectOnTerrain()
{
generatedObjects = new List<GameObject>();
for (int i = 0; i < objectsToInstantiate; i++)
{
//Generate random x,z,y position on the terrain
float randX = UnityEngine.Random.Range(xTerrainPos, xTerrainPos + terrainWidth);
float randZ = UnityEngine.Random.Range(zTerrainPos, zTerrainPos + terrainLength);
float yVal = Terrain.activeTerrain.SampleHeight(new Vector3(randX, 0, randZ));
//Generate random x,y,z scale on the terrain
randScaleX = Random.Range(3, 70);
randScaleY = Random.Range(70, 170);
randScaleZ = Random.Range(50, 270);
//Apply Offset if needed
yVal = yVal + yOffset;
//Generate the Prefab on the generated position
objInstance = Instantiate(prefab, new Vector3(randX, yVal, randZ), Quaternion.identity);
if (randomScale == true)
objInstance.transform.localScale = new Vector3(randScaleX, randScaleY, randScaleZ);
if (name != "")
objInstance.name = name;
if (tagName != "")
objInstance.tag = tagName;
if (parent)
objInstance.transform.parent = this.transform;
generatedObjects.Add(objInstance);
}
}
Die Ausnahme ist auf der LinieWarum, wenn ich ein neues Tag zum Spielobjekt hinzufüge, bekomme ich eine Ausnahme Tag: B ist nicht definiert?
objInstance.tag = tagName;
tagName ein globaler String-Variable Satz in der Spitze ist auf „“ Ich versuche, einen Tag jeden Gameobject hinzufügen, aber diese B Ausnahme bekommen. Versucht auch objInstance.transform.tag aber die gleiche Ausnahme.
Sind Sie sicher, dass "tagName" ein mögliches Tag in der Tag-Liste des Unity Editors (zur Bearbeitungszeit) ist? – Hellium