Ich habe derzeit eine offene gl Renderer eingerichtet, die ein 2d-Quadrat und eine andere 2D-Form zeigt. Mit den Tasten kann der Benutzer das Quadrat links und rechts nach unten bewegen. Dies erfolgt durch Übersetzen des Quadrats basierend auf Werten, die dadurch verändert werden, ob der Benutzer nach links unten drückt, dh, wenn der Benutzer nach rechts drückt, würde dies eine Übersetzung von gl.glTranslatef bedeuten (rightdisplacement, 0, 0); usw. Das Uhrwerk funktioniert gut, aber ich kann nicht herausfinden, wie man die Kamera dazu bringt, dem Quadrat zu folgen, während es sich weiterbewegt. Ich möchte das Quadrat bewegen und die Kamera in die gleiche Richtung bewegen lassen.Kamerabewegung. Wie bewege ich die Kamera?
1
A
Antwort
1
Wenn Sie 2D Rendering machen, machen Sie wahrscheinlich einen Anruf an glOrtho irgendwo um Ihr Koordinatensystem zu definieren. Insgesamt Spekulation, aber Ihr Code könnte etwa so aussehen:
glOrtho(0, screenWidth, 0, screenHeight, -1, 1);
Hier können Sie Ihre Kameraposition zu definieren. Erstellen Kameraposition x und y-Position Variablen und stattdessen rufen
glOrtho(camX - screenWidth/2, camX + screenWidth/2, camY - screenHeight/2, camY + screenHeight/2, -1, 1);
Stellen Sie sicher, dass diese für jeden Rahmen als die Kameraposition genannt wird natürlich ändern. Ihr Render-Code könnte etwa so aussehen:
// clear framebuffer
glMatrixMode(GLES10.GL_PROJECTION);
glLoadIdentity();
glOrtho(camX - screenWidth/2, camX + screenWidth/2, camY - screenHeight/2, camY + screenHeight/2, -1, 1);
glMatrixMode(GLES10.GL_MODELVIEW);
glLoadIdentity();
// draw your stuff
Verwandte Themen
- 1. Kamerabewegung
- 2. Squeak - Wie bewege ich einen Kreis?
- 3. Geometry Shader berechneten Linien verschwinden bei Kamerabewegung
- 4. SceneKit Kamerabewegung in VR
- 5. SceneKit glatte Kamerabewegung
- 6. Interpolation der Kamerabewegung entlang eines Kreisbogens
- 7. Wie greife ich auf die Kamera zu?
- 8. Unity3D - Eltern-Objekt folgt, wie ich untergeordnetes Objekt bewege
- 9. WIE BEWEGE ICH DIESEN DIV UP MIT DER FORM BOX
- 10. SDL2: Wie bewege ich ein Bild entlang eines quadratischen Pfades?
- 11. Wie kann ich verhindern, dass sich Text bewegt, wenn ich die Maus nach dem Mausklick bewege?
- 12. Wie mache ich das Bild größer, wenn ich die Maus auf sie bewege?
- 13. Kamera Pose Schätzung: Wie interpretiere ich Rotations-und Translationsmatrizen?
- 14. Warum flackert mein Objekt (Rechteck), wenn ich mein Bild bewege?
- 15. Wie kann ich gleichzeitig übersetzen und skalieren? Oder wie vergrößere und bewege ich ein Element gleichzeitig?
- 16. Perspektivenprojektion - wie projiziere ich Punkte, die hinter "Kamera" stehen?
- 17. Wie dreh ich die Kamera/viewPlatform in Java 3d
- 18. Wie öffne ich die Kamera aus der Tableiste?
- 19. Wie bekomme ich die Orientierung der Kamera in THREE.js
- 20. Wie finde ich heraus, ob die Kamera verwendet wird?
- 21. Wie verschiebe ich die Kamera in Unity Panorama Street View?
- 22. Wie greife ich auf Android-Smartphones auf die Kamera zu?
- 23. Wie zeige ich Text über die Kamera Cordova/Phonegap?
- 24. C# TaskBar Element verschwindet, wenn ich den Mauszeiger darüber bewege
- 25. Warum Tooltip nicht funktioniert, wenn ich den Mauszeiger darüber bewege?
- 26. wpf 3d kann ich die shpe sehen, wenn die Kamera vorne ist aber, wenn die Kamera ich kippe
- 27. Wie kann ich Kivy (Python) Kamera verwenden
- 28. Pause ..... Option wie die Standard-Kamera-App?
- 29. Bewege JScrollPane scrolle nach rechts SWING
- 30. Wie ändere ich, welcher Teil des Bildes angezeigt wird, wenn ich den Mauszeiger darüber bewege?