22. November 2024

When work doesn’t go as planned

Diese Woche bin ich nicht so vorwärts gekommen wie geplant. Ich wollte eigentlich den ersten Tag für das Wachsen und Schrumpfen des Wurms verwenden, damit ich an den restlichen Tagen an den Levels und am Design arbeiten kann…Doch wer hätte es gedacht, es kam nicht so wie geplant:

Meine Idee war, dass wenn sich ein Ende vom anderen wegbewegt, soll der Körper gedehnt werden und wenn der Spieler wieder zurückläuft, zieht er sich wieder zusammen. Was im Kopf zwar einfach klingt, ist in der Realität gar nicht so einfach. Dabei stiess ich auf einige Probleme:

Das erste Problem sind die Hinges welche ich zum verbinden des Körpers brauche. Diese mögen es nicht, wenn man das GameObject skaliert an welchem es angehängt ist. So habe ich herausgefunden, dass wenn man das GameObject skaliert, die Hinge-Position neu gesetzt werden muss, mit der Originalen Position, wo es auch schon vor der Skalierung war.

Das Zweite Problem ist, wie finde ich heraus ob sich ein Ende gerade vom anderen wegbewegt oder zu ihm hin. Was auf einer Geraden Fläche relativ einfach ist, wird aber schnell kompliziert, sobald sich ein Gegenstand zwischen den beiden Enden befindet, oder der Körper gekrümmt ist und sich um ein Objekt schlängelt.

Drittes Problem: Für meinen Körper benutze ich einfache Capsules von Unity, welche ich jeweils beim grösser oder kleiner werden skalliere. Jedoch verwenden die Capsules einen Capsule Collider, welcher auf dem Sphere Collider basiert. Dieser kann nicht gequetscht werden und ist immer perfekt sphärisch. Hat man also wie in meinem Fall ein Objekt welches beispielsweise 1 hoch ist aber nur 0.5 breit, so ist der Collider immer noch 1 x 1 gross. Dies führte dazu, dass der Körper mit sich selber kollidierte und sich zu versteifen begann.

Nach 3 Tagen hatte ich schliesslich eine Version die wachsten und schrumpfen konnte, doch war das Verhalten relativ willkürlich und unberechenbar. So überlegte ich mir, ob es nicht eine andere Lösung gibt für mein Problem. So kam ich auf die Idee, dass man zwar auf Knopfdruck wachsen oder schrumpfen kann, beide Spieler aber gleichzeitig den gleichen Knopf drücken müssen, um die jeweilige Aktion auszuführen. Dies führ zu mehr Kommunikation unter den Spielern und zwingt sie zusammenzuarbeiten.

Für das Problem mit den Collidern habe ich in Blender ein minimales Mesh erstellt, welches ich mit den Capsules ersetzten kann und per Mesh-Collider für die Collision verwenden kann.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert