Wie kann ich in Unity per Script handgemachte Räume hintereinander platzieren per Zufallsgenerator?

...komplette Frage anzeigen

1 Antwort

Das kommt darauf an, was du mit "handgemachten Räumen" meinst. Werden sie zufällig generiert oder sind es fertige Räume, also einfach Prefabs ?

In beiden Fällen könntest du ein sogenanntes Grid ( Raster) erstellen. Wenn deine Räume alle die gleiche Länge und Breite haben, kannst du damit die Räume einfach nacheinander erstellen und in diesem Grid einordnen. Das kannst du dir wie einen Setzkasten vorstellen, der aus X Breitenänge und Y Seitenlänge besteht. An der Position (A,B) mit A <= X und B <= Y würdest du dann einen Raum spawnen. Einziger Haken wäre, dass du aufpassen müsstest, wie deine Raume konstruiert sind, sie müssten seamless, also nahtlos sein. Hier siehst du im ersten Post ein Beispiel: https://forum.unity3d.com/threads/dungen-procedural-dungeon-generation.232839/ Wenn die Räume unterschiedlich groß sind, kann das etwas kniffliger werden, aber machbar.

Vereinfacht: Du dockst einen Raum an einen anderen Raum an. Ein Grid kann da sehr, sehr helfen, wenn deine Räume gleich groß sind, falls aber nicht, musst du aufpassen, dass deine Räume nicht ineinander gespawnt werden.

Falls du die Räume zufällig erstellen/generieren willst, https://forum.unity3d.com/threads/best-unity-procedural-generation-tutorials.294890/ ist zwar etwas älter, aber trotzdem ein großartiger Thread zu dem Thema. Besonders http://www.futuredatalab.com/proceduraldungeon/ würde ich empfehlen. Da steht sehr viel zu der Theorie drin, die man eigentlich recht leicht in Code umwandeln kann, mit Schritt für Schritt Anleitung.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von HeftchenHeld
07.03.2017, 19:22

Vielen Dank :D

0

Was möchtest Du wissen?