Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 12:01

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Kameraführung Ego
BeitragVerfasst: Di Okt 17, 2006 13:19 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 14, 2006 14:48
Beiträge: 7
hallo

unzwar wollte ich zum reinlernen mal so mit der zeit stück für stück ein kleines autorennspiel erstellen..
und jedenfalls habe ich erstmal einige tests mit 3d-objekten gemacht und kam dann zur "kameraführung"

..also wie kann ich einen bestimmten weg gehen und von diesem dann z.b. auch weiter?

konkret liegt mein problem dabei: wenn ich "meine welt" bewege und dann drehe, dann dreht er ja alles um den nullpunkt wo ich garnicht mehr bin... so wenn ich das aber umdrehe: also erst meine sicht drehe und dann bewege, dann kann ich schonmal, obwohl ich weiter weg vonner null in mich direkt dort drehen.. aaallerdings, wenn ich mich dort nun gedreht habe und dann von dort aus weitergehen will also in meinem fall geradeaus wo ich hinschau-- dann klappt das nicht.. also er geht ja dann eben dadurch seitlich..

also wie bewege ich mich lokal?


mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 17, 2006 13:24 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
du musst einfach rotieren bevor du translate aufrufst.

ich weiss etz gar nicht ob du um die kamera ansicht zu ändern einfach alles drehst und verschiebst usw. Für die Kamera gibt es eine zweite matrix namens GL_PROJECTION, dann gibt es da zb den praktischen befehl wie gluLookat(..); damit kannst du die kamera position bestimmen.

mfg

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 17, 2006 15:46 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Imho gibt es auch eine Kameraklasse im DGLSDK. Die manipuliert, glaube ich, direkt die Projektionsmatrix. Alternativ kannst Du im Wiki mal nach 'Kamera' suchen, da findest Du drei Tuts für.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 17, 2006 16:46 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 14, 2006 14:48
Beiträge: 7
danke schonmal.. also mir geht es eigendlich nur darum, in die richtung laufen zu können, in die man auch sieht (wenn man sich zuvor gedreht hat)

..und ansich macht es doch keinen unterschied ob ich das in projektion oder modelview mache oder?.. also bei meinen tests sah es gleich aus...


edit: so.. hab mal noch ein bild erstellt.. vllt kann sich ja jetzt das jemand besser vorstellen ;) .. also 3. ist praktisch gesucht.. ich will ja von meinem bisherigen standpunkt 2 (was ich so schon geschafft hab) jetzt weiter in sichtrichtung gerade aus.. aber ohne andere tasten zu benutzen.. also ich will bei den pfeiltasten bleiben..


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 17, 2006 18:37 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Also eigentlich musst Du die Translationen/Rotationen nur in umgekehrter Reihenfolge durchführen, als es intuitiv logisch erscheint. In
Deinem Falle translate/rotate/translate anstatt translate/rotate/translate :twisted:

vom Ursprung zu pos 1 wäre ja intuitiv ert translate, dann rotate. OpgenGL verlangt zuerst das rotate. demzufolge muss der zweite translate dann vor dem Rotate erfolgen.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 17, 2006 18:50 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Okt 14, 2006 14:48
Beiträge: 7
(deinen kleinen tippreihenfolgefehler abgesehen)
die frage ist ja .. woher weiß ich wieviel ich translaten muss am anfang?.. also weil es ja praktisch zu einer seitwärtsbewegung wird... muss ich das mathematisch ausrechnen irgendwie?

[und ganz nebenbei.. ich hab schon anders als intuitiv mich bewegt^^ also im echten leben würde ich mich nicht erst drehen und dann seitwärts vor gehen xD]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 17, 2006 22:02 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Rechtschreibfehler darfst Du behalten. Zum weiteren Verständnis empfehle ich Dir dieses Tutorial.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 17, 2006 22:20 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
wie gesagt, du brauchst die zweite matrix (GL_PROJECTION).

ich frage mich was du erreichen willst, du hast ein auto und dann willst du dahingehen mit der kamera oder?

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 18, 2006 08:04 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Ich geb da mal Gaukler Recht, ich glaub nämlich, hier liegt ein Verständnisproblem vor.

Um das Auto an die entsprechende Stelle in der Welt zu setzen bedienst Du Dich am besten mit nem Orts- und nem Richtungsvektor. Wenn Du das Auto nun zeichnen willst, drehst Du die Welt erst in die richtige Richtung und verscheibst sie dann an den Ort, wo das Auto gezeichnet werden soll. Soll sich das Auto nun nach vorne bewegen, addierst Du einfach den Richtungsvektor*Geschwindigkeit*Zeitfaktor mit dem Ortsvektor und hast die neue Position für Dein Auto.

Um nun jetzt das Auge des Betrachters in das Auto hineinzuversetzen, musst Du einfach im primitivsten Fall gluLookAt() nehmen. Mit eye als die Position des Autos, center als Position+Richtung(hier ist die Länge des Vektors nicht maßgeblich) und up als (0,0,1) solltest Du Deine Szene genau vom Mittelpunkt des Autos aus in Fahrtrichtung sehen. Hierbei ist noch zu beachten, dass die Kamera vor dem Zeichnen der Szene gesetzt werden muss.

gluLookAt ist nicht sehr elegant und auch nicht besonders schnell, drum habe ich Dir weiter oben schon empfohlen, Dir mal die Kameraklasse im Wiki anzusehen. Diese ist zumindest als Vorlage für Diene eigene sehr gut geeignet.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]