Cambios de cámara en el móvil
El asunto al que mayor tiempo se empleó en este ejercicio fue el manejo de la cámara en tercera persona. Primero dispuse la extracción de la matriz de transformación (matriz sal) de un objeto 3D en específico (el cual estoy señalando con la variable esrelview en la estructura de datos) para que fuera reutilizada en la próxima iteración. La función lookAt() funciona con coordenadas de mundo (tanto para la cámara como para el target), pero las coordenadas de traslación en sal estaban respecto de la cámara. A fin de obtener las coordenadas de mundo del objeto 3D, fueron separadas las tranformaciones de la cámara (en la matriz mvmini) del resto de las transformaciones para objetos, volviéndolas luego a unir con una multiplicación matricial justo antes del llamado a drawScene(), y de esta forma el vector de traslación extraído de sal con getTranslation() estará conteniendo únicamente coordenadas de mundo.
Al pulsar cada uno de los 3 radiobuttons ubicados en la parte superior, es posible intercambiar entre los distintos tipos de cámara.
Comentarios
Publicar un comentario