Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

21

27.01.2006, 09:39

Wir meinen die selben Achsen nur das du denn Effekt andersrum beschreibst ;). Ich gehe über den Tastendruck der ja nach Rechts bzw. Links geht und frage mich wie ich die gleichzeitige Rollbewegung um die z Achse realisiere.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Xaron

Frischling

Beiträge: 63

Wohnort: Miesbach

Beruf: Softwareentwickler

  • Private Nachricht senden

22

27.01.2006, 09:47

Verstehe. :)

Ich rolle zunächst und die Z-Achse und drehe dann das Schiff noch je nach Rollwinkel um die Y-Achse:

Quellcode

1
2
3
// only activate the yaw rudder if the roll angle is above 5 degrees
if( fabsf( rollAngle ) > 5.0f )
  _currentTorque.Y += -cosf( rollAngle * core::DEGTORAD ) * rollDamping * _maxYawThrust;


Gruß - Xaron

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

23

27.01.2006, 09:50

Und was passiert wenn man schon geneigt ist bzw. auf dem Rücken liegt? Ich versuche es gerade um die Auftriebskraft hinzubekommen 8)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Xaron

Frischling

Beiträge: 63

Wohnort: Miesbach

Beruf: Softwareentwickler

  • Private Nachricht senden

24

27.01.2006, 10:07

Nunja, dafür braucht man halt den aktuellen Rollwinkel. Hier mal der halbwegs komplette Code meiner Steuerung (allerdings ohne die Dämpfung):

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Das hier nur mal als Info:
// _currentMoveAcceleration ist der Bewegungsvektor (gesetzt vom Controller)
// typischerweise hat er folgendes Aussehen (Kraft wirkt in Z-Richtung, also nach vorn):
// core::vector3df( 0.0f, 0.0f, thrust )
//
// _currentTorqueAcceleration beinhaltet dann die Drehbewegungen in den entsprechenden Achsen
// (ebenfalls vom Controller gesetzt)

core::matrix4 rotMatrix;
rotMatrix.setRotationDegrees( _rotation );

// transform the current ship acceleration to the ship's coordinate system
rotMatrix.transformVect( _currentMoveAcceleration );
force.X =  mass * _currentMoveAcceleration.X * timestep;
force.Y =  mass * _currentMoveAcceleration.Y * timestep;
force.Z =  mass * _currentMoveAcceleration.Z * timestep;

// compute the current roll angle
core::vector3df rollVectorX = core::vector3df( 1.0f, 0.0f, 0.0f );
rotMatrix.transformVect( rollVectorX );
core::vector3df rollVectorY = core::vector3df( 0.0f, 1.0f, 0.0f );
rotMatrix.transformVect( rollVectorY );
float rollAngle = atan2f( rollVectorX.Y, rollVectorY.Y ) * core::RADTODEG;

// transform the new torque values to the ship's coordinate system
rotMatrix.transformVect( _currentTorqueAcceleration );

// only activate the yaw rudder if the roll angle is above 5 degrees
if( fabsf( rollAngle ) > 5.0f )
  _currentTorqueAcceleration.Y += -cosf( rollAngle * core::DEGTORAD ) * rollDamping * _maxYawThrust;

// force = mass * acceleration ;-)
torque = _currentTorqueAcceleration * mass * timestep;


So sieht das im wesentlichen aus. Den aktuellen Rollwinkel kann man sicher auch eleganter berechnen, das muss ich mir nochmal überlegen. ;)

Gruß - Xaron

Xaron

Frischling

Beiträge: 63

Wohnort: Miesbach

Beruf: Softwareentwickler

  • Private Nachricht senden

25

01.02.2006, 09:21

@Nox: Hat es eigentlich was geholfen, oder haben wir aneinander vorbeigeredet? ;)

Ich hab mal wieder eine neue Version hochgeladen. Jetzt gibt es auch endlich Sound. :)

Gruß - Xaron

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

26

01.02.2006, 10:29

Habe in letzter Zeit leider nichts geschafft :angel:

P.S: Das mit dem "Horizont" ist immernoch gegenläufig zu SF und irgendwie fehlen da glaube ich ein paar Dateien, weil ich das eine Schiff garnicht gesehen habe, aber das mit dem Sound ist sehr fein :)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Xaron

Frischling

Beiträge: 63

Wohnort: Miesbach

Beruf: Softwareentwickler

  • Private Nachricht senden

27

17.02.2006, 12:09

Hi,

hier mal ein aktueller Screenshot:


(Link)


Außerdem gab es noch einige Probleme, dass auf einigen Rechnern nicht alles sichtbar war. Das sollte jetzt eigentlich behoben sein. ;)

Gruß - Xaron

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

28

17.02.2006, 12:20

Sieht geil aus! Echt! Sowas muss ich irgendwann auch mal machen... ;)

bassdscho

Alter Hase

Beiträge: 1 056

Wohnort: Heuchlingen

Beruf: Student - Technische Informatik

  • Private Nachricht senden

29

17.02.2006, 12:58

die netzgitter ansicht ist geil
Verlierer jammern immer von wegen ihr bestes!
Sieger gehen nach Hause und vögeln die Ballkönigin!

Xaron

Frischling

Beiträge: 63

Wohnort: Miesbach

Beruf: Softwareentwickler

  • Private Nachricht senden

30

17.02.2006, 13:09

Zitat von »"bassdscho"«

die netzgitter ansicht ist geil


Danke euch! :)

Diese Ansicht unten wird quasi das 3D-Radar. Da kommt noch die Gegnerdarstellung dazu, da bin ich noch dran. ;)

Gruß - Xaron

Werbeanzeige