Hallo zusammen,
In der Spline Beschreibung steht, das die Zeit zwischen den Punkten immer gleich ist.
Wenn ich also eine Strecke habe, diese dann durch eine Geschwindigkeit Teile, habe ich den Wert X und erstelle dann soviele SplinePunkte. Und mein Modell rennt dann diese Punkte ab.
Aber, wenn ich jetzt eine größere Entfernung nehme, wird das Modell schneller. Hat jemand schon damit Erfahrungen ?
Wenn Code benötigt wird, reiche ich den gerne noch nach.
AddSplinePoint(), Beschreibung in der Hilfe
- Makke
- Beiträge: 156
- Registriert: 24.08.2011 18:00
- Computerausstattung: AMD Ryzen 7 5700X - AMD Radeon RX 6800 XT - 32 GB DDR4 SDRAM
- Wohnort: Ruhrpott
- Kontaktdaten:
AddSplinePoint(), Beschreibung in der Hilfe
---
Windows 11 (64 bit)
Windows 11 (64 bit)
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: AddSplinePoint(), Beschreibung in der Hilfe
Also ich kapiere gerade gar nicht, was du uns sagen willst. Mir sind zwar keine Begriffe unklar, aber die Beschreibung ist meiner Meinung nach etwas dürftig. Kannst du genauer erklären, was du machen willst? Oder eben deinen Code zeigen plus Beschreibung?
- Chimorin
- Beiträge: 451
- Registriert: 30.01.2013 16:11
- Computerausstattung: MSI GTX 660 OC mit TwinFrozr III
6Gb DDR 3 RAM
AMD Phenom II X4 B55 @ 3,6GHz
Windows 7 Home Premium 64-bit
Re: AddSplinePoint(), Beschreibung in der Hilfe
Du fütterst deinen Weg eben mit so vielen gleichmäßig verteilten(!) Punkten, dass dein Modell die vorgeschriebene Geschwindigkeit hat.
Von Knoten zu Knoten verbringt er immer die gleiche Zeit, d.h., je länger der Weg von Knoten zu Knoten ist, desto höher ist die Geschwindigkeit.
Von Knoten zu Knoten verbringt er immer die gleiche Zeit, d.h., je länger der Weg von Knoten zu Knoten ist, desto höher ist die Geschwindigkeit.
- Makke
- Beiträge: 156
- Registriert: 24.08.2011 18:00
- Computerausstattung: AMD Ryzen 7 5700X - AMD Radeon RX 6800 XT - 32 GB DDR4 SDRAM
- Wohnort: Ruhrpott
- Kontaktdaten:
Re: AddSplinePoint(), Beschreibung in der Hilfe
Hallo Ihr,
sorry für die dürftige Beschreibung, hier nochmal etwas genauer:
In der Beschreibung zum Spline: "Die Zeit, um von einem Punkt zum nächsten zu gehen, ist immer die gleiche, unabhängig von der Entfernung zwischen diesen Punkten."
Ich habe bisher folgendes gemacht (PseudoCode):
Damit hatte ich dann die Spline Punkte, ich bin jetzt davon ausgegangen, das ComputeSpline() von Punkt zu Punkt berechnet wird, also wenn ich von 0 bis 1 hochzähle, das die die Zeit von den einzelnen Punkten dort oben ist, dem ist aber nicht so, ComputeSpline zählt vom ersten Punkt bis zum letzten Punkt von 0 bis 1. Also musste ich die Geschwindigkeit auch noch bei der Schleife berücksichtigen (PseudoCode):
Nach einigem rumprobieren bin ich dann dahinter gekommen, trotzdem Danke für die Tips.
sorry für die dürftige Beschreibung, hier nochmal etwas genauer:
In der Beschreibung zum Spline: "Die Zeit, um von einem Punkt zum nächsten zu gehen, ist immer die gleiche, unabhängig von der Entfernung zwischen diesen Punkten."
Ich habe bisher folgendes gemacht (PseudoCode):
Code: Alles auswählen
maxpoints = distance / speed
stepx = distancex / distance
stepz = distancez / distance
CreateSpline(#Waypoint)
for n = 1 to maxpoints
AddSplinePoint(#Waypoint, stepx * n, 0, stepz * n)
next
AddSplinePoint(#Waypoint, newx, 0, newz) ; als letzten Punkt, der Zielpunkt
Code: Alles auswählen
animstep = 0
While NotAmZiel ;-)
n = speed / distance
animstep +n
ComputeSpline(#Waypont, n)
nextx = SplineX()
nextz = SplineZ()
MoveEntity(#Puppe, nextx, 0, nextz, #PB_Absolute)
Wend
---
Windows 11 (64 bit)
Windows 11 (64 bit)