Guía docente de Animación, Realismo y Simulación (M52/56/4/13)

Curso 2023/2024
Fecha de aprobación por la Comisión Académica 26/07/2023

Máster

Máster Universitario en Desarrollo del Software

Módulo

Visualización

Rama

Ingeniería y Arquitectura

Centro Responsable del título

Escuela Internacional de Posgrado

Semestre

Segundo

Créditos

3

Tipo

Optativa

Tipo de enseñanza

Enseñanza Virtual

Profesorado

  • Carlos Ureña Almagro

Horario de Tutorías

Carlos Ureña Almagro

Email
  • Tutorías 1º semestre
    • Lunes 10:30 a 13:30 (Etsiit 3ª P Despacho 34)
    • Miércoles 10:30 a 13:30 (Etsiit 3ª P Despacho 34)
  • Tutorías 2º semestre
    • Lunes 10:30 a 13:30 (Etsiit 3ª P Despacho 34)
    • Miércoles 10:30 a 13:30 (Etsiit 3ª P Despacho 34)

Breve descripción de contenidos (Según memoria de verificación del Máster)

  1. Introducción a la animación 2D y 3D.
  2. Esqueletos y controles de animación. Rigging.
  3. Simulación realista de iluminación en videojuegos.
  4. Visualización basada en Ray-tracing. APIs para Ray-tracing en GPUs.
  5. Colisiones y dinámica del sólido rígido.
  6. Motores de física e integración en videojuegos.
  7. Sistemas de partículas, simulación de fluidos y gases.


---------

  1. Introduction to 2D and 3D animation.
  2. Rigs and animation controls. Rigging.
  3. Realistic light simulation in Videogames.
  4. Ray-tracing based visualization. GPU Ray-tracing APIs. 
  5. Collision and rigid solid dinamics.
  6. Physics engines and their integration in videogames.
  7. Particle systems, fluids and gases.

Prerrequisitos y/o Recomendaciones

Prerequisitos (asignaturas del MDS): 

  • Fundamentos de Informática Gráfica y Visualización
  • Programación del Cauce Gráfico en GPU para Aplicaciones de Escritorio, Web y Móviles.

Recomendaciones: 

  • Conocimientos de programación orientada a objetos.

Competencias

Competencias Básicas

  • CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
  • CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8. Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
  • CB9. Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB10. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

Resultados de aprendizaje (Objetivos)

Conocimientos o contenidos

  • CO3 - Comprende y sabe utilizar los fundamentos y métodos matemáticos necesarios para abordar y resolver aplicaciones gráficas, de animación, de visualización, de simulación, de cuadros de mandos, y/o de realidad virtual y aumentada, entre otras.
  • CO4 - Conoce y comprende los fundamentos, técnicas y herramientas básicas para la programación eficiente de algoritmos, identificando las fuentes de concurrencia en su cálculo que se asignarán a los elementos de procesamiento y almacenamiento en función de tipo de arquitectura seleccionada y, en particular, en arquitecturas de altas prestaciones como las unidades de procesamiento de gráficos (GPU).
  • CO5 - Conoce y comprende los requerimientos, características y particularidades del funcionamiento y diseño de dispositivos de interacción en entornos complejos como los entornos virtuales (realidad virtual, aumentada o mixta), inteligentes, de videojuegos, de simulación, de modelado o cualquier otro entorno digital, así como los paradigmas y las técnicas de interacción propios de estos entornos.
  • CO6 - Conoce las técnicas y paradigmas de interacción propios de sistemas software como son los videojuegos, los sistemas móviles, los sistemas basados en web, los sistemas de computación en la nube, los sistemas de monitorización, los sistemas de automatización o sistemas de escritorio.


Competencias

  • COM1 - Organizar, desarrollar y llevar a cabo a su correcto funcionamiento el proceso de producción y flujos de trabajo implicados en la elaboración del software, integrándose en equipos de desarrollo y de operación, lo que le permite abordar e incluso liderar proyectos software en campos muy especializados y tecnificados.
  • COM2 - Valorar las estrategias y modelos gráficos utilizados para el desarrollo de aplicaciones gráficas estableciendo compromisos entre el grado de realismo obtenido y la capacidad de interacción por parte de usuarios.
  • COM5 - Identificar y valorar las propiedades del software de usabilidad, accesibilidad, seguridad, confiabilidad, rendimiento y ética informática, entre otros, y analizar cómo afecta a la calidad de un sistema software.

