Camera Rotation?!

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Mr.Hahn
Beiträge: 62
Registriert: 09.09.2005 18:24

Camera Rotation?!

Beitrag von Mr.Hahn »

Hi,
Ich hab angefangen in PB zu programmieren, kann auch schon ganz gut damit umgehen. Jetzt habe ich aber das Prob, dass ich einen kleinen shooter basteln will (mit der OGRE Engine). Leider weiss ich nicht wie ich mir die Blickrichtung der Kamera ausgeben lassen kann, um einen schuss in dann ebendiese richtung fliegen lassen zu können
Kann mir jemand helfen?

PS.: An die Programmier-Cracks :freak: : Hat schon jemand einen 3D shooter gebastelt in PB und Ogre? wenn ja, wär es cool wenn er mir den sourcecode zukommen lassen könnte!
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

da gibt es keinen befehl für. am besten kümmerst du dich um die ausrichtung der camera selbst, mit lookat.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Ich glaube er braucht ein par mehr Tips. :roll:
Ich wollte es auch mal wissen, aber mir wurde nur mitgeteilt was nicht geht. /:->
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

für die blickrichtung nimmst du einfach einen vektor, am besten einen einheitsvektor der länge 1 (muß aber nicht sein, ist nur für andere sachen nacher praktisch). den vektor rotierst du selbst um seinen ursprung in die richtung in die der blick gehen soll.
bei jedem frame holst du dir dann die camera position und addierst ihre x,y,z komponenten auf die komponenten deines blickrichtungsvektors (natürlich nicht so, dass der blickrichtungsvektor verändert wird, also evtl eine kopie verwenden). dann hast du den punkt auf den du mit lookat() die kamera richten kannst. wenn du einen schuß abschicken willst, dann schickst du den einfach in richtung blickrichtungsvektor, den du dann ja schon hast.

vieleicht gibt es eine bessere möglichkeit, aber ich bin noch nicht so fit mit 3d.

wenn dir dass alles nichts sagt, nimm dir ein gutes mathe buch und lerne erstmal den umgang mit vektoren.
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

auf purearea(?) gibts in der showcase(?) so ein UFO ballerspiel.
das knanst du dir mal saugen, wenn du willst.
super beispiel, und zu dem noch opensource :allright:
-.-"
osta
Beiträge: 87
Registriert: 08.09.2004 11:48
Wohnort: Morsbach (Am Arsch der Welt)
Kontaktdaten:

Beitrag von osta »

Suchfunktion!!! Hab das irgendwann mal gepostet. Weiss die Formel nicht mehr ganz genau, aber ca so:

Code: Alles auswählen

xrot.f ; Ein Winkel für die X-Achsen Rotation
zrot.f ; " für die Z-Achse

; Dann mit der Mausabfrage die Winkel immer aktualisieren

zrot + mousedeltax()
xrot + mousedeltay()

; nicht vergessen, dass der Z-Winkel nicht größer 360° und nicht kleiner als 0° wird
;und der X-Winkel nicht größer als 180° und nicht kleiner als 0° wird.

;Dann die Kamera ausrichten:

CameraLookAt(0, CameraX(0)+10*GSin(........; <= Die Formel hab ich irgendwann gepostet und grad nicht da.

; Aber nicht vergessen: Die Sin und Cos is PB sind Bogenmaß, 
; also die GSin und GCos besorgen.
Ich hänge zu oft und zu lange vor dem PC! Ich muss dringend was an meinem Lebenswandel verändern!.......
Nur heute geht's grad nicht.
Antworten