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

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

11

18.01.2007, 11:31

Es gibt in den meisten kommerziellen FluSis zig Kameramodi - padlock oder nicht, extern/intern (aka 3rd person / 1st person view), panning versus snap, Verfolgersicht, Towersicht, Flybyview etc etc .

Ich VERMUTE mal Du willst folgendes?:
Man kann mi der Maus die Kamera während des Fluges bewegen. Die Kaera ist ausserhalb des Flugzeugs, schaut immer auf das Flugzeug und bewegt sich auf einer Kugel um es herum. Wenn man z.B. mit der Kamera hinter dem Flugzeug ist, die Maus nicht bewegt und das Flugzeug plötzlich steigt, sieht man das Flugzeug weiter von hinten (und die Landschaft verschwindet).

Je nach View bietet es sich an, in Weltkkordinaten (z.B. Towerview, manche Flybyviews) oder im Flugzeug Koordinatensystem (z.B. der oben beschriebene View, manche FlyBy views, interner view) zu rechnen. Wenn Du im Flugzeug Koordinatensystem rechnest musst Du danach ins Weltkoordinatensystem umrechnen.

Ich bin mir nach Deiner Beschreibung nicht 100% sicher dass "Gimbal Lock" Dein Problem ist, aber wenn ja, kannst Du damit (beachte die Schreibweise) in Google einiges finden. Hier noch eine allgemeine Seite:

http://www.sjbaker.org/steve/omniv/eulers_are_evil.html

Wie speicherst Du die Flug- und Kamerablick Richtung? Per Euler Winkeln?
"Games are algorithmic entertainment."

12

18.01.2007, 18:48

http://www.gamedev.net/reference/program…/CameraQuat.zip
Hier eine kleine opengl demo das mein Problem veranschaulicht.

Wenn man vom Koordinatenursprung (0,0,0) immer in Richtung des roten Quadrates schaut und den pitch winkel auf 90 oder 270 grad bringt, und dann den yaw winkel ändert, rotiert das rote quadrat um die eigene Achse. Das Kamerabild dreht sich im Kreis und die Blickrichtung ändert sich leider nicht mehr.

Wie läst sich diese verhalten verhindern, so dass sich die Blickrichung immer so ändert, dass wenn ich noch oben oder unten - rechts - links - schauen will sich die Sichtrichung ändert.

13

19.01.2007, 18:01

hat wirklich keiner lust mit mir etwas vektorgeometrie zu machen ?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

14

19.01.2007, 18:14

wenn dir nichts von dem bisher geholfen hat, dann glaub ich in erster linie, dass niemand dein problem so richtig verstanden hat.
kannst du nicht einfach einen screenshot oder ein video oder was auch immer davon posten was du eigentlich meinst?

15

19.01.2007, 18:25

Zitat von »"epsilon2"«

http://www.gamedev.net/reference/program…/CameraQuat.zip
Hier eine kleine opengl demo das mein Problem veranschaulicht.

Wenn man vom Koordinatenursprung (0,0,0) immer in Richtung des roten Quadrates schaut und den pitch winkel auf 90 oder 270 grad bringt, und dann den yaw winkel ändert, rotiert das rote quadrat um die eigene Achse. Das Kamerabild dreht sich im Kreis und die Blickrichtung ändert sich leider nicht mehr.

Wie läst sich diese verhalten verhindern, so dass sich die Blickrichung immer so ändert, dass wenn ich noch oben oder unten - rechts - links - schauen will sich die Sichtrichung ändert.


ich hab versucht es hier möglichst genau zu beschreiben. Wenn du mir sagst was Du nicht genau verstehst, kann ich versuchen es dir genauer zu beschreiben.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

16

19.01.2007, 19:15

ich hab die obige beschreibung durchaus verstanden, nur weis ich leider nicht so ganz wie es denn aussehen sollte.
es ist schwer zu helfen, wenn du zwar ausführlichst beschreibst was passiert, aber nicht was du gerne haben willst ;)

17

19.01.2007, 19:25

Ich möchte das mann wenn man die Maus oder Joystick nach unten bewegt, die Kamer nach oben schwenkt. Wenn man die Maus nach oben bewegt sich der Kamerawinkel in Blickrichtung nach unten bewegt. Das selbe solte auch bei einer Bewegung nach rechts oder links geschehen.

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

18

20.01.2007, 16:43

Bei mir funktioniert es. Ich mache "Cursor up" bis ich Pitch 90 oder 270 habe und dann Cursor rechts (oder links) und es dreht um die Bildschirm y Achse, wie erwartet.
"Games are algorithmic entertainment."

19

20.01.2007, 17:05

nur das sich dann in richtung der roten Blickrichtung in dem moment im kreis dereht und nicht nach nach rechts oder links bewegt in richtung der x achse

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

20

20.01.2007, 21:41

Wie ich schon gesagt habe, Dein Code dreht um die BILDSCHIRM Achsen. Was ich übrigens bei einer Kamerasteuerung auch gut finde.
"Games are algorithmic entertainment."

Werbeanzeige