Straffes Seil
Übersicht

![]() |
derAtomkeksehemals "Sethus"Betreff: Straffes Seil |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi @ all,
in meinem Spiel würde ich gerne eine Art Enterhaken einbauen. Man wirft ihn irgendwo hin, dort "hakt" er sich fest, anschließend wird man zu diesem Zielort hingezogen. Die realistische Bewegung durch Beschleunigung des Spielers zum Zielort ist bereits umgesetzt und funktioniert wunderbar. Zur Visualisierung erstelle ich einfach einen schmalen Zylinder, der entsprechend skaliert und ausgerichtet zwischen Spieler und Zielort positioniert wird und wie ein straffes Seil aussieht. Klingt alles super, wo liegt das Problem? Das Problem sind Kanten. Man stelle sich vor, der Spieler wirft den Enterhaken auf ein Hausdach, das übersteht. Er wird nun zum Haus hingezogen, an der Hauswand nach oben - und bleibt unter dem Dachüberhang hängen. Währenddessen kann man auf dem Dachboden das "Seil" beobachten, da es durch die Wände eine direkte Verbindung darstellt. Gibt es eine Möglichkeit, mit möglichst wenig Rechenaufwand das Seil "aufliegen" zu lassen? Es muss ja zum Glück nichts durchhängen o.ä., wie in anderen Posts bereits diskutiert, da das Seil unter Spannung steht. Es geht jedoch nicht nur um das einfache, sondern auch um das mehrfache Abknicken des Seiles in beliebige Richtungen. Noch Beispiel: Der Spieler will sich nur zum Haus hin ziehen, ihm steht nichts im Weg, funktioniert also mit den bisherigen Implementierungen. Dann schlägt plötzlich ein Meteor neben dem Spieler ein (was in diesem Spiel ab und zu vorkommt [und der Spieler überlebt sogar! ![]() Da ja leider keine PolygonToPolygon Kollision von Blitz unterstützt wird, kann ich mir nicht vorstellen, wie man solche Abknick- bzw. Aufliegepunkte ermitteln soll. Die Lösung sollte sehr performant sein, da sie u. U. sehr häufig benötigt werden könnte. Falls das Ganze nicht so funktionieren sollte, würde ich gerne zumindest die Kollisionsprüfung einbauen, damit das "Seil" dann aufgelöst werden kann (ist nämlich eigentlich kein Seil, sondern ein Zauber. ![]() Danke schon mal im Voraus! ![]() |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, ich wüde einfach schauen, ob zwischen spieler und Seilende ein Objekt ist und dann auflösen, den Zauber. Ansonsten fällt mir keine Performante Lösung ein. | ||
between angels and insects |
![]() |
derAtomkeksehemals "Sethus" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achja, einfach per LinePick.
Da kommt mir eine Idee: Einfach bei jedem Schleifendurchlauf per LinePick auf Unterbrechungen überprüfen und dann an dem Punkt das "Seil" teilen. Ab dann jeden Durchlauf prüfen, ob eine direkte Verbindung zum Zielpunkt besteht - wenn ja, Knickpunkt entfernen. Vielen Dank für den Anstoß, ich werd's mal so versuchen. ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group