Ich erstelle in meiner Freizeit ein Penny Pusher-Spiel (wie die Spielautomaten, die Sie in Spielhallen finden) in Unity, und das bedeutet natürlich, dass ich das Regal mit Münzen füllen muss, damit die erzeugten Münzen des Spielers tatsächlich funktionieren.
Mein Problem ist, dass ich nicht herausgefunden habe, wie ich so viele Münzen auf elegante Weise spawnen kann, was das Spiel nicht verlangsamt, wenn so viele Objekte auf einmal spawnen, oder zu einem Haufen Münzen führt, anstatt die ordentliche Verteilung, die ich brauche. Ich habe sogar versucht, die Simulation mehrmals zu beschleunigen und einen Haufen Münzen auf das Schieberegal zu werfen, damit sie sich "beruhigen", bevor die Spielereingabe aktiviert wird. Es hat nicht funktioniert.
Daher frage ich, ob es eine gute Möglichkeit gibt, dies als Teil der Initialisierung des Spiels und jeder Unity- oder C#-Funktion zu tun, die den beabsichtigten Effekt haben würde.
Danke im Voraus.
Lösung des Problems
Wenn ich dein Anliegen richtig verstehe, kommt es wirklich darauf an. Das Problem ist, dass Ihr Spiel verzögert, wenn Sie zu viele physische Interaktionen haben. Selbst wenn Sie sie ohne viele physische Interaktionen gespawnt haben, beginnt sie, sobald Sie eine Münze bewegen, zu verzögern.
Ich würde nach einem alternativen Weg als der Physik suchen, um damit umzugehen. Vielleicht fällt Ihnen eine einfachere Berechnung ein, die Sie selbst durchführen, bei der Sie weniger Interaktionen in jedem Frame haben.
Davon abgesehen wäre eine Möglichkeit, die Münzen zu spawnen, eine zufällige Position in einer festen Höhe (maximale Höhe) zu berechnen und dann herauszufinden, was der niedrigste Punkt ist, auf dem die Münze sitzen kann (damit sie keinen Platz mit einer anderen Münze teilt).. Platzieren Sie es nun dort. Noch besser wäre es zu berechnen, ob es tatsächlich dort platziert werden könnte, ohne sofort herunterzufallen.
Ich denke, der beste Weg wäre, vordefinierte "Coin Towers" (Vorgefertigte davon) zu haben, bei denen Sie etwa 10 Variationen haben und sie dann an verschiedenen Positionen platzieren, aber nicht zulassen, dass irgendwelche "Coin Towers" auf einem anderen spawnen. Dies würde auch beim Spawnen zu weniger physischen Interaktionen führen.
Kann auch hilfreich sein: https://www.youtube.com/watch?v=pTz3LMQpvfA
Keine Kommentare:
Kommentar veröffentlichen