Unity Objekte zufällig auf Terrain spawnen?

2 Antworten

Lass nicht alle Koordinaten zufällig bestimmen, sondern nur die X und Y Koordinate.
Für die Z Position nimmst Du eine Höhe, die über allen anderen Objekten liegt. Dann lässt Du das Objekt dort spawnen und herunterfallen.

Oder Du nimmst einen anderen Ansatz und lässt den Spawn so, wie er jetzt ist und fügst den Kisten zusätzlich einen Trigger hinzu.
Immer wenn die Kiste mit irgendeinem Objekt kollidiert (also der Trigger ausgelöst wird), setzt Du die Kiste um einen bestimmten Wert nach Oben.
Spawnt eine Kiste im Boden, einem Stein oder Berg, wird sie so lange nach Oben gesetzt, bis sie auf dem Grund steht.

Alternativ kannst Du auch irgendwas machen, um die Höhe des Grundes der (vorher zufällig bestimmten) X und Y Position zu bestimmen und setzt die Kiste entsprechend ein Stück darüber.

Woher ich das weiß:Studium / Ausbildung – Informatik Studium.
GraviTeM 
Fragesteller
 09.03.2023, 12:39

Danke, aber das geht leider nicht, da die Kisten einen Collider haben und deswegen nicht durch den Terrain kommen...

0
apophis  09.03.2023, 15:02
@GraviTeM

Die erste Möglichkeit wird dadurch nicht verhindert.
Die Dritte auch nicht.

Und wenn Du die Kiste über Transform oder den Rigidbody direkt versetzt, gibts auch keine Probleme mit dem Collider.

0

Hallo.

Der einfachste Weg dürfte wohl darin liegen, den random Wert für die Z-Achse zu beschränken. 😉 Also abzufragen, ob die X/Y Koordinate auf einem Berg liegt.

Viel Erfolg.

GraviTeM 
Fragesteller
 08.03.2023, 19:14

Ok, und wie frage ich das ab?

0