AlignToVector - ich kapiers nicht?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Hubsi

Betreff: AlignToVector - ich kapiers nicht?

BeitragDi, Feb 26, 2013 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Tag beisammen.

Ich möchte eine Spielfigur mittels Pathfinding durch eine Map lotsen. Das würde soweit schon funktionieren, wenn sich die Figur korrekt auf die Waypoints ausrichten würde. Die Ausrichtung versuche ich mittels AlignToVector zu bewerkstelligen, doch scheins bin ich zu doof die Funktionsweise zu kapieren Very Happy Der Codeausschnitt zum Problem:

BlitzBasic: [AUSKLAPPEN]
If p\path_find Then ; Wegpunkt gefunden -> anfliegen
debug="Anzufliegen: "+p\xPath+" "+p\zPath+" Position: "+x_own+" "+z_own
If msecs>debug_int+800 Then ; Debug
PositionEntity p\entity_nr,p\xPath,y_own,p\zPath
debug_int=msecs
EndIf
If x_own>Float(p\xPath)-1.0 And x_own<Float(p\xPath)+1.0 And z_own>Float(p\zPath)-1.0 And z_own<Float(p\zPath)+1.0 Then
p\pathLocation=p\pathLocation+1
ReadPath(p.player)
Else
; +++++++++++ Die Problemfunktion ++++++++++++
AlignToVector p\entity_nr,p\xPath,y_own,p\zPath,2
;p\speedz=0.24 ; Debug
EndIf
EndIf

Das meiste des Codes ist jetzt noch Zeug zum debuggen und prüfen ob das Pathfinding überhaupt korrekt arbeitet, ich habs jetzt trotzdem gepostet damit man besser (oder überhaupt?) verstehen kann wie der Kram zusammenhängt. Die Figur soll sich auf einen bestimmten Punkt im Raum (den nächsten Waypoint in X und Z-Koordinate) ausrichten um dann mit MoveEntity bewegt zu werden. Y ist dabei nicht zu beachten, darum habe ich hier auch den Wert angegeben auf dem sich die Figur aktuell ohnehin gerade befindet. Nur dreht sich das Dingens sonstwo hin, nur nicht auf den Waypoint. Kann mir bitte jemand die Augen öffnen? Mr. Green
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Holzchopf

Meisterpacker

BeitragDi, Feb 26, 2013 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
AlignToVector arbeitet soviel ich weiss mit Relativkoordinaten, du müsstest also korrekterweise schreiben BlitzBasic: [AUSKLAPPEN]
AlignToVector p\entity_nr,p\xPath-x_own,0,p\zPath-z_own,2
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Hubsi

BeitragMi, Feb 27, 2013 9:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Tausend Dank erstmal, Fehler 1 behoben Very Happy Ich hab bestimmt hundert mal in die Hilfe gekuckt, aber das "relativ" genausooft überlesen... Vielleicht sollte man beim Beispielcode das so abändern das es klarer rauskommt. Dort wird mit absoluten Koordinaten der beweglichen Kugel gearbeitet, was rechnerisch schon richtig ist weil sich der Zylinder auf den Koordinaten 0 befindet, aber für den verzweifelten Progger ist das irreführend Mr. Green
Jetzt tut sich schon das nächste Problem auf, bzw. leuchtet mir mal wieder was nicht ein. Ich habe diesmal den Teil genommen in dem sich die Figur der KI auf den Spieler ausrichten soll (verhält sich bei den Waypoints 1:1 so, ist aber anhand der Situation besser darzustellen):
BlitzBasic: [AUSKLAPPEN]
AlignToVector p\entity_nr,x_dest-x_own,0,z_dest-z_own,2,0.40

x_ bzw. z_dest sind die Position des Spielers, x_ bzw. z_own der KI. Dabei gibts 2 Probleme. Zum einen steht die Figur immer 90° zu mir verdreht, zum anderen kann ich, wenn ich schnell durch das Model "durchfliege" auf beiden Seiten stehen. Versteht man was ich meine? Es fehlt etwas die Logik an der Sache. Mit Bildern wirds vielleicht klarer was ich sagen möchte:
https://www.blitzforum.de/upload/file.php?id=12279 -> Hier sieht man den Heckrotor. Die Ausrichtung ist zwar erstmal falsch (er sollte mich "anschauen"), aber was mich wirklich frustriert ist das hier:
https://www.blitzforum.de/upload/file.php?id=12278 -> Ich sehe den Heli von der anderen Seite weil er sich anders ausrichtet? Wenn ich drumherumfliege dreht er sich normal mit, darum verstehe ich das Phänomen nicht. Er müsste sich doch eigentlich immer gleich "falsch" ausrichten? Mag mir bitte nochmal jemand helfen? Very Happy

Edit: Hat sich erledigt. Ich hatte das mit den Achsen falsch verstanden. Ich dachte damit sei die Drehachse des Entitys gemeint, es ist aber die "Kuck"-Achse Very Happy So denn, auf zu neuen Bugs Smile
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group