void CreateCubesBesideWaypoints()
{
const int lightCount = 20;
Vector3[] lightPositions = new Vector3[lightCount];
for (int i = 0; i < waypoints.Length - 1; i++)
{
posToChunkDistances(waypoints[i].transform.position, waypoints[waypoints.Length - 1].transform.position, lightPositions, lightCount);
for (int x = 0; x < lightPositions.Length; x++)
{
lightPrefab.GetComponent<Renderer>().material.color = Color.red;
GameObject cloneLightPrefab = Instantiate(lightPrefab, lightPositions[x], Quaternion.identity);
cloneLightPrefab.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
cloneLightPrefab.tag = "LightPrefab";
//cloneLightPrefab.transform.SetParent(lightPrefab.transform);
}
}
}
So funktioniert es gut. Aber wenn ich die Linie verwende:Warum, wenn ich GameObject klone/dupliziere, wird die Speicherbelegung auf 98% erhöht?
Dann wird die Speicherauslastung zu 98% und ich muss den PC neu starten. Der LightPrefab ist ein Cube GameObject, das ich in dieses Skript ziehe. Und was ich tun möchte, ist, alle neuen cloneLightPrefab gameobjects unter dem lightPrefab als Kinder zu setzen.
Und eine Unter Frage, in der inneren Schleife auf der Linie:
for (int x = 0; x < lightPositions.Length; x++)
Soll ich ändere es:
for (int x = 0; x < lightPositions.Length - 1; x++)
lightPrefab.GetComponent() .material.color = Color.red; Ruf zu vielen Zeiten ... Du kannst es bewegen. –