Habilidades o destrezas

  • HD03 - Aplica los modelos, métodos, técnicas, paradigmas, algoritmos, lenguajes y herramientas más apropiados para la creación, desarrollo o mantenimiento de sistemas software que cumplan con criterios de calidad, usabilidad, robustez, fiabilidad, seguridad, facilidad de implementación y despliegue en las plataformas más actuales.
  • HD04 - Sabe diseñar, implementar y evaluar algoritmos gráficos, tanto 2D como 3D, para la representación, digitalización, modelado, visualización tanto realista como expresiva, animación e interacción de modelos con su entorno y su aplicación en interfaces de usuario gráficas
  • HD05 - Sabe utilizar herramientas, metodologías y técnicas propias del diseño y desarrollo de videojuegos en ámbitos como el entretenimiento, la educación, la rehabilitación o el mundo empresarial.

Programa de contenidos Teóricos y Prácticos

Teórico

1. Introducción a la animación 2D y 3D.

  1. Breve historia de la animación por ordenador. Estilos.
  2. Curvas paramétricas. Interpolación y movimiento a lo largo de curvas.
  3. Animación basada en interpolación. Key-frames. Deformaciones.
  4. Animación de objetos jerárquicos.
  5. Animación de la figura humana, animación facial y animación del comportamiento.
  6. Introducción a la animación procedural y basada en físicas. 
  7. Control de animación en motores gráficos y videojuegos. 

2.Esqueletos y controles de animación. Rigging.

  1. Rigging en sistemas de modelado, motores gráficos y videojuegos.

3. Colisiones y dinámica del sólido rígido.

  1. El problema del cálculo de colisiones.
  2. Métodos de cálculo de colisiones.
  3. Configuración del cálculo de colisiones en motores de video-juegos.

4. Sistemas de partículas, simulación de fluidos y gases.

  1. Atributos y estados de las partículas. Ciclo de vida. 
  2. Fuerzas ejercidas sobre las particulas. Advección.
  3. Visualización de particulas.
  4. Modelos para fluidos y gases. Dinámica computacional de fluidos (CFD). 
  5. CFD usando elementos finitos y sistemas de partículas (Smoothed Particle Hydrodinamics).

5. Motores de físicas e integración en videojuegos.

  1. Fundamentos de la simulación físicas
  2. Herramientas y librerías para simulación física.
  3. Ejemplos de simulación física sencilla.
  4. Ejemplos de simulaciones físicas en motores gráficos y de videojuegos.


6. Simulación realista de iluminación en videojuegos.

  1. Reflexión local de la luz. BRDFs y Materiales. Tipos de fuentes de luz.
  2. Materiales e iluminación en rasterización. 
  3. Cálculo eficientes de sombras arrojadas en rasterización.
  4. Configuración de materiales, luminarias y sombras en motores gráficos y de videojuegos.
  5. Algoritmos eficientes para iluminación realista en rasterización. Iluminación precalculada.


7. Visualización basada en Ray-tracing. APIs para Ray-tracing en GPUs.

  1. El algoritmo de ray-tracing. Reflexión y refracción de la luz.
  2. Indexación espacial: estructuras de aceleración.
  3. Modelo de Iluminación Global. El problema del cálculo eficiente.
  4. Cálculo realista de iluminación global con Path-tracing.
  5. Métodos de eliminación de ruido en Path-tracing.


---------


1. Introduction to 2D and 3D Animation.

  1. Brief history of computer animation. Animation styles.
  2. Parametric curves. Interpolation and motion along curves.
  3. Interpolation-based animation. Key-frames. Deformations.
  4. Hierarchical objects animation.
  5. Human figure animation, facial animation, and behavioral animation.
  6. Introduction to procedural and physics-based animation.
  7. Animation control in graphic engines and video games.

