Ich entwickle eine App zur Erstellung von Terrain auf Android mit OpenGL ES, und ich habe Probleme, die Kamera um sich selbst zu drehen (der FPS-Effekt, um es klar zu machen). , was ich tue mit Matrix.setLookAtM
die Ansicht zu bewegen und dann nach der Ansicht Drehen des origin.This übersetzen ist ein Ausschnitt aus dem Code:OpenGL ES Android - Drehen Sie die Kamera um sich selbst
Matrix.setLookAtM(mViewMatrix, 0, xrot, eyeY, yrot, xrot, lookY, yrot,0.0f, 1.0f, 0.0f);
Matrix.translateM(mViewMatrix,0,-xrot,0f,-yrot);
Matrix.rotateM(mViewMatrix, 0, mAngleX+mAngleY, 0.0f, 1.0f,0.0f);
Matrix.translateM(mViewMatrix,0,xrot,0f,yrot);
wo xrot
, yrot
, mAngleX+mAngleY
Eingabe von dem Touchscreen sind . Dieser Code funktioniert nur im Ursprung, aber wenn Sie ihn bewegen, dreht er sich um die y-Achse der Welt und nicht die Kamera. Ich schätze, ich mache es nicht richtig, aber ich habe keinen Weg gefunden, es zu tun, der überall funktioniert.