Mir ist irgendwie aufgefallen, dass die Kugel nicht bei jedem Übergang springt, kann das sein?
Ich glaube, das liegt daran, dass es darauf ankommt, wie die Kugel auf den Quader auftrifft. Hier gibt es meiner Meinung nach nur zwei Möglichkeiten:
- Oben (So sollte es ja auch sein)
- An der Seite (Dort sollte die Kugel nicht aufprallen)
Ich glaube, wenn die Kugel oben auftrifft, läuft alles, wie es soll, und es findet kein Sprung statt. Wenn die Kugel vorne auftrifft, findet eigentlich auch kein Sprung, sondern ein Abprallen statt. Dieses Abprallen ist jedoch eine Vorwärtsbewegung, da deine Kugel Schwung hat.
Überprüfe doch einmal Folgendes: Deine Kugel hat eine Geschwindigkeit. Lass dir diese einmal als Print Ausgabe anzeigen. Überprüfe, ob sie während der Sprünge langsamer wird, denn das möchtest du sicherlich auch nicht.
Ich glaube weiterhin, das Problem liegt im Übergang von Cube zu Cube. Deshalb wäre es sinnvoll, zunächst einige Tests durchzuführen, um sicherzustellen, dass das Problem nicht woanders liegt.
1.Erstelle erstmal eine riesige Plane und lege sie direkt auf die Oberseite deiner Cubes. Ich weiß jetzt kann deine Kugel nicht mehr runter fallen. Aber Interessant wäre ob sie so immer noch springt. Falls das Problem noch auftritt, nimm mal die Collider von den Cubes runter.
Wenn deine Kugel auf diesem Collider normal und ohne Sprünge rollt, dann liegt es doch definitiv an den Cube Kolliders
2.jetzt machst du alle Collider von allen Cubes und Ground Objekten auf denen sich die Kugel bewegt runter.
Du erstellt einen kleinen Collider der so groß ist wie deine Cube Oberseite.
Du machst mehre davon aneinander und rollt auf denen einmal lang. Ich möchte wissen ob das Problem auch auftritt wenn sich um eine Plane statt einem Würfel handelt. (Stell dir vor du hättest keine Cubes sondern Planes)
Ich glaube dann tritt das Problem nicht auf weil eine Plane keine Vorderseite hat hat der der Würfel abprallen kann. Eine Plane hat nur eine Oberseite.
3.Wenns immer noch Probleme gibt, prüfe was passiert wenn du zwischen den Überfängen einen Collider plazierst. So quasi wie eine Brücke von Cube zu Cube.
Ich denke bekommst du mehr Kenntnisse darüber wie das Problem entsteht. Versuche auch mal, die Planes etwas höher als die Würfelfläche zu legen. quasi einen mm über dem Würfel.
Je nach Ergebnis hast du nun mehre Möglichkeiten:
1.Du könntest aus all deinen Objekten auf der die Kugel rollt die Oberen Fläche von einem Mesh lösen und daraus ein Collider machen. Du hättest dann nur noch einen Planaren Y Collider.
2.Du baust ein komplexes System:
Deine Kugel bekommt eine Triggerbox die sich mitbewegt und die mindestens eine Cubegröße größer ist als deine Cubes. (Unsichtbar für den Player)
Alle deine Cubes bekommen ebenfalls eine Triggerbox.
Du machst du eine Abfrage: Wenn die Kugeltriggerbox mit einer Cube Triggerbox Kollidiert, spawnst du über dem Cube einen Collider.
Im Grunde: Wenn sich deine Kugel einem Cube nährt, bekommt dieser Cube einen Collider. Somit bauen sich die Collider vor der Kugel auf und verschwinden wieder wenn du über den Cube gerollt bist.
Ich könnte mir auch vorstellen, den Collider etwas größer als den Würfel zu machen. Somit hast beim überrollen von Cube zu Cube wieder die Brücke. Den Collider Killst du dann, wenn die Kugel die Mitte des Würfels erreicht hat.
Somit hast du einen Übergang von Cube zu Cube und deine Kugel fällt runter wenn sie über den Rand rollt.
3. Du könntest auch den umgekehrten Weg gehen: mach dir deinen Riesen Collider der über deine gesamte Fläche geht. Du machst an den Seiten wo die Kugel runterfallen soll eine Triggerbox hin. Berührt die Kugel diese Triggerbox, wird der Collider deaktiviert und die Kugel fällt runter. So definierst du nicht über die Collider wann die Kugel fallen soll, sondern durch Triggerboxen.
Das ist 3 Varianten die mir einfallen.
Ist der Text mal wieder lang geworden sorry