2. Skeletons and animation controls. Rigging.

  1. Rigging in modeling systems, graphic engines, and video games.

3. Collisions and dynamics of rigid bodies.

  1. The collision calculation problem.
  2. Collision calculation methods.
  3. Configuration of collision calculation in game engines.

4. Particle systems, fluid, and gas simulation.

  1. Attributes and states of particles. Life cycle.
  2. Forces exerted on particles. Advection.
  3. Particle visualization.
  4. Models for fluids and gases. Computational Fluid Dynamics (CFD).
  5. CFD using finite elements and particle systems (Smoothed Particle Hydrodynamics).

5. Physics engines and integration in video games.

  1. Fundamentals of physics simulation.
  2. Tools and libraries for physics simulation.
  3. Examples of simple physics simulation.
  4. Examples of physics simulations in graphic engines and video games.

6. Realistic lighting simulation in video games.

  1. Local light reflection. BRDFs and Materials. Types of light sources.
  2. Materials and lighting in rasterization.
  3. Efficient calculation of shadows cast in rasterization.
  4. Configuration of materials, luminaires, and shadows in graphic engines and video games.
  5. Efficient algorithms for realistic lighting in rasterization. Precomputed lighting.

7. Ray-tracing-based visualization. APIs for Ray-tracing on GPUs.

  1. The ray-tracing algorithm. Reflection and refraction of light.
  2. Spatial indexing: acceleration structures.
  3. Global Illumination Model. The problem of efficient calculation.
  4. Realistic calculation of global illumination with Path-tracing.
  5. Methods of noise elimination in Path-tracing.

Práctico

  1. Casos prácticos de animación y rigging en motores gráficos y videojuegos.
  2. Casos prácticos de materiales e iluminación en motores gráficos y de videojuegos. 
  3. Casos prácticos de configuración de colisiones y físicas en videojuegos.
  4. Casos prácticos de sistemas de particulas y fluidos en videojuegos.


---------

  1. Practical cases of animation and rigging in graphic engines and video games.
  2. Practical cases of materials and lighting in graphic engines and video games.
  3. Practical cases of collision and physics configuration in video games.
  4. Practical cases of particle systems and fluids in video games.

Bibliografía

Bibliografía fundamental

  1. Rick Parent. Computer Animation Algorithms and Techniques (3rd Edition)  Ed. Elsevier. 2012. ISBN: 9780124158429. Web editorial: https://shop.elsevier.com/books/computer-animation/parent/978-0-12-415842-9
  2. Peter Shirley, R Keith Morley. Realistic Ray-Tracing (2nd Edition). Ed. Routledge (Taylor & Francis Group), 2008. ISBN-13: 978-1568814612. Web editorial:  https://www.routledge.com/Realistic-Ray-Tracing/Shirley-Morley/p/book/9781568814612


 

Bibliografía complementaria

  1. Robert Bridson. Fluid Simulation for Computer Graphics (2nd Edition). Ed. Routledge (Taylor & Francis Group), 2016. ISBN: 9781482232837. https://www.routledge.com/Fluid-Simulation-for-Computer-Graphics/Bridson/p/book/9781482232837
  2. JungHyun Han. Physics Based Simulation, en 3D Graphics for Game Programming. Ed Taylor & Francis Group, 2011. Web editorial: https://www.taylorfrancis.com/chapters/mono/10.1201/9781439827383-17/physics-based-simulation%E2%88%97-junghyun-han
     

Enlaces recomendados

Como apoyo a la enseñanza y aprendizaje de esta asignatura, se usará la Plataforma de Recursos de Apoyo a la Docencia (PRADO) de la Universidad de Granada: https://prado.ugr.es.

Rick Parent. Enlaces sobre animación:

Peter Shirley. Ray-Tracing in One Weekend: 

Documentación de Unity. Computer animation explained.

Documentación de Unity. Built-in 3D Physics.

Aprende Unity. Introducción a los sistemas de partículas.

Nvidia RTX Technology.

Metodología docente

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final.)

Evaluación Ordinaria

