ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
277
277
EMPFEHLEN
-
22.09.11 15:27 #1
Hallo
Jeder kenn ein EgoShooter oder? Gut
Also ich kann meine Kamera mit der Maus schwenken und auch in die aktuelle richtung gehen.
Aber ich will wenn man Pfeil links oder Rechts drück sich die Kamera auf der X achse bewegt.
Ist ja relativ einfach: CamPos.x += 25* fNumSecs;.
Nur das ich halt auch nur auf der x achse gehen kann, möchte aber das wenn man die links/rechts taste drückt man zur seite geht.Was muss ich dafür rechnen?
DankeFehlermeldung bitte!
Google - Dein Freund und Helfer
-
Hallo,
Du hast ja vermutlich eine Matrix die dir deine Kameraposition beschreibt. Je nach implementierung ist es so das Mutliplikationen mit einer Matrix von rechts um die lokalen Achsen verschiebt, und eine Multiplikation von Links um die globalen Achsen. Was du machen willst ist eine Verschiebung um die X-Achse nach den Rotationen, also entlang der lokalen X-Achse.
-
22.09.11 20:23 #3
Ok
Ich verstehe den Text leider nicht so ganz.
Aber meine berechung für die Kameramatrix:
MatrixCamera ist nur ne Matrix und Vector3, na was wohlCode cpp:1 2 3 4
mCamera = MatrixCamera(g_vCameraPos, g_vCameraPos + Vector3(sinf(g_fCameraAngleX) * cosf(g_fCameraAngleY), g_fCameraAngleY, cosf(g_fCameraAngleX) * cosf(g_fCameraAngleY)));

Die berechung der Blickrichtung muss ich nicht schreiben oder?
DankeFehlermeldung bitte!
Google - Dein Freund und Helfer
-
Poste mal die Blickrichtung !
-
22.09.11 21:42 #5
Willst du jetzt nur gucken weil dus nett packst oder kannst du mir Helfen?
Fehlermeldung bitte!
Google - Dein Freund und Helfer
-
Hallo,
Ich versteh noch nicht ganz wie du aus zwei Vec3 (g_vCameraPos, und dem den du dir da zusammenaddierst) eine Kameramatrix bekommst. Du musst doch irgendwo ein 4x4-Matrix zusammenstellen mit der du dann die Vertices multiplizierst.
Welches System verwendest du? DirectX oder OpenGL?
Welchen Typ hat mCamera? und was passiert in MatrixCamera()?
-
23.09.11 20:59 #7
MatrixCamera():
Ich verwende DirectX 9Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Matrix MatrixCamera( const Vector3& vPos, const Vector3& vLookAt, const Vector3& vUp ) // Vector3( 0.0f, 1.0f, 0.0f ) { Vector3 vZAxis( Vector3Normalize( vLookAt - vPos ) ); Vector3 vXAxis( Vector3Normalize( Vector3Cross( vUp, vZAxis ) ) ); Vector3 vYAxis( Vector3Normalize( Vector3Cross( vZAxis, vXAxis ) ) ); return MatrixTranslation( -vPos ) * Matrix( vXAxis.x, vYAxis.x, vZAxis.x, 0.0f, vXAxis.y, vYAxis.y, vZAxis.y, 0.0f, vXAxis.z, vYAxis.z, vZAxis.z, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f ); }
Matrix mCamera; ist das gleiche wie D3DMATRIXFehlermeldung bitte!
Google - Dein Freund und Helfer
-
Ist für DirectX-Matrizen die Multiplikation definiert? Dann erstellst du dir zusätzlich eine Translationsmatrix entlang der x-Achse und rechnest: cameraMatrix = translationsMatrix * cameraMatrix.
-
23.09.11 21:12 #9Nein habe ich überladen.Ist für DirectX-Matrizen die Multiplikation definiert?
Die lösung von dir muss ich aber nicht so ganz verstehen wenn ich dann die neu matrix habe was mache ich dann?
DankeFehlermeldung bitte!
Google - Dein Freund und Helfer
-
Das ist dann deine neue Kameramatrix. Die verwendest du dann in den Shadern.
-
23.09.11 21:32 #11
Ich möchte ja nur das sich die Kamera je nach blickrichtung zur Seite bewegt.
Nichts mit Shadern immoment( obwohl... )
DankeFehlermeldung bitte!
Google - Dein Freund und Helfer
-
Nimm zwei von den Matrix-Vektoren (LookAt - Pos und LookUp), rechne dir den Vektor aus, der normal auf die beiden steht, und du hast einen Vektor, der dir die Richtung nach links bzw. rechts angibt (je nach Reihenfolge).
-
24.09.11 09:53 #13
Ähm bitte sei nicht böse aber ich bin neu in Vector Rechnung deswegen versteh ich das nicht ganz.
Ich werde mal etwas testen und mich dann nochmal melden
DankeFehlermeldung bitte!
Google - Dein Freund und Helfer
Ähnliche Themen
-
Kamera Bewegen
Von SpiderZLS im Forum Cinema 4DAntworten: 4Letzter Beitrag: 27.03.08, 17:10 -
Kann nur noch Kamera bewegen?
Von jccTeq im Forum Cinema 4DAntworten: 2Letzter Beitrag: 14.01.07, 22:02 -
Excel: logarithmische X-Achse und und Skalierung der X-Achse ändern
Von HPB im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 04.08.05, 13:48 -
Spieleprogrammierung
Von warlike im Forum JavaAntworten: 2Letzter Beitrag: 15.06.05, 18:38 -
[Director Shockwave3D] Kamera an Pfad bewegen
Von Martin Schaefer im Forum Flash PlattformAntworten: 3Letzter Beitrag: 30.03.03, 16:40





Zitieren
Login






