Spezielles Drehverhalten

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Stephan

Betreff: Spezielles Drehverhalten

BeitragDo, Apr 13, 2006 12:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich habe schon wieder ein Problem aber ich glaube diesmal ist es etwas komplizierter.
Wie stelle ich es an, dass sich ein Entity immer relativ zu seiner bisherigen Drehung dreht?

Ich glaube das muss irgendwie mit Sin und Cos gehen.

Bsp:
Ich habe einen Würfel der sich beim Cursortaste-hoch drücken nach oben dreht. Drehe ich den Würfel nun aber um 45° nach links, soll er immer noch mit der Cursortaste-hoch gerade nach oben zu drehen sein.
Er dreht sich aber genau wie vorher wieder nur um Pitch.
Wie beziehe ich die Yaw- und Rolldrehungen die hier von nöten sind richtig mit ein?

P.S. Ich wollte eigentlich einen Beispielcode der schon annähernd funktioniere mit beilegen aber ich habe ihn irgendwie dazu gebracht nun gar nicht mehr zu funktionieren.

Danke im Voraus

MfG
Stephan
 

E. Urbach

ehemals "Basicprogger"

BeitragDo, Apr 13, 2006 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ich bin mir nicht sicher, ob ich dich verstanden habe, aber ich
glaube du brauchst ein Pivot, einen "Drehpunkt" sozusagen.

Code: [AUSKLAPPEN]
drehpunkt = CreatePivot()


Dann musst du das Entity als Child vom Pivot deklarieren

Code: [AUSKLAPPEN]
EntityParent Entity, drehpunkt


und dann später nicht mehr das Entitiy sondern den "Drehpunkt" drehen.

Code: [AUSKLAPPEN]
TurnEntity drehpunkt, pitch#, yaw#, roll#


Hoffe du hast das gemeint.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

Stephan

BeitragSa, Mai 06, 2006 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist nicht ganz das was ich meinte.

Ich habe einen Pivot und möchte das zugehörige Objekt nun mit der Tastatur drehen. Das Objekt soll sich verhalten wie z.B. der Raum beim Tomb Raider Leveleditor. Damit es das macht ist aber soweit ich herausbekommen habe an den jeweils anderen Drehwinkeln eine Berechnung mit Sin und Cos notwendig. Wie ist nun diese Berechnung?

P.S.: Sorry, dass ich so spät antworte aber ich hatte in letzter Zeit den Kopf mit anderen Dingen voll. Confused

MfG
Stephan

tft

BeitragSa, Mai 06, 2006 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ....

Normale objecte im Raum kannst du mit TurnEntity() relativ zur actuellen Drehung verschieben. Wenn du an einen Pivot ein Object hängst. Kannst du damit das Object Relativ zur Pivot Rotation Drehen. Das ganze ist natürlich auch mit Für das Verschieben in xyz richtung so. TurnEntity und MoveEntity sind immer relativ zur alten position. RotateEntity() und PositionEntity sind immer absolut.

Fiel Spass noch
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group