Animación
https://jsfiddle.net/lb18/qpge1aj0/3/
Modificación a partir de ejemplo en demos de WebGL. De su código fueron tomados: 1 de los objetos de "nave espacial" que inicialmente hacía una traslación lineal, y la rutina usada para mover la cámara fue adaptada esta vez para mover el objeto (la cual ya tenía incluido un esquema basado en interpolación lineal). El objeto fue recortado a la mitad para satisfacer el requisito de asimetría en el enunciado del ejercicio.
Para mover el objeto se emplearon los métodos translate() y rotate() incluidos en el Model View, y se hicieron 2 modificaciones en el array movimientos (tomada de camTracks) en donde se introdujeron 1 eje adicional de rotación (para un total de 3) y se cambió el significado de dest que ahora pasa a estar en coordenadas absolutas de mundo, con lo cual se facilitó la labor de codificación de los movimientos. Por último, se tomó una de las posiciones de cámara en camTracks y se modificó para que ésta mantuviera una posición estática.
En cuanto a la trayectoria programada para el objeto, se colocaron 8 puntos en el plano (a modo de octágono), traslaciones verticales sobre el eje Z (tener en cuenta que Z es el "up" en este aplicativo) y algunas rotaciones sobre los ejes Y y Z del objeto.
Modificación a partir de ejemplo en demos de WebGL. De su código fueron tomados: 1 de los objetos de "nave espacial" que inicialmente hacía una traslación lineal, y la rutina usada para mover la cámara fue adaptada esta vez para mover el objeto (la cual ya tenía incluido un esquema basado en interpolación lineal). El objeto fue recortado a la mitad para satisfacer el requisito de asimetría en el enunciado del ejercicio.
Para mover el objeto se emplearon los métodos translate() y rotate() incluidos en el Model View, y se hicieron 2 modificaciones en el array movimientos (tomada de camTracks) en donde se introdujeron 1 eje adicional de rotación (para un total de 3) y se cambió el significado de dest que ahora pasa a estar en coordenadas absolutas de mundo, con lo cual se facilitó la labor de codificación de los movimientos. Por último, se tomó una de las posiciones de cámara en camTracks y se modificó para que ésta mantuviera una posición estática.
En cuanto a la trayectoria programada para el objeto, se colocaron 8 puntos en el plano (a modo de octágono), traslaciones verticales sobre el eje Z (tener en cuenta que Z es el "up" en este aplicativo) y algunas rotaciones sobre los ejes Y y Z del objeto.
Comentarios
Publicar un comentario