Alles anzeigenGanz so ist es nicht, aber ich verstehe, was du sagen willst.
Der kürzeste Weg zwischen zwei Punkten ist immer die direkte Verbindung. Du setzt zwei Punkte, verbindest sie und dein Charakter braucht z. B. 1 Minute, um den Pfad abzulaufen. Der Pfad ist beispielsweise 10 Meter lang.
Wenn du mehr Punkte in den Pfad einfügst, hat deine Spline nicht automatisch weiterhin eine Länge von 10 Metern. Entscheidend ist, wie diese Punkte miteinander verbunden werden.
Wenn dein Pfad geschwungen ist und beispielsweise vier Punkte enthält, läuft der Charakter diese Punkte auf dem direktesten Weg entlang.
Durch die Kurven kann der Pfad insgesamt länger werden und der Charakter braucht entsprechend mehr Zeit.
Wenn du diese vier Punkte nun weiter interpolierst, bleiben deine vier Basispunkte erhalten, aber der Verlauf zwischen diesen Punkten wird durch zusätzliche Berechnungspunkte bzw. eine glattere Kurve smoother.
Je nachdem, wie die Spline berechnet wird, kann sich dadurch die tatsächlich zurückzulegende Strecke verändern. Umso stärker bzw. feiner die Kurve aufgelöst wird, desto genauer lässt sich ihre tatsächliche Länge bestimmen.
Die Interpolation selbst macht die Spline aber nicht automatisch länger – entscheidend ist der tatsächliche Kurvenverlauf.
Die Frage ist also:
Was willst du erreichen?
Wenn du den Pfad veränderst, ihn länger machst oder zusätzliche Wegpunkte einfügst, kann dein Charakter länger brauchen, um das Ziel zu erreichen.
Wenn er beispielsweise etwas transportiert, wird dadurch auch der Transportweg länger.
Willst du, dass ein Brot nach genau 2 Minuten im Ziel gutgeschrieben wird, kannst du die Geschwindigkeit des Charakters entsprechend anpassen, sodass er nach 2 Minuten am Ziel ist.
Und genau das ist die Frage, wie man es aufbauen will. Das Ergebnis wird jedenfalls jedes Mal anders sein, wenn sich der Pfad verändert.
Darum würde ich, wie gesagt, immer die Spline-Länge berechnen und die Länge der Spline in eine benötigte Zeit umrechnen.
Mehr Interpolation bzw. eine höhere Auflösung der Kurve bedeutet nicht grundsätzlich, dass der Charakter mehr Zeit braucht. Wenn sich dadurch aber der tatsächliche Kurvenverlauf bzw. die zurückzulegende Strecke verändert, wird die Animation entsprechend länger. Dafür ist die Bewegung dann smoother.
Kennt ihr das Spiel Timberborn? Hier gibt es ganz viele Biber, die Dinge von A nach B transportieren. Man kann das Spiel pausieren und alle Biber bleiben stehen.
Man kann einen Weg abreißen und die Biber, die bereits auf diesem Weg unterwegs sind, laufen zunächst trotzdem weiter. Erst die nächsten Biber nehmen einen anderen Weg.
Hier dürfte bei jedem Biber, der spawnt, ein eigener Weg bzw. eine eigene Wegreferenz erstellt werden.
Wenn ein Biber unterwegs stirbt, darf die Ware natürlich niemals am Ziel ankommen.
Man kann z. B. über einen Boolean steuern, ob ein gespawnter Biber lebt oder tot ist. Er trägt beispielsweise 100 Eisen. Wenn er stirbt, werden diese 100 Eisen gelöscht und niemals dem Lager gutgeschrieben.
Wenn du das Spiel pausierst, hältst du die Bewegung auf der Spline einfach an. Jeder Biber bleibt an seiner Position auf der Spline, beispielsweise als Wert von 0 bis 1. Diese Position kannst du speichern und nach dem Fortsetzen wieder verwenden.
Das scheint mir wertvoll aber ich glaub ich meinte einfach nur Spline Kurven und nicht Pfade.
Erinnerst Du Dich noch darn wie ich meinte das ich nie ein Problem beim Umstieg auf ne neue Engine Version hatte? Das war auch so und nur kleine Änderungen haben die Levels wieder kompatibel gemacht. Ich hatte aber nie probiert das Projekt zu verpacken, ich dachte wenns im Editor läuft wirds auch als exe laufen. Dem ist nicht so ^^, genau diese Engine Konvertionen verursachen beim packen massive Fehler. Hätt ich mal besser zugehört.
Mir geht auch Tomarrs Vorschlag echtzeit Lichtquellen für Projektile zu verwenden immer wieder durch den Kopf. Wie kann der auf so ne verrückte Idee kommen, der is doch komplett wahnsinnig.
Gut, wenn ichs von Anfang an richtig aufgebaut hätte wäre vielleicht sogar das möglich.
Naja, soweit hab ich die optimierung von 30fps medium auf 40fps episch einstellungen gebracht. Interessanterweise warn gar nicht die Nanite Landschaften ressourcenfressend sondern use simple as komplex kollisonsmodell bei Hintergrundgrafiken die eigentlich gar keine Kollision brauchen. Niagra hat sich auf meinem alten PC auch als schwierig herausgestellt, möglich das das an meiner PS4 artigen alten Hardware liegt aber allein das löschen von bewegten Niagra Effekten hat im medium grafik setting 20 fps gebracht.