El artículo 18 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que la convocatoria ordinaria estará basada preferentemente en la evaluación continua del estudiante, excepto para quienes se les haya reconocido el derecho de evaluación única final.

Se realizará una evaluación continua del trabajo del estudiante, valorando tanto los conocimientos adquiridos como las competencias alcanzadas.

Modalidad presencial:

Para la evaluación en modalidad presencial se tendrán en cuenta los siguientes sistemas de evaluación, indicándose entre paréntesis el rango del porcentaje con respecto a la calificación final del estudiante.

  • SE1 - Actividades realizadas durante el desarrollo del curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (50%)
  • SE2 - Actividades realizadas después de finalizar el curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (30%)
  • SE5 - Asistencia y participación activa (20%)

Modalidad virtual:

Para la evaluación en modalidad virtual se tendrán en cuenta los siguientes sistemas de evaluación, indicándose entre paréntesis el rango del porcentaje con respecto a la calificación final del estudiante.

  • SE1 - Actividades realizadas durante el desarrollo del curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (30%)
  • SE2 - Actividades realizadas después de finalizar el curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (30%)
  • SE6 - Participación activa en foros de debate o de recogida de información (20%)
  • SE9 - Cuestionarios on-line (20%)

Evaluación Extraordinaria

El artículo 19 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que los estudiantes que no hayan superado la asignatura en la convocatoria ordinaria dispondrán de una convocatoria extraordinaria. A ella podrán concurrir todos los estudiantes, con independencia de haber seguido o no un proceso de evaluación continua. De esta forma, el estudiante que no haya realizado la evaluación continua tendrá la posibilidad de obtener el 100% de la calificación final.

Para la evaluación en este caso se tendrán en cuenta los mismos sistemas de evaluación y criterios que para la evaluación ordinaria.

Evaluación única final

El artículo 8 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que podrá acogerse a la evaluación única final cualquier estudiante que no pueda cumplir con el método de evaluación continua por causas justificadas. 

Para acogerse a la evaluación única final, el estudiante, en las dos primeras semanas de impartición de la asignatura o en las dos semanas siguientes a su matriculación, si ésta se ha producido con posterioridad al inicio de las clases o por causas sobrevenidas, lo solicitará, a través del procedimiento electrónico, a la Coordinación del Máster, quien dará traslado al profesorado correspondiente, alegando y acreditando las razones que le asisten para no poder seguir el sistema de evaluación continua.

Para la evaluación en este caso se tendrán en cuenta los siguientes sistemas de evaluación:

  • SE1 - Actividades realizadas durante el desarrollo del curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (40%)
  • SE2 - Actividades realizadas después de finalizar el curso mediante la entrega de ejercicios, trabajos, informes, a través de la plataforma docente (40%)
  • SE9 - Cuestionarios on-line (20%)

Información adicional

Siguiendo las indicaciones recogidas en el artículo 15 de la Normativa de Evaluación y de Calificación de la Universidad de Granada sobre la originalidad de los trabajos presentados por los estudiantes, se informa de lo siguiente:

1. La Universidad de Granada fomentará el respeto a la propiedad intelectual y transmitirá a los estudiantes que el plagio es una práctica contraria a los principios que rigen la formación universitaria. Para ello, procederá a reconocer la autoría de los trabajos y su protección, de acuerdo con la propiedad intelectual, según establezca la legislación vigente.

2. El plagio, entendido como la presentación de un trabajo u obra hecho por otra persona como propio o la copia de textos sin citar su procedencia y dándolos como de elaboración propia, conllevará automáticamente la calificación numérica de cero en la asignatura en la que se hubiera detectado, independientemente del resto de las calificaciones que el estudiante hubiera obtenido. Esta consecuencia debe entenderse sin perjuicio de las responsabilidades disciplinarias en las que pudieran incurrir los estudiantes que plagien.

3. Los trabajos y materiales entregados por parte de los estudiantes tendrán que ir firmados con una declaración explícita en la que se asume la originalidad del trabajo, entendida en el sentido de que no ha utilizado fuentes sin citarlas debidamente.