desarrollo de un plug-in para limpiar …desarrollo de un plug-in para limpiar curvas de animaciÓn...

113
DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL FERNANDO ALZATE CASTELBLANCO 2100231 UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERÍA DEPARTAMENTO DE OPERACIONES Y SISTEMAS PROGRAMA INGENIERÍA MULTIMEDIA SANTIAGO DE CALI 2018

Upload: others

Post on 13-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE

AUTOR 3DSMAX

DANIEL FERNANDO ALZATE CASTELBLANCO 2100231

UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERÍA

DEPARTAMENTO DE OPERACIONES Y SISTEMAS PROGRAMA INGENIERÍA MULTIMEDIA

SANTIAGO DE CALI 2018

Page 2: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE

AUTOR 3DSMAX

DANIEL FERNANDO ALZATE CASTELBLANCO

Pasantía de investigación Para optar al título de Ingeniero Multimedia

Director DAVID ALEJANDRO CASTRO BENAVIDES

Magister en Ingeniería

UNIVERSIDAD AUTÓNOMA DE OCCIDENTE FACULTAD DE INGENIERÍA

DEPARTAMENTO DE OPERACIONES Y SISTEMAS PROGRAMA INGENIERÍA MULTIMEDIA

SANTIAGO DE CALI 2018

Page 3: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

3

Nota de aceptación:

Aprobado por el Comité de Grado en cumplimiento de los requisitos exigidos por la Universidad Autónoma de Occidente para optar al título de Ingeniero Multimedia Juan Vicente Pradilla Jurado

Andrés Giovanny Rozo Jurado

Santiago de Cali, 17 de Octubre de 2018

Page 4: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

4

AGRADECIMIENTOS

Éste trabajo va dedicado a todas las personas que han contribuido en mi desarrollo profesional, a mi familia y especialmente a mi madre que con su esfuerzo y apoyo todo fue posible. También un agradeciendo a todas las personas que creyeron en mí y a mi novia que me dio ánimo y aliento en las noches difíciles de trabajo.

Daniel Fernando Alzate Castelblanco

2018

Page 5: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

5

CONTENIDO pág.

GLOSARIO 14

RESUMEN 16

INTRODUCCIÓN 18

1. PLANTEAMIENTO DEL PROBLEMA 19

2. JUSTIFICACIÓN 21

3. OBJETIVO 23

3.1 OBJETIVO GENERAL 23

3.2 OBJETIVOS ESPECÍFICOS 23

4. ANTECEDENTES 24

4.1 MOCAPSIM 24

4.2 ANIMATION WORKBENCH 3D MAX 24

4.3 AUTODESK MOTIONBUILDER 26

4.4 BVHACKER 27

4.5 GRANJA DE RENDER EN 3DS MAX 28

4.6 MOTION SIGNAL PROCESSING 29

4.7 3D HUMAN MOTION EDITING AND SYNTHESIS: A SURVEY 30

4.8 EVALUACIÓN DE UNA SOLUCIÓN DE RENDERIZADO DISTRIBUIDO EN LA UNIVERSIDAD ICESI PARA LOS ESTUDIANTES DE DISEÑO INDUSTRIAL Y DE MEDIOS INTERACTIVOS 30

5. MARCO CONCEPTUAL 32

Page 6: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

6

5.1 ANIMACIÓN 32

5.2 TÉCNICAS DE ANIMACIÓN 33

5.2.1 Animación Tradicional 33

5.2.2 Stop motion 34

5.2.3 Animación por computadora 35

5.3 CAPTURA DE MOVIMIENTO (MOCAP) 37

5.3.1 Sistema magnético. 37

5.3.2 Sistema mecánico 37

5.3.3 Sistema inercial 38

5.3.4 Sistema óptico 38

5.4 LIMPIEZA DE DATOS MOTION CAPTURE (MOCAP) 39

5.5 CURVAS DE ANIMACIÓN 40

5.6 ALGORITMOS DE CURVAS 41

5.6.1 Algoritmo de Casteljau 41

5.6.2 Interpolación lineal 42

5.7 FILTROS DIGITALES 43

5.8 RENDER 3D 44

5.9 GRANJA DE RENDER 45

5.10 RENDER POR CAPAS 45

5.11 DISEÑO CENTRADO EN EL USUARIO 47

5.12 SCRUM 48

5.13 FICHA PERSONA 50

6. DESARROLLO 52

Page 7: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

7

7. ETAPA DE PLANEACIÓN 54

7.1 ANÁLISIS Y COMPRESIÓN DEL CONTEXTO 54

7.2 ANÁLISIS Y COMPRENSIÓN DE LOS USUARIOS 55

7.2.1 Entrevista no estructurada 55

7.2.2 Grupo focal 56

7.2.3 Observación 56

7.3 DESCRIPCIÓN DE LA EXPERIENCIA 58

7.4 ANÁLISIS Y DEFINICIÓN DE REQUERIMIENTOS FUNCIONALES Y NO FUNCIONALES 59

7.5 DEFINICIÓN DE HISTORIAS DE USUARIO 61

7.6 INVESTIGAR, EVALUAR Y SELECCIONAR HERRAMIENTAS DE DESARROLLO 65

7.7 PRODUCT BACKLOG, LISTA DE HISTORIAS DE USUARIO ORDENADA POR PRIODIDAD 69

8. IMPLEMENTACIÓN 71

8.1 REUTILIZABLE 71

8.2 SPRINTS 71

8.2.1 Sprint 1 72

8.2.2 Sprint 2 72

8.2.3 Sprint 3 73

8.2.4 Sprint 4 73

8.2.5 Sprint 5 74

8.2.6 Sprint 6 75

8.2.7 Sprint 7 75

8.2.8 Sprint 8 75

Page 8: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

8

8.3 DISEÑO 76

8.3.1 Flujo de interacción 76

8.3.2 Interfaz gráfica 78

8.3.3 Diagrama de clases 80

8.4 CONSTRUCCIÓN 80

8.5 ALGORITMOS DE SELECCIÓN 83

8.5.1 Selección de picos 83

8.5.2 Selección de mesetas 83

8.6 ALGORITMO DE CORRECCIÓN 84

8.6.1 Corrección de picos 84

8.6.2 Corrección de mesetas 85

8.7 PRUEBAS 88

9. CONFIGURACIÓN DE GRANJA DE RENDER 94

10. CONCLUSIONES 99

11. TRABAJOS FUTUROS 102

BIBLIOGRAFÍA 103

ANEXOS 111

Page 9: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

9

LISTA DE FIGURAS pág.

Figura 1. Animation workbench. 25

Figura 2. Software Autodesk Motion Builder. 27

Figura 3. Herramienta Bvhacker. 28

Figura 4. Animación tradicional. 33

Figura 5. Curvas de animación. 41

Figura 6. Curva de Bezier. 42

Figura 7. Interpolación Lineal 43

Figura 8. Parámetros en el dominio de la frecuencia 44

Figura 9. Proceso de Scrum 49

Figura 10. Arquetipo del usuario 58

Figura 11. Flujo de interacción 77

Figura 12. Interfaz 3Ds MAX 78

Figura 13. Propuesta de interfaz para el plug-in. 79

Figura 14. Diagrama de clases 80

Figura 15. Ejemplo de pico en la curva de animación 81

Figura 16. Ejemplo de meseta en la curva de animación 81

Figura 17. Prueba de tamaños de ventana 84

Figura 18. Resultado de prueba de tamaño de ventada 85

Figura 19. Ruido en la curva 86

Figura 20. Selección de picos 86

Figura 21. Corrección de picos seleccionados 87

Figura 22. Selección de mesetas 87

Page 10: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

10

Figura 23. Corrección de mesetas 88

Figura 24. Propuesta GUI 1 90

Figura 25. Propuesta GUI 2 91

Figura 26. Propuesta UI 3 92

Figura 27. Propuesta UI 4 (final) 93

Figura 28. Red domestica 95

Figura 29. Red sala computación gráfica 96

Figura 30. Red sala color pro 97

Figura 31. Impacto de la granja de render 97

Page 11: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

11

LISTA DE TABLAS pág.

Tabla 1. Definición de roles 53

Tabla 2. Requerimientos funcionales de la herramienta 60

Tabla 3. Requerimientos no funcionales de la herramienta 61

Tabla 4. Historia de usuario 01 61

Tabla 5. Historia de usuario 02 62

Tabla 6. Historia de usuario 03 62

Tabla 7. Historia de usuario 04 63

Tabla 8. Historia de usuario 05 63

Tabla 9. Historia de usuario 06 64

Tabla 10. Historia de usuario 07 64

Tabla 11. Historia de usuario 08 65

Tabla 12. Criterios de selección para la herramienta de desarrollo 66

Tabla 13. Matriz de selección 68

Tabla 14. Historias ordenadas por prioridad 70

Tabla 15. Funcionalidades reutilizables 71

Tabla 16. Actividades H.U. abrir archivo 72

Tabla 17. Actividades H.U. seleccionar huesos 72

Tabla 18. Actividades H.U seleccionar manualmente. 73

Tabla 19. Actividades H.U corrección automática 73

Tabla 20. Actividades H.U ingresar valor de búsqueda 74

Tabla 21. Actividades H.U selección por partes 74

Tabla 22. Actividades H.U selección por partes 74

Page 12: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

12

Tabla 23. Actividades H.U corrección automática 75

Tabla 24. Actividades H.U deshacer cambios 75

Tabla 25. Actividades H.U ingresar valor de búsqueda 76

Tabla 26. Características computador domésticos. 95

Tabla 27. Computadores sala computación gráfica. 96

Tabla 28. Características computadores sala ColorPro. 97

Page 13: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

13

LISTA DE ANEXOS pág.

Anexo A. Entrevista no estructurada 111

Anexo B. Grupo focal 112

Page 14: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

14

GLOSARIO

BIPEDO1: es un modelo tridimensional de dos piernas, humano o animal o imaginaria. Los bípedos son esqueletos creados como una jerarquía vinculada, los cuales están especialmente diseñados para caminar erguidos, las articulaciones de los bípedos generalmente se limitan a coincidir con las del cuerpo humano. DISEÑO CENTRADO EN EL USUARIO (DCU)2: es un enfoque o filosofía que enfatiza la participación temprana y continúa de los usuarios en el proceso de diseño y evaluación. FOCUS GROUP3: es un grupo de discusión directa con participantes en el cual un moderador conduce a través de un conjunto de preguntas sobre un tema en particular para obtener comentarios sobre los usuarios, productos, conceptos, prototipos, tareas, estrategias y entornos. HISTORIA DE USUARIO (HU)4: En el contexto del desarrollo agiles, las HU son pequeñas descripciones de los requerimientos del proyecto, estas utilizan el lenguaje común del usuario y describe una funcionalidad que por sí misma aporta valor al usuario. INTERFAZ GRÁFICA DE USUARIO (GUI)5: acrónimo en inglés de Graphical User Interface. La interfaz gráfica de usuario es un programa o entorno que gestiona la interacción con el usuario basándose en relaciones visuales como iconos, menús o un puntero.

1 BOUSQUET, Michele y MCCARTHY, Michael. 3ds max animation with Biped. Berkeley, CA: New Riders, 2006. P.5 2 LOWDERMILK, Travis. User-centered design: a developer's guide to building user-friendly applications. Sebastopol, CA: O'Reilly Media Inc, 2013. P.13 3 KRUEGER, Richard A. y CASEY, Mary A. Focus groups: a practical guide for applied research. Thousand Oaks: SAGE Publications, Inc, 2014.p. 21 4 RUBIN, Kenneth S. Essential Scrum: a practical guide to the most popular agile process. Upper Saddle River, NJ: Addison-Wesley, 2012.p. 83 5 TIDWELL, Jenifer. Designing interfaces. Sebastopol, CA: O'Reilly, 2011.

Page 15: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

15

PROTOTIPO6: diseño inicial de peso ligero de una interfaz o producto, que se utiliza para captar conceptos y bosquejos iniciales para recoger la opinión de los usuarios, así como los participantes del proyecto y las partes interesadas. RUIDO7: En el contexto de procesamiento de señales, el ruido es cualquier perturbación que sufre una señal en el proceso de adquisición y/o transmisión y/o almacenamiento. USUARIO: Para este proyecto será la persona que usará la herramienta para limpiar las curvas de animación. USER EXPERIENCE (UX)8: la experiencia de usuario es cada aspecto de la interacción del usuario con el producto, servicio o empresa que conforman las percepciones de los usuarios de todo el conjunto. PLUG-IN9: es un módulo de software que agrega una característica o servicio específico a un sistema más grande. VRAY10: es un motor de render adicional para el software 3ds Max que permite una iluminación más realista. PICO: Para este proyecto un pico es un punto que está desplazado bruscamente del comportamiento de la curva, lo que visualmente ocasiona un salto de una fracción de segundo en la animación del personaje. MESETA: Para este proyecto una meseta es una agrupación de puntos que se desvían bruscamente del comportamiento de la curva, ocasionando un desplazamiento indeseado en el movimiento del personaje.

6 WARFEL, Todd. Prototyping: a practitioner's guide. Brooklyn, N.Y: Rosenfeld Media, 2009.p. 12 7 VASEGHI, Saeed V. Advanced digital signal processing and noise reduction. Chichester, U.K: J. Wiley & Sons, 2008.p. 35 8 TURNER, Phil. A psychology of user experience: involvement, affect and aesthetics. Cham, Switzerland: Springer, 2017.p. 8 9 YAMAZAKI, Michele. Plug-in to after effects: third party plug-in mastery. S.l: CRC PRESS, 2017. P.2 10 KUHLO, Markus, and Enrico Eggert. Architectural rendering with 3ds Max and V-Ray: photorealistic visualization. Oxford Burlington, MA: Focal Press, 2010.p. 10

Page 16: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

16

RESUMEN

La técnica del 3D digital es actualmente el medio más popular para contar historias en el cine animado. En este tipo de producciones, cada día es más común la presencia de técnicas de captura de movimiento (MoCap) para grabar las acciones de humanos, animales u objetos inanimados y ser usados en las animaciones de los personajes, esto con el fin de obtener resultados más rápidos y expresiones corporales más cercanas al mundo real. También es común en este tipo de proyecto la implementación de granjas de render para administrar y optimizar la carga computacional presente en la generación de las imágenes de la composición final. “El Padre, el Hijo y el Espíritu Santo” es un largometraje animado 3D y proyecto de investigación en la Universidad Autónoma de Occidente, en el cual las animaciones de los personajes se generaron mediante la captura óptica de movimiento. Estas capturas presentaron ruidos y distorsiones ocasionando defectos en los movimientos de los personajes, requiriendo así un proceso de limpieza para lograr obtener movimientos fluidos. Además, para lograr generar el render con las características necesaria en el menor tiempo posible, el proyecto requería implementar una granja de render para optimizar la generación de imágenes en el proceso de renderizado de la animación. Por lo anterior, se desarrolla una herramienta que permita asistir la limpieza de los movimientos de los personajes del largometraje y la implementación de una granja de render utilizando los recursos disponibles por la Universidad Autónoma de Occidente. Para lograr este objetivo, se define una metodología basada en el marco de trabajo ágil “Scrum” y el Diseño Centrado en el Usuario. De esta forma se inicia con la búsqueda de los antecedentes más significativos en el tema de herramientas para la limpieza de movimiento y granjas de render, luego se presenta el estudio realizado sobre técnicas de animación, limpieza de datos de animación y la investigación sobre filtros relacionados con señales digitales para la construcción de algoritmos de limpieza. Posteriormente con la recopilación de los datos del usuario, se selecciona como mejor alternativa de desarrollo la creación de un plug-in en el software 3DS Max mediante el lenguaje MAXScript. El plug-in desarrollado está enfocado en permitir al usuario detectar y corregir los errores de tipo pico y meseta, los cuales fueron el patrón de error identificados en los datos de captura de movimiento de los personajes del presente largometraje. Los algoritmos que fueron implementados se basan en los conceptos y modelo matemático del filtro de ventana móvil como técnica para el filtrado de ruido y limpieza de errores. Se realizaron pruebas con usuarios para

Page 17: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

17

evaluar la experiencia de uso y de acuerdo a la retroalimentación obtenida se realizaron los respectivos ajustes. Luego se presenta los diferentes escenarios y la experiencia obtenida en la implementación de la granja de render en la plataforma tecnológica de la Universidad Autónoma de Occidente. Por último, con base a todo lo investigado y desarrollado se presentan las conclusiones de este trabajo. Palabras clave: plug-in, granja de render, sistemas de captura de movimiento, MoCap, filtro ventana móvil, animación 3D

Page 18: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

18

INTRODUCCIÓN

Gracias a la evolución de la computación gráfica, los gráficos tridimensionales llegaron a ser creados y manipulados con facilidad, permitiendo generar objetos y movimientos cada vez más cercanos a la realidad11. De esta forma demostraron ser una alternativa viable en áreas como el cine, desde entonces la industria cinematográfica ha fomentado cada vez más su avance como un medio para contar historias. Posteriormente con ayuda de profesionales en áreas del software y hardware surgieron herramientas y técnicas adecuadas a la producción del cine 3D, llegando a producir largometrajes animados totalmente por computadora12. Por otro lado, en la Universidad Autónoma de Occidente se realizó un largometraje animado 3D (tridimensional) titulado “El Padre, El Hijo y el Espíritu Santo” el cual ha sido reconocido por el fondo para el desarrollo cinematográfico, máxima instancia en la cinematografía colombiana13. La producción de este largometraje cinematográfico de animación se considerar compleja, debido a los desafíos que deben afrontar sus participantes junto al equipamiento y estructura tecnológica que se requiere para desarrollar un proyecto de estas dimensiones14, lo cual hace de este un espacio idóneo para la investigación y desarrollo tecnológico. El director del largometraje, Juan Manuel Acuña ha identificado dos necesidades que afectan directamente la fase de producción del largometraje, la cuales son: la adecuación de la red interna universitaria para utilizar su plataforma tecnológica como granja de render, y la mejora del proceso actual de limpieza de curvas de animación, ambas son pieza clave para la culminación del largometraje. Con la idea de optimizar tiempo y recurso humano en tareas de animación y renderizado se hace indispensable satisfacer estas dos necesidades. Por esta razón se plantea el desarrollo de una herramienta que asista el proceso de limpieza de curvas de animación 3D, junto a la implementación de una granja de render en la plataforma tecnológica de la universidad.

11 RYAN, Dan. History of Computer Graphics: DLR Associates Series [en línea]. Bloomington: Author House, 2011. [consultado 4 de abril de 2016]. Disponible en Internet: https://goo.gl/O6gGfS 12 CATMULL, Ed y WALLACE, amy. Creativity, Inc.: Overcoming the Unseen Forces That Stand in the Way of True Inspiration [en línea]. New York: Random House Publishing Group, 2014. 368 p [consultado 04 de marzo de 2016]. Disponible en Internet: https://goo.gl/ecH9gE 13 PROIMÁGENES COLOMBIA ¿Qué es el FDC? [en linea]. Proimágenes Colombia. Bogotá D.C. Septiembre 2016 [consultado 09 Septiembre 2016]. Disponible en Internet: https://goo.gl/Hn2ucK 14 COMUNICACIÓN SOCIAL. Universidad autónoma de occidente. Cuando el arte y la tecnología se alían para contar una historia [en línea]. UAO, 2016 [consultado 1 de noviembre de 2016]. Disponible en Internet: https://goo.gl/SZJubJ

Page 19: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

19

1. PLANTEAMIENTO DEL PROBLEMA

En la realización del largometraje animado 3D titulado “El Padre, El Hijo y el Espíritu Santo” las animaciones de los personajes se generaron mediante la captura óptica de movimiento, con esta técnica fue posible grabar las acciones interpretadas por actores que vestían trajes con marcadores pasivos (hechos de material reflectivo), dentro de un espacio adecuado con cámaras emisoras de luz infrarroja que capturaban la luz reflejada por los marcadores y así transmitían los datos a la computadora para procesar, visualizar y almacenar el movimientos15. Para el largometraje, la captura de movimiento fue un proceso de aprendizaje en el cual se presentaron inconvenientes al calibrar el sistema óptico, lo que significó la superposición distorsionada de los datos de las distintas cámaras16. Esto afectó la precisión de los movimientos y fue necesario repetir las tomas hasta que el tiempo con los actores se terminó, de esta forma quedaron algunos defectos por corregir. Adicionalmente al pasar los datos al software de animación 3dsmax fue posible observar ruido en los movimientos capturados, los cuales no se percibieron en la herramienta utilizada durante la captura de movimiento. Estos defectos y ruidos se manifiestan gráficamente como picos y mesetas en las curvas de animación (ver figuras 15 y 16) dañando los movimientos de los personajes. Como consecuencia el equipo de animación del largometraje debe realizar un proceso adicional conocido como limpieza de curvas de animación. El proceso actual de limpieza de curvas de animación se puede considerar un proceso manual, ya que consta en analizar y editar uno a uno los múltiples puntos que conforman a las curvas de animación que están dentro de cada componente X, Y y Z de cada hueso, de cada bípedo17 (esqueleto), de cada plano grabado. Lo cual es una labor ardua y tediosa pero necesaria, que implica la participación de varios colaboradores demandando tiempo y recurso del proyecto. Posteriormente en la etapa de renderizado18, el largometraje implementa múltiples capas de render, esto con el fin de obtener mayor control en posproducción y lograr una composición final con las características deseadas. Pero, para hacer un

15 KITAGAWA, Midori y WINDSOR, Brian. Cleaning and Editing Data En: MoCap for Artists: Workflow and Techniques for Motion Capture. Burlington: CRC Press, 2012. p. 8. 16 VICON. What is Motion Capture? [en línea]. Vicon Motion Systems Ltd., 2016 [consultado 20 de febrero de 2017]. Disponible en Internet: https://www.vicon.com/what-is-motion-capture 17 AUTODESK INC. Understanding Biped [en línea]. Knowledge Autodesk, 2016 [consultado 20 de febrero de 2017]. Disponible en Internet: https://goo.gl/DDlVcc 18 REDACCIÓN AV451. El proceso de renderizado, ese gran olvidado [en línea]. Audiovisual451, 2017 [consultado 20 de febrero de 2017]. Disponible en Internet: https://goo.gl/iHeTGG

Page 20: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

20

segundo de animación es necesario renderizar 24 imágenes las cuales cada una puede demandar varias horas de procesamiento, además bajo el render multicapa cada imagen se divide en capas de render que se debe someter al proceso de renderizado lo cual incrementa la carga computacional y extendiendo significativamente el tiempo de producción19. Por esta razón, surgen las siguientes preguntas, ¿Es posible la creación de una herramienta de apoyo que permita al equipo de animación del largometraje “El Padre, El Hijo y el Espíritu Santo” una limpieza de curvas de animación sin perder la animación natural capturada y además poder implementar una granja de render con la infraestructura y equipos presentes en la Universidad Autónoma de Occidente con el rendimiento adecuado para satisfacer las necesidades del proyecto?

19 AUTODESK. MAYA. Render Pass Concepts and Techniques [en línea]. Autodesk Inc., 2010 [consultado 20 de Junio de 2016]. Disponible en Internet: https://goo.gl/tl6NGY

Page 21: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

21

2. JUSTIFICACIÓN

“El Padre, El Hijo y el Espíritu Santo” es un proyecto de grandes dimensiones y exigencias. Parte de estas exigencias están presentes en los procesos de limpieza de curvas de animación y el render multicapa, los cuales según el director del largometraje es muy probable estén presentes a lo largo de las fases que comprende el proyecto y para ello contar con el soporte tecnológico adecuado es vital. Debido a que el proceso de limpieza de curvas de animación es una labor ardua y tediosa20, que demanda tiempo y recursos valiosos del proyecto, se hace necesaria la presencia de una herramienta que permita asistir este proceso, la cual este pensada para ser usada por el equipo de animación y reduzca el tiempo que toma realizar esta actividad. Así pues, el render multicapa es un proceso que representa un cuello de botella debido a la enorme cantidad de recursos computacionales que exige21, es por esto por lo que implementar una granja de render es una solución óptima de renderizado que permite distribuir de forma eficiente la carga computacional del proceso entre los computadores disponibles en la plataforma tecnológica de la universidad. De esta forma se logra obtener con los mismos recursos hardware un tiempo de producción significativamente menor para el largometraje. Además, teniendo en cuenta el aumento de la financiación a producciones cinematográficas en Colombia22 y los programas académicos de la Universidad Autónoma de Occidente junto con iniciativas como Expin Media Lab2324, que unen esfuerzos en la relación tecnología, ciencia y arte se debe considerar que este tipo

20 KITAGAWA y WINDSOR. Op. cit., p. 50. 21 LESTERBANKS. Working with maya renders layers and render passes [en línea]. Lestierbanks (Frebrero 25 2014). [Consultado 15 de febrero de 2016]. Disponible en internet: https://goo.gl/SJBwdw 22 PROIMÁGENES COLOMBIA. Recaudo del Fondo para el Desarrollo Cinematográfico [en línea]. Proimágenes Colombia, Bogotá D.C. (Septiembre 2016) [consultado 09 de Septiembre de 2016]. Disponible en Internet: https://goo.gl/NaH83r 23 COMUNICACIÓN SOCIAL. Universidad autónoma de occidente. Largometraje animado se convierte en proyecto de investigación [en línea]. UAO (5 de Julio de 2013). [consultado 17 de febrero de 2016]. Disponible en Internet: https://goo.gl/HBuanh 24 CENTRO DE INNOVACIÓN EDUCATIVA EN INGENIERÍA ¿Qué es Expin Media Lab? [en línea] Expin Media Lab, 2015 [consultado 17 de febrero de 2016]. Disponible en internet: https://goo.gl/qk6iHk

Page 22: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

22

de proyecto no será el último que se desarrollará dentro de sus instalaciones. Sin duda los avances logrados en la creación de la herramienta y la implementación de la granja de render serán antecedentes importantes para futuras producciones en la comunidad autónoma y por qué no en la región. Por estas razones, se propone el desarrollo de una herramienta que asista el proceso de limpieza de curvas de animación 3d junto a la implementación de una granja de render, permitiendo agilizar el proceso actual y esperando disminuir el tiempo y los costos de producción.

Page 23: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

23

3. OBJETIVO

3.1 OBJETIVO GENERAL

Desarrollar un plug-in enfocado en las necesidades del equipo de animación del largometraje animado “El Padre, El Hijo y el Espíritu Santo”, que asista el proceso de limpieza de curvas de animación 3D, junto a la configuración de una granja de render para la herramienta de autor 3DsMax.

3.2 OBJETIVOS ESPECÍFICOS

• Analizar los requerimientos funcionales y no funcionales junto con los modelos matemáticos para la creación del plug-in en 3DsMAX.

• Diseñar interfaces gráficas para el perfil de usuario del equipo de animación del largometraje “El padre, el hijo y el espíritu santo”.

• Construir plug-in de limpieza de curvas de animación 3D y configuración de granja de render en la plataforma tecnológica de la universidad.

• Realizar pruebas de usabilidad al plug-in junto con la verificación de requerimientos planteados.

Page 24: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

24

4. ANTECEDENTES

A continuación, se presentan los desarrollos y estudios más significativos realizados en el tema de herramientas para la limpieza de movimiento y granjas de render.

4.1 MOCAPSIM

MoCapSim (motion capture editor and simulator) es un proyecto iniciado en el año 2005 con el objetivo de desarrollar un programa gratuito para la edición y simulación de archivos de captura de movimiento25. Esta aplicación fue diseñada para ser usada por usuarios nuevos, estudiantes, usuarios avanzados, programadores, y por profesionales del campo de la ciencia e investigación. Como resultado fue usada por empresas y universidades para el aprendizaje a bajo costo permitiendo explorar el mundo de la captura de movimiento. MoCapSim cuenta con una interfaz gráfica conformada por un espacio de trabajo tridimensional basado en el programa MotView, el cual fue desarrollado por Andrew Gardner y Steven Dutcher en los años 1999-2000, en este espacio con el clic derecho del ratón pueden acercarse o alejarse, con el clic izquierdo se rota el plano y con el scroll del ratón se puede moverse vertical y horizontalmente. También cuenta con opciones para importar y guardar archivos de captura de movimiento en formato BVH, ASF/AMC y RIB. Para finalizar MoCapSim tiene requisitos de procesador 500Mhz, memoria RAM 120MB y está disponible tanto para Linux, Mac y Windows.

4.2 ANIMATION WORKBENCH 3D MAX

El animation workbench es un editor de curvas dentro del programa Autodesk 3ds Max, creado con el fin de corregir defectos en las animaciones de los bípedos. Esta herramienta cuenta con opciones para seleccionar y visualizar curvas, así como para localizar y corregir errores y discontinuidades en movimiento en base a filtros prediseñados. El animation Workbench ofrece tres sub-herramientas: analyze, fix, and filter26.

25 MHAQS. Motion Capture Editor and Simulator. Slashdot Media [en línea]. Sourceforge, 2016 [consultado 09 de septiembre de 2016]. Disponible en internet: https://goo.gl/HtGXXu 26 AUTODESK INC. Working with the Workbench [en línea]. Autodesk Knowledge Network, 2016 [consultado 20 de Junio de 2016]. Disponible en Internet: https://goo.gl/JjQSZq

Page 25: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

25

Figura 1. Animation workbench.

Fuente: AUTODESK INC. Working with the Workbench [en línea]. AUTODESK INC. 2016 [consultado 20 de junio de 2016]. Disponible en Internet: https://goo.gl/JjQSZq

• El Analyze permite recorrer la curva de animación con el fin de evaluar las curvas seleccionadas y encontrar comportamientos fuera de lo común mediante los detectores de tipo Noise y Spike y así localizar fotogramas clave específicos que son responsables de movimiento discontinuo.

• El fix trabaja frente a los problemas encontrados por el Analyze, ejecutando una operación específica sobre el resultado. De esta forma no cambian la animación completa sino sólo las áreas alrededor del problema27.

• El filter ejecuta operaciones en partes específicas de la curva de animación, a diferencia del Fix, el filter afecta el intervalo de tiempo especificado, no los puntos del resultado del Analyze.

El animation workbench no cuenta con filtros que permitan detectar mesetas, la cual es un tipo de ruido presente en las animaciones del largometraje. Por otro

27 AUTODESK INC. Understanding the Animation Workbench [en línea]. Autodesk Knowledge Network, 2016 [consultado 22 de Junio de 2016]. Disponible en Internet: https://goo.gl/9t3Kii

Page 26: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

26

lado, cuenta con un analizador de picos con características útiles corregir las animaciones del largometraje.

4.3 AUTODESK MOTIONBUILDER

Autodesk MotionBuilder es un software de animación de personajes tridimensional en tiempo real, el cual es usado para la producción de juegos, largometrajes y producciones televisivas. Este Software está enfocado en flujos de trabajo interactivos en tiempo real, permitiendo a los artistas y técnicos asumir proyectos exigentes y de gran intensidad de animación. Dentro de sus características MotionBuilder permite la captura, visualización, edición y limpieza de los datos de captura de movimiento, Incluyendo herramientas para manipular y refinar los datos de personajes complejos con mayor fiabilidad de manera eficiente con poderosas funciones en un entorno intuitivo y optimizado tanto para animadores y directores28. Las desventajas principales de adquirir este software radican en su elevado costo de licencias y la necesidad de capacitar los colaboradores para ejercer tareas específicas como limpieza de datos.

28 AUTODESK INC. Motionbuilder overview [en línea] Autodesk, 2016 [consultado 27 de Junio de 2016]. Disponible en Internet: https://goo.gl/M97J7g

Page 27: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

27

Figura 2. Software Autodesk Motion Builder.

Fuente: AUTODESK INC. Motionbuilder overview [en línea] 2016 [consultado 27 de junio de 2016]. Disponible en Internet: https://goo.gl/M97J7g

4.4 BVHACKER

Bvhacker es una herramienta gratuita de edición de archivos BVH. Su desarrollo Inició como un proyecto en noviembre del 2006 con el fin de ser una herramienta de edición de archivos BVH para la plataforma virtual Second Life. En febrero del 2014 el autor oficialmente detuvo el desarrollo de bvhacker y decidió hacer la herramienta de código abierto, el proyecto se encuentra alojado en GitHub. Bvhacker es ideal para ver, analizar, convertir y buscar fallos en la preparación de archivos BVH, permitiendo acelerar el proceso de producción de animación, por esto fue ampliamente utilizado por pequeñas empresas, establecimientos educativos y aficionados. No es una herramienta para la creación de animaciones desde cero es para trabajar en los datos de animaciones ya existentes29.

29 DAVEDUB. bvhacker: The free bvh file editing tool [en línea]. Davedub [consultado 09 de septiembre de 2016]. Disponible en internet: http://davedub.co.uk/bvhacker

Page 28: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

28

Figura 3. Herramienta Bvhacker.

Fuente: DAVEDUB. bvhacker – the notepad of bvh animation files [en línea]. davedub.[Consultado 09 de septiembre de 2016]. Disponible en internet: http://davedub.co.uk/davedub/wordpress/bvhacker-notepad-bvh-animation-files/

4.5 GRANJA DE RENDER EN 3DS MAX

Dado que el largometraje animado 3D titulado “El Padre, El Hijo y el Espíritu Santo” adoptó a Autodesk 3ds Max como software para componer las escenas. La granja de render se implementa mediante las herramientas y estándares de este.

Para implementar una granja de render usando 3ds Max es necesario instalar este programa en todos los equipos que formarán parte de la granja. Al instalar 3ds Max también se estará instalando Backburner el cual será el encargado de dividir las tareas y enviarlas a los nodos de procesamiento a través de la red, transmitiendo bloques de tareas bajo el protocolo TCP / IP. La arquitectura de

Page 29: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

29

Backburner costa de Backburner Manager, Backburner Monitor y Backburner Servers30.

• Backburner Servers: Aquí se configura el servidor y se establecen sus IP. El server se entiende como uno de los muchos nodos de procesamiento los cuales pueden procesar dependiendo de los motores de render instalados sobre él.

• Backburner Manager: se considera el centro de la arquitectura ya que se encargado de recibir y distribuir los trabajos a los servidores. Todos los servidores que se estén utilizando deben estar bajo un Manager.

• Backburner Monitor: Es un panel de administración y se utiliza para supervisar, suspender y reiniciar progresos de render.

Se debe resaltar que Backburner Manager funciona mejor en una estación de trabajo reservada para su uso, se debe evitar ejecutar Backburner Manager en una estación de trabajo que esté siendo utilizada como un nodo de render o por una aplicación cliente. También es importante resaltar que los plug-in o programas de renderizado como V-Ray, deben de instalarse en los ordenadores.

4.6 MOTION SIGNAL PROCESSING31

En este artículo investigativo realizado por Lance Williams y Armin Bruderlin, pese a no ser un estudio reciente, es un referente importante para la presente investigación ya que aborda cómo las técnicas de procesamiento de imagen y señal pueden aplicarse con éxito al diseño, modificación y adaptación del movimiento animado. Los autores explican que los datos de movimiento se comportan como una señal muestreada, y las técnicas de procesamiento de imagen y señal se adaptan para editar, modificar, mezclar y alinear el movimiento. Además, este artículo reúne una serie de técnicas de procesamiento de señales

30 AUTODESK. Backburner 2011 Installation Guide [en línea]. San Rafael: Autodesk, Inc., 2010 [consultado 04 de octubre de 2016]. Disponible en Internet: https://goo.gl/iAG0bV

31 BRUDERLIN, Armin y WILLIAMS, Lance. Motion signal processing. En: SIGGRAPH ’95: Proceedings of the 22nd annual conference on Computer graphics and interactive techniques, ACM Press, New York, NY, USA, p.97–104.

Page 30: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

30

aplicables al movimiento animado y las implementa en un prototipo en el lenguaje de programación C. Para finalizar los investigadores concluyen que las técnicas de procesamiento de señales de movimiento proporcionan una interacción rápida y fácil para adaptar y reutilizar los datos de movimiento cuando se automatizan algunos aspectos de la edición.

4.7 3D HUMAN MOTION EDITING AND SYNTHESIS: A SURVEY32

En este artículo realizado por Xin Wang, Qiudi Chen y Wanliang Wang presenta una encuesta exhaustiva sobre técnicas de edición y síntesis de movimiento humano 3D. Al inicio del documento los autores discuten los problemas más comunes en el procesamiento de movimiento y mencionan factores como el gran volumen de datos que es usada para grabar continuamente la acción del intérprete, pero la velocidad de muestreo de algunos dispositivos ópticos pueden llegar a más de 1.000 fps lo que lleva a una gran cantidad de datos que es difícil de editar y también mencionan como la modificación de algunos atributos puede tender a cambiar otros atributos que no deben modificarse. Este estudio es pertinente para el proyecto porque reconoce la edición de datos capturados por movimiento como un proceso tedioso y propone medios por los cual el animador puede editar convenientemente dichos datos.

4.8 EVALUACIÓN DE UNA SOLUCIÓN DE RENDERIZADO DISTRIBUIDO EN LA UNIVERSIDAD ICESI PARA LOS ESTUDIANTES DE DISEÑO INDUSTRIAL Y DE MEDIOS INTERACTIVOS33

En este artículo Desarrollador por el ingeniero Juan David Osorio se presentan los resultados de una evaluación realizada en la Universidad Icesi para encontrar alternativas de solución al problema de cuellos de botella y largos tiempos de renderizado que sufren los estudiantes de los programas de Diseño. A lo largo del documento describe el proceso de implementación, la arquitectura de la solución, los análisis de tiempo de renderizado en función de los núcleos de procesamiento y al finalizar concluye que el tema del render farm actualmente es muy maduro y

32 WANG, Xin, CHEN, Qiudi y WANG, Wanliang. 3D Human Motion Editing and Synthesis: A Survey [en línea] hindawi.2014 [consultado 28 de Marzo de 2017]. Disponible en Internet: https://www.hindawi.com/journals/cmmm/2014/104535/ 33 OSORIO BETANCUR, Juan David. Evaluación de una solución de renderizado distribuido en la Universidad Icesi para los estudiantes de Diseño Industrial y de Medios Interactivos [en línea]. Santiago de Cali: Universidad Icesi, 2010 [consultado 12 de septiembre de 2016]. Disponible en Internet: https://goo.gl/At02Fn

Page 31: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

31

existen productos comerciales que pueden suplir adecuadamente las necesidades de la mayoría de los proyectos.

Page 32: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

32

5. MARCO CONCEPTUAL

En este apartado se presenta el estudio realizado sobre técnicas de animación y limpieza de curvas de animación, luego la investigan sobre filtros relacionados con señales digitales para la construcción de algoritmos de limpieza de curvas de animación y por último se definen los conceptos de render, granja de render y diseño centrado en el usuario.

5.1 ANIMACIÓN

Técnicamente, la animación es una ilusión de movimiento creada mediante la visualización rápida de una secuencia de imágenes llamadas fotogramas. “Esta ilusión se debe a que el cerebro humano retiene la imagen presente hasta que la siguiente imagen aparece, lo que permite conectar las dos imágenes como un patrón en movimiento, esto es lo que hace que el cine funcione y es conocido como la persistencia de la visión”34.

Es de destacar que, en promedio, las personas perciben una animación como un movimiento continuo a más de 10 fotogramas por segundo, a velocidades inferiores la mayoría de las personas perciben un salto en la animación, lo cual disminuye el realismo del movimiento. En contraparte, con velocidades superiores a 70 imágenes por segundo, no es posible notar una mejoría en el movimiento. Actualmente las animaciones del cine se proyectan a una velocidad de 24 fotogramas por segundo35.

En efecto, en un contexto artístico, la animación es dotar de alma a dibujos o elementos que no la tienen, esto es un trabajo largo, complejo e intensivo que realizan los animadores36. Con los años, este trabajo ha evolucionado creando distintas técnicas de animación, dando libertad al artista de construir y contar su narración con la técnica que considere más apropiada37.

34 PIKKOV, Ulo. Animasophy: theoretical writings on the animated film. Tallinn: Estonian Academy of Arts, 2010. p.14. 35 CORRAS, S. y PARROTT, C.J. Hollywood 2D Digital Animation. Boston: Thomson Course Technology PTR. 2004. p. 2. 36 Ibíd. p. 17 37 TAN, Jiang. Aspects of animation: steps to learn animated cartoons. New Delhi, India: Serials Publications Pvt. Ltd, 2016. p. 304

Page 33: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

33

5.2 TÉCNICAS DE ANIMACIÓN

Como se ha mencionado anteriormente, existen diversas técnicas para crear animación, las cuales se pueden agrupar en tres categorías principales: animación tradicional, stop motion y animación por ordenador. A continuación, se procederá a definir el concepto de cada una de estas categorías.

5.2.1 Animación Tradicional

La animación tradicional o también conocida como animación clásica, es una técnica de animación en donde la secuencia de imágenes utilizada para crear la ilusión de movimiento es dibujada en papel fotograma a fotograma. Para esto los animadores crean posturas claves y después dibujan los intermedios que conectan el movimiento de las poses claves38, dando como resultado una serie de imágenes como en la figura 4.

Figura 4. Animación tradicional.

Fuente: LAVALLE LEE. [en línea]. Behind The 2d Animation Of The Bear And The Hare. [Consultado el 13 de febrero de 2017] Disponible en internet: https://goo.gl/uGsSdK

5.2.1.1 Rotoscopia

Dentro de la categoría de animación tradicional se distingue la animación por rotoscopia, ya que esta técnica consiste en utilizar los fotogramas de una filmación real como referencia para dibujar cuadro a cuadro la secuencia de imágenes de la 38 Ibíd. p. 18

Page 34: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

34

animación, de esta forma se obtiene la naturalidad de los movimientos reales y las expresiones transmitidas de la filmación39.

5.2.2 Stop motion

En esta técnica, la animación se crea capturando fotografía a fotografía la manipulación física de objetos. Esta manipulación es realizada por el animador, haciendo parecer que los objetos cobran vida. Dependiendo de los objetos usados en la animación stop motion se distinguen los siguientes tipos:

5.2.2.1 Pixelation

La animación de objetos comunes e incluso personas. Con esta técnica se consigue que las personas y los objetos realicen extraños movimientos como flotar, deslizar, aparecer y desaparecer de la escena, etc.

5.2.2.2 Claymation

Emplea plastilina, arcilla o algún otro material maleable para crear los personajes de la animación, aprovechando las cualidades del material el animador puede modificar a voluntad los personajes a lo largo de la filmación.

5.2.2.3 Puppet animation

En lugar de usar objetos simples, los personajes de la animación son títeres diseñados para ejecutar diferentes movimientos que permiten transmitir calidad humana con más facilidad.

5.2.2.4 Sand animation

Es el uso de arena como lienzo para crear animación. Este tipo de animación es considerada como la más transitoria, ya que el dibujo realizado inicialmente se transforma a lo largo de la animación y la obra original se pierde en el proceso.

39 SIMON, Mark. Producing Independent 2D Character Animation: Making and Selling a Short Film. Amsterdam Boston: Focal Press, 2003. p. 144-149.

Page 35: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

35

5.2.2.5 Animación con recortes

Se usan figuras recortadas de cartón, papel o fotografías para crear los cuerpos de los personajes. Generalmente las extremidades son partes móviles que los animadores van cambiando de posición o reemplazando para obtener las diversas poses y de esta manera dar vida al personaje40 41.

5.2.3 Animación por computadora42 43

La animación por computadora o animación digital es la principal técnica en la producción de cine animado. Esta técnica consiste en el uso de programas de computadora para generar la secuencia de imágenes de la animación. El software usado por los animadores permite crear las poses, las cuales son traducidas en coordenadas para generar las imágenes intermedias usando funciones matemáticas de interpolación. La mayoría de las veces, estas imágenes intermedias deben ser refinadas para obtener movimientos más naturales, ya que la computadora no sabe transmitir emociones y el resultado es un movimiento robótico. En efecto, la animación por computadora puede basarse en una representación de los objetos bidimensional (2D) o tridimensional (3D), aunque el resultado final siempre será bidimensional.

5.2.3.1 Animación por computadora 2D44

Consiste en el uso de software como Flash o ToonBoom que permiten manipular en un entorno bidimensional elementos como mapas de bits o gráficos vectoriales, con el fin de crear movimiento cuadro a cuadro o mediante la interpolación de movimiento generada a partir del cálculo entre poses claves. Este tipo de animaciones está restringida a los movimientos posibles en el plano, pero al carecer de una 3 dimensión hacen uso de las escalas para simular la profundidad.

40 PURVES, Barry. Basics Animation 04: Stop-motion. Switzerland New York: AVA Publishing SA, 2010. p. 200 41 PURVES, Barry. Stop Motion: Passion, Process and Performance. Amsterdam London: Elsevier/Focal, 2008, p. 347 42 MEALING, Stuart. The art and science of computer animation. Oxford, England: Intellect Books, 1998. 308 p. 43 CASTRO, Karina y SÁNCHEZ, José Rodrigo. Dibujos animados y animación. Historia y compilación de técnicas de producción. Quito, Ecuador: Ediciones Ciespal, 1999. p. 208-212. 44 Ibíd. p. 13

Page 36: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

36

5.2.3.2 Animación por computadora 3D45

En la animación 3D se usan software que permiten simular un entorno en tres dimensiones, con los cuales el proceso de creación de animaciones 3D se divide en distintas etapas.

Primero se diseña y modelado de cada uno de los objetos y personajes que se van a utilizar. Los programas de ordenador que se utilizan para este proceso, tales como Maya, 3D Studio Max o Blender (software libre) tienen herramientas para crear objetos poligonales. Una vez que el personaje ha sido modelado lo que se ha obtenido en realidad es un cascaron. Luego se procede a la textura, en la que define la naturaleza de los personajes y su entorno, el tipo de piel que se tenga, la textura de la ropa, los objetos que rodean, etc.46

En consecuencia, para animar un personaje una vez modelado y texturizado, generalmente se crear un esqueleto interno de huesos virtuales bones. Se establecen las articulaciones y la jerarquía de huesos para que, al mover una parte del cuerpo del personaje, el resto del cuerpo reaccione a este movimiento, pareciendo ser más natural.

Una vez definidos por completo los objetos y personajes que componen la escena, se procede a la animación. En primer lugar, se establecen las poses clave haciendo transformaciones en los ejes X, Y, Z y con la ayuda del software, se calculan las posiciones intermedias. Posterior se realizan las respectivas modificaciones a los movimientos y una vez terminada la animación, se realiza el renderizado.

En este sentido, la complejidad de los programas de animación tridimensional hace que solo puedan utilizarse en computadoras que tengan gran velocidad y extensa memoria, de acuerdo con Linda Tway47. Pero en efecto, hoy la animación en 3D domina cuando se trata de largometrajes. Además, también hay otro tipo de animación que se llama captura de movimiento. Sin embargo, la captura de movimiento no es realmente un tipo de animación, sino un medio que mezcla la acción en vivo y animación 3D.

45 BEANE, Andy. 3D animation essentials. Indianapolis, Ind: John Wiley & Sons, 2012.p 336 46 PERTIÑES, Jesús. Animación 3D en la televisión en España: análisis y forma de contenido. [en línea], En: Universidad del Zulia. Opción, vol. 32, no. 10, 2016, p.464-478. agosto de 2016 [Consultado 30 junio 2018]. Disponible en Internet: http://www.redalyc.org/pdf/310/31048901025.pdf 47 TWAY, Linda. Multimedia in action! Boston, Massachusetts: AP Professional, 1995. p.41

Page 37: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

37

5.3 CAPTURA DE MOVIMIENTO (MOCAP)48

La captura de movimiento o MoCap (por su abreviación en inglés de Motion Capture), es el muestreo y grabación digital del movimiento de cualquier cosa que existe en el mundo real, aunque generalmente los movimientos grabados son de actores y animales. El MoCap se utiliza principalmente en la industria del cine de ciencia ficción para animar las acciones de modelos por computador, ofreciendo resultados más rápidos y expresiones corporales más cercanas al mundo real. En la industria de los videojuegos se utiliza para interactuar con el propio juego, como es el caso de los juegos de Wii y su interacción a través del Wiimote. En los deportes se utiliza para analizar la locomoción, tanto para estudiar problemas físicos como para mejorar el rendimiento deportivo.

Actualmente los sistemas MoCap más usados son los ópticos, magnéticos, mecánicos e inerciales de los cuales se hablará especialmente del sistema de captura de movimiento ópticos ya que este fue el sistema utilizado en la realización del largometraje animado.

5.3.1 Sistema magnético.

Este tipo de sistema utilizan sensores que miden el campo magnético de baja frecuencia emitido por un transmisor centrar. Los sensores son ubicados alrededor de las articulaciones del cuerpo del sujeto, en donde cada uno trabaja para generar mediciones sobre la posición y la rotación de la articulación correspondiente. Este sistema de captura puede reaccionar a los campos magnéticos del entorno que interfieren con el flujo de corriente magnética, generado distorsión de los resultados, por lo que este tipo de sistema de captura se utiliza en entornos controlados49.

5.3.2 Sistema mecánico

Los sistemas de captura de movimiento mecánico usan una estructura con sensores electro goniómetros unida al cuerpo del sujeto para obtener los ángulos de las articulaciones durante una secuencia de movimiento. En comparación con los sensores ópticos, el sistema de captura de movimiento mecánico mide directamente los movimientos, permitiendo al sujeto moverse libremente en un 48 CHONG, Andrew. Digital animation. Lausanne, Switzerland, New York N.Y. AVA Academia Distributed in the USA & Canada by Watson-Guptill Publications, 2008. p. 124-125. 49 NOGUEIRA, Pedro. [En línea] Motion Capture Fundamentals, 2011. Disponible en internet [Consultado el 23 de febrero de 2017]: https://paginas.fe.up.pt/~prodei/dsie12/papers/paper_7.pdf

Page 38: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

38

entorno grande sin estar restringido a un campo visual de un sistema de cámara y tampoco se ve afectado por las condiciones de luz. En contraparte la estructura usada por estos sistemas suele ser engorrosa y limitante para algunos movimientos50.

5.3.3 Sistema inercial

Los sistemas inerciales cuentan con dos tipos principales de sensores, los acelerómetros y giroscopios. Los acelerómetros miden el desplazamiento posicional de dicha masa, mientras que los giroscopios miden la rotación. Al combinar tres acelerómetros y tres giroscopios, es posible capturar la posición tridimensional y la rotación tridimensional. Una de las características más convincentes de los sensores de inercia es que dependen de leyes físicas (gravedad), y no se ven afectadas por factores externos, como la iluminación. Además, pueden convertirse en unidades muy pequeñas y autónoma, con bajo consumo de energía y altas tasas de muestreo51.

5.3.4 Sistema óptico

Los sistemas ópticos usan cámaras para capturar la posición de marcadores pasivos o activos que recubren a objetos o actores en movimiento. Estos sistemas necesitan de 3 a más cámaras en combinación de una computadora que incorpora un software para combinar las diversas vistas utilizando técnicas de triangulación, lo cual da como resultado la posición cuadro a cuadro de cada marcador en el espacio52 53.

Cabe resaltar, que en un sistema óptico pasivo, los marcadores son pequeñas esferas cubiertas de un material retro reflectante que permite reflejar la luz emitida por las cámaras equipadas con diodos emisores de luz (LED). En cambio, en los sistemas ópticos activos los marcadores son LEDs, esto ayuda a disminuir los problemas causados por la iluminación y permite modular en amplitud o frecuencia cada marcador para identificar con más precisión su posición.

50 Ibid., p.4. 51 Ibid., p.8. 52 BRAVO, Abdel.; RENGIFO, R.; AGREDO, R. Comparación de dos sistemas de captura de movimiento por medio de las trayectorias articulares de marcha. [en línea], En: Scielo. Rev. Mex. Ing. Biomed. Vol. 37, núm. 2. México. May/ago 2016. 01 de marzo de 2016 [consultado 03 julio 2018]. Disponible en Internet: https://goo.gl/NW1fUi 53 Ibid, p. 4-5. Disponible en Internet: https://goo.gl/NW1fUi

Page 39: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

39

En este sentido, los sistemas de captura ópticos tienen como desventaja la oclusión de marcadores por causa del movimiento del sujeto o por otros sujetos y accesorios, dando como resultado la pérdida de datos. Además, en el caso de los marcadores pasivos se debe tener especial control de la iluminación durante la sesión de captura, esto para poder asegurar una reflexión adecuada de los marcadores y así evitar problemas de falsas reflexiones, intercambio de marcadores, datos ruidosos o faltantes.

Otro factor que puede influir en la captura de los datos es la calibración del sistema óptico. Cuando las cámaras se encuentran bien calibradas y todos los marcadores están dentro del volumen calibrado, el sistema puede rastrear los marcadores con facilidad, pero cuando ninguna cámara puede ver un marcador durante un período de tiempo y comienzan a verlo nuevamente, genera un vacío en los datos donde no se registró la posición del marcador.

Para solucionar los problemas mencionados anteriormente y obtener un movimiento fluido en la animación de los personajes, se debe realiza un procesamiento posterior a la captura de los datos. Este proceso se conoce como limpieza de datos.

5.4 LIMPIEZA DE DATOS MOTION CAPTURE (MOCAP)54

Los datos capturados son representados a través de diversos formatos; en este sentido, en los sistemas ópticos, los datos pueden personificar las posiciones de los marcadores que se mueven en el espacio y el tiempo o los datos rotacionales de cada articulación en una estructura de herencia de esqueleto. En ambos casos, la limpieza de datos es básicamente la misma, o bien hay datos incorrectos que deben ser reemplazados con mejores datos o no hay datos y se deben crear. Al respecto, los problemas más comunes en la limpieza de datos son las lagunas de datos y los picos. Los picos son datos con valores que cambian de forma repentina y/o repetidamente, disparados en una dirección extraña. Otro problema común en los datos de MoCap es "temblar", esto ocurre cuando un grupo de marcadores cambian ligeramente en cada fotograma en la misma área.

54 KITAGAWA, Midori y WINDSOR, Brian. En: MoCap for artists: workflow and techniques for motion capture. Amsterdam Boston: Elsevier/Focal Press, 2008, p. 216

Page 40: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

40

Es de destacar que una solución simplemente es cortar esas secciones, otra es usar algoritmos de filtrado de herramientas de software para remover los errores. Pero como último recurso, se debe intentar arreglar manualmente los problemas de los datos, ya que el tratar de colocar los datos donde se supone que deben estar puede consumir mucho tiempo. El esfuerzo y el nivel de detalle necesario en la limpieza de los datos dependen en gran medida del tipo de producto para el cual será usada la captura. Si es para una película o transmisión, es posible ahorrarse algún esfuerzo identificando la toma que se representará utilizando la cámara en la fase de preproducción, pero si el caso es una interacción en donde el usuario podrá ver librante el movimiento en cualquier momento, lo más seguro es limpiar al detalle. 5.5 CURVAS DE ANIMACIÓN

Las curvas de animación son una técnica empleada en programas de animación para representar y manipular de manera gráfica los atributos de un objeto en un entorno. En el caso de la animación 3D los atributos básicos como rotación, posición y la escala cuentan con tres componentes (X, Y y Z), estos se dividen por canales para ser representados en función de magnitud y tiempo. La representación de las curvas emplea un gráfico en el que generalmente el eje horizontal representa los frames (por tanto, el tiempo) y el eje vertical los valores que pueden tomar los objetos respecto a las magnitudes. Al final un atributo como la posición está representado por tres curvas de animación (X, Y y Z) cada una representando la información de dicha componente a lo largo del tiempo. La trayectoria de una curva de animación está dada por sus keys, los cuales son puntos de control por donde la curva pasa. Una curva de animación puede tener múltiples keys, por ejemplo, en animaciones por captura de movimiento generalmente tiene de 30 a 60 keys por segundo, De esta manera manipular este tipo de curvas se vuelve muy engorroso y torpe ya que es difícil determinar con precisión los puntos a editar. (Ver figura 5).

Page 41: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

41

Figura 5. Curvas de animación.

5.6 ALGORITMOS DE CURVAS

Como se mencionó en el apartado 5.4 (limpieza de datos motion capture), una solución para remover los errores de la curva de animación es el uso de algoritmos tales como el de Casteljau o la Interpolación Lineal, los cuales podrían ser utilizados como métodos de filtrado.

5.6.1 Algoritmo de Casteljau55 56.

El algoritmo de Casteljau consiste en la aplicación repetida de la interpolación al polígono de control de curva de Bézier. Inicialmente, la representación no se podía realizar por computadora, puesto que no había ninguna potencia informática de cálculo, para ello, cuando surgieron las curvas de Bézier en los años 50-60, se usó un algoritmo que es el algoritmo de Casteljau, que fue nombrado en honor del matemático Paul Casteljau. El algoritmo de Casteljau está basado en la repetición sucesiva del ejemplo básico, que es el segmento entre dos puntos. El último paso del algoritmo de Casteljau, b0 n (t), t € [0,1], se llama curva de Bézier y se denota por B[b0,…,bn; t], donde bi 0 , i=0… n, son los puntos de partida y bi r (t)=(1-t)bi r-1(t)+tbi+1 r-1(t). Los puntos b0,…,bn se llaman vértices de control y el polígono formado por los vértices de control se llama polígono de control. 55 BRAVO, Orlando. Modelización con curvas y superficies de Bézier. En: Modelling in Science Education and Learning. 2011, vol. 4, no.14 p 118 - 193. 56 MENDOZA, María José. Curvas interesantes en matemáticas. Temas para la Educación. En: Revista Digital Para Profesionales de la Enseñanza. Septiembre, 2011, no. 16. p 1 - 2

Page 42: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

42

Las ventajas del algoritmo de Casteljau son su simplicidad y el hecho de que involucra solamente sumas, ya que todos los términos son positivos. Para resolver el problema de la interpolación, se debe encontrar la curva de control de la curva de grado n que verifique.

Figura 6. Curva de Bezier.

Fuente: SAHA, A. Et al. Fluid mechanics and fluid power - contemporary research: proceedings of the 5th International and 41st National Conference on FMFP 2014. New Delhi: Springer, p 689.

5.6.2 Interpolación lineal57.

Interpolación consiste en buscar información dentro de un intervalo en el que se conoce los valores en los extremos. Si se supone que las variaciones son proporcionales, se usa interpolación lineal. Sean dos puntos (x1, y1) y (x3, y3), entonces la interpolación lineal consiste en hallar una estimación del valor y2, para un valor x2 tal que x1 < x2 < x3.

57 GOMEZ, Jesús. Alcala de Guadaira: MAD. En: Matemáticas: Profesores de Enseñanza Secundaria. 2007. p 137.

Page 43: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

43

Figura 7. Interpolación Lineal

Fuente: MAS MATES .net. [en línea]. Función lineal e interpolación lineal. [Consultado el 08 de agosto de 2018] Disponible en internet: https://goo.gl/JphQcj

5.7 FILTROS DIGITALES58

Un filtro es un proceso computacional o algoritmo mediante el cual una señal digital (secuencia de muestras) es transformada en una segunda secuencia de muestras o señal digital de salida. Los filtros se utilizan mucho en todos los ámbitos del procesamiento de señales. En el área de las señales de audio, se define un filtro, específicamente como un objeto que altera el espectro o el contenido frecuencial de una señal. Los filtros se utilizan de forma práctica en todo tipo de situaciones musicales, ya sea para la modificación radical de una señal sintética o para situar espectralmente una grabación de música instrumental.

Un filtro digital, es un filtro que opera sobre señales digitales. Es una operación matemática que toma una secuencia de números (la señal de entrada) y la modifica produciendo otra secuencia de números (la señal de salida) con el objetivo de resaltar o atenuar ciertas características. El objetivo es permitir pasar inalterada cierta banda de frecuencias y bloquear completamente el resto. Hay cuatro tipos básicos de filtros: pasa bajas (Low Pass, LP), pasa altas (High Pass, HP), paso de banda (Band Pass, BP) y los filtros rechazo de banda (o paso no banda) (Band Reject, Band stop o Notch). El intervalo de frecuencias que deja pasar el filtro se le denomina banda de paso y todas las frecuencias que elimina se le llama banda de supresión.

58 SMITH, Steven W. The scientist and engineer's guide to digital signal processing. San Diego: California Technical Pub, 1999. p.217.

Page 44: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

44

El filtro pasa bajo (LP) permite pasar las frecuencias que están por debajo de cierta frecuencia. El Filtro paso alto (HP) permite pasar las frecuencias que están por encima de cierta frecuencia. Estos dos tipos de filtros son definidos por su frecuencia de corte, que es la frecuencia a la cual la amplitud de la señal se reduce. El filtro pasa banda (BP) permite pasar las frecuencias que se encuentran en una banda de frecuencia específica, es decir, entre dos determinadas frecuencias. Los filtros de rechazo de banda (BR) dejan pasar todas las frecuencias exceptuado aquellos se encuentran en una determinada banda de frecuencia, es decir, entre dos determinadas frecuencias f1 y f2.

Figura 8. Parámetros en el dominio de la frecuencia

Fuente: SMITH, Steven W. The scientist and engineer's guide to digital signal processing. San Diego: California Technical Pub, 1999. Print. p 268

5.8 RENDER 3D

En el campo de los gráficos por ordenador, el término render se refiere al proceso de generar imágenes desde una escena tridimensional. Las escenas contienen información sobre geometría, iluminación, texturas y puntos de vista que mediante cálculos de diferentes fórmulas ejecutadas en algoritmos permite aplicar conceptos de óptica como oclusión, reflexión, refracción, simulaciones de lentes,

Page 45: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

45

entre otros, creando una serie de efectos que se asemejan al mundo real59. El render de una escena que cuenta con texturas e iluminación aumenta la carga computacional del proceso, por lo que generar una imagen puede tardar de horas a días, incluso en una estación de trabajo poderosa, ya que cada píxel de la imagen es calculado meticulosamente por el motor de render para asegurar obtener el color adecuado60.

5.9 GRANJA DE RENDER

Una granja de render o render farm es la agrupación de computadoras mediante una red con el fin de repartir la carga computacional del proceso render para obtener el menor tiempo posible de procesamiento. Las granjas de render son ampliamente utilizadas en la industria del cine para renderizar los efectos especiales y escenas de animaciones complejas61.

Las granjas de render en su forma más simple están compuestas por servidores, sistema operativo, dispositivos de red, software tridimensional y herramienta de gestión de tareas. Los servidores son ordenadores preparados para asumir grandes cargas de cálculo durante tiempo prolongado, los cuales cuentan con sistemas operativos como Windows o Linux para conectarse mediante switches y routers compartiendo las escenas visualizadas en software tridimensionales como 3Ds Max, Maya, Nuke, entre otros; y luego son administradas por la herramienta de gestión de tareas.

5.10 RENDER POR CAPAS

El render por capas es una técnica que permite plasmar los atributos del render en diferentes imágenes, con lo cual es posible editar cada atributo individualmente, dando mayor control, libertad y facilidad en postproducción. Cada una de estas imágenes pertenece a una capa de render, las cuales aportan información específica como brillos, sombras, profundidades, reflejos, etc. Estas capas luego

59 OSORIO BETANCUR, Juan David. Evaluation of a Distributed Rendering Solution in the Computer Room of Universidad Icesi for the Industrial Design and Interactive Media Design Students [en línea]. Cali, Universidad Icesi, 2010 [consultado 12 de septiembre de 2016]. Disponible en Internet: https://goo.gl/At02Fn 60 SAN RAFAEL, CALIF. The art of Maya: an introduction to 3D computer graphics, 2007, p.75. 61 AUTODESK, INC. Autodesk Backburner 2011 User Guide [en línea]. Autodesk, 2010 [consultado 04 de octubre de 2016]. Disponible en Internet: https://goo.gl/KtGj9a

Page 46: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

46

se combinan en postproducción mediante programas como Photoshop o after effect para obtener el render final62. Las capas de render más usadas son:

• Color (Difuso), esta capa almacena los colores de los objetos de la escena, es el RGB en sí y no tiene iluminaciones ni sombras.

• Sombra (Shadow), esta capa almacena las sombras de la escena. En casos particulares permite alterar el color de la sombra, e incluso la posibilidad de introducir gradientes de color.

• Oclusión ambiental (Ambient Occlusion), es la representación de la exposición de cada punto de la escena en función de una iluminación ambiental. El resultado es un efecto de sombreado difuso y no direccional que se crea entre los objetos que están próximos y sus intersecciones.

• Transparencia (Alpha), esta capa guarda el canal Alpha de la imagen. Es muy usada para colocar imágenes como fondos en postproducción.

• Especular (Specular), almacena los reflejos especulares de los objetos. Se utiliza para indicar que zonas son más brillantes y que zonas son más mate.

• Reflexión, almacena los reflejos de un rayo de luz que incide sobre una superficie de la escena. Esta capa incluye reflejos de otros objetos o el ambiente circundante.

• Profundidad (Z-Depth), almacena información de profundidad de cada punto de la escena. Sirve para hacer desenfoque de la imagen dependiendo de la profundidad de los objetos en la escena. Se utiliza para simular la lejanía o enfocando la atención en objetos concretos.

• ColorID, permite separar mediante colores planos los objetos de la escena a partir del ID del objeto.

62 RENDER ELEMENTS [en línea]. JAIME3D.INFO [consultado 20 de octubre de 2016]. Disponible en Internet: https://goo.gl/bCJNYT

Page 47: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

47

5.11 DISEÑO CENTRADO EN EL USUARIO

El DCU (Diseño Centrado en el Usuario) o también llamado diseño centrado en el ser humano según el World Wide Web Consortium (W3C), es definido por la ISO 9241-210:2010 (Ergonomics of human-system interaction - Part 210: Human-centred design for interactive systems) como un enfoque para el desarrollo de sistemas interactivos que tiene como objetivo hacer que los sistemas sean usables y útiles centrándose en los usuarios, sus necesidades y requerimientos, aplicando el conocimiento y las técnicas de usabilidad. Este enfoque mejora la eficacia y la eficiencia, mejora el bienestar humano, la satisfacción de los usuarios, la accesibilidad y la sostenibilidad; y contrarresta los posibles efectos adversos del uso63. Para la UXPA (User Experience Professionals Association) el diseño centrado en el ser humano se caracteriza por: Una participación de los usuarios, el reparto apropiado de funciones entre usuarios y sistema, las Iteraciones en las soluciones de diseño y equipos de Diseño multidisciplinarios64

El Dr. Donald Norman, un investigador en ciencias cognitivas, fue el primero en explicar la importancia del diseño centrado en el usuario. Para Donald las decisiones de diseño deberían basarse en las necesidades y deseos de los usuarios, por ello define cuatro diferentes actividades para el proceso del DCU65, las cuales se describen a continuación:

Primero la observación, observar a tus usuarios para salir de su contexto en el mundo. La realización de investigaciones de usuarios ayuda a comprender las necesidades y los objetivos del usuario.

Segundo la generación de ideas, es importante establecer una colaboración radical con los miembros del equipo durante todos los pasos del proceso y desarrollar la idea de un equipo en lugar de la idea de un individuo. Organizar talleres y sesiones de intercambio de ideas con partes interesadas clave y miembros del equipo puede ayudar a enfocarse en la misma visión del problema y el producto. También mostrar ideas y construir soluciones visuales ayudará a resolver el cómo resolver el problema, en lugar de discutir sobre qué problema resolver.

63 ISO 9241-210:2010(en) Ergonomics of human-system interaction — Part 210: Human-centred design for interactive systems [en línea]. ISO, 2010 [consultado 20 de Junio de 2016]. Disponible en Internet: https://www.iso.org/obp/ui/#iso:std:iso:9241:-210:ed-1:v1:en 64 UXPA. Definitions of User Experience and Usability [en línea]. Uxpa, 2014 [consultado 2 de octubre de 2016]. Disponible en Internet: https://goo.gl/bgPWLZ 65 NORMAN, Donald A. The design of everyday things. New York, New York: Basic Books, 2013. 221-230 p.

Page 48: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

48

Tercero prototipo, crear bocetos, construir un prototipo rápido y probarlo ayuda a desarrollar una filosofía de "construir para aprender”. Probar el prototipo con usuarios reales, dándoles algunas tareas para completar, y luego de reunir sus entradas, se puede comenzar a implementar el producto.

Cuarto las pruebas e iteraciones: Las pruebas de usuario son clave en el proceso, los comentarios de los usuarios permiten saber qué aspectos de la solución resuenan y cuáles no, lo que ayudará a realizar los cambios que los usuarios han solicitado. La iteración también es clave en UCD, ejecutar pruebas de usuario antes, durante y después del desarrollo conduce a los mejores resultados.

El enfoque de diseño centrado en el usuario es un proceso creativo de resolución de problemas en varias etapas y ayuda a construir el producto que los usuarios desean, en lugar de obligarlos a cambiar su comportamiento para usar el producto. Además, permite por medio de estos procesos poner a los usuarios en el centro del diseño y el desarrollo de productos digitales teniendo en cuenta los requisitos, objetivos y comentarios del usuario.

5.12 SCRUM

Los co-creadores de Scrum Ken Schwaber y Jeff Sutherland definen Scrum como un marco dentro del cual las personas pueden abordar problemas adaptativos y complejos, al tiempo que ofrece productiva y creativamente productos del más alto valor posible. Scrum en sí mismo es un marco simple de entender, ligero y difícil de dominar. Según la guía de Scrum que han escrito Ken Schwaber y Jeff Sutherland co-creadores de este marco de trabajo, se define a continuación los tres pilares y los procesos a seguir que sustentan el marco de Scrum66.

Transparencia, los aspectos importantes del proceso deben ser visibles para todos los interesados y responsables del resultado. La transparencia requiere que esos aspectos sean definidos por un estándar común para que todos entiendan lo que se está viendo.

Inspección, Scrum promueve la inspección frecuente de los artefactos y avanzar hacia el objetivo del Sprint para detectar variaciones indeseables, se aconseja que su inspección no debería ser tan frecuente a tal punto que obstaculice o retrase el trabajo, las inspecciones son más beneficiosas cuando son realizadas 66 SCHWABER, Ken, SUTHERLAND, Jeff. La Guía de Scrum [en línea]. En: Scrum and ScrumInc [Consultado el 23 de Octubre de 2014]. Disponible en: https://goo.gl/GepdCw

Page 49: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

49

diligentemente por inspectores expertos, generalmente estas son realizadas durante los eventos o ceremonias del Sprint.

Adaptabilidad, después de la inspección se deberían hacer ajustes al proceso en caso de que un inspector determine que uno o más aspectos del proceso se desvían de los límites aceptables y que el producto resultante será inaceptable. En este caso se debe hacer un pronto ajuste para minimizar la desviación o reproceso en el trabajo que se está realizando.

Scrum prescribe cuatro eventos formales para inspección y adaptación, los cuales son Sprint Planning, Daily Scrum, Sprint Review y Sprint Retrospective.

Figura 9. Proceso de Scrum

Fuente: SCRUM [en línea]. ScrumFramework. [Consultado el 22 de septiembre de 2018] Disponible en internet: https://goo.gl/mj12W4

El proceso de Scrum parte de un método de desarrollo de software iterativo e incremental impulsado por el Product Backlog, una lista que contiene todos los requisitos del producto activo, este es administrado por el Product Owner, que es la única persona autorizada para cambiar las prioridades de los requisitos.

Scrum estructura el desarrollo de productos en ciclos de trabajo llamados Sprints, iteraciones de trabajo que generalmente tienen entre 1 a 4 semanas de duración. Cada Sprint se inicia con una reunión de planificación de Sprint, donde se forma la

Page 50: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

50

lista de un subconjunto de requisitos del Product Backlog que define la funcionalidad que se desarrollará en el Sprint actual. Cada requisito se divide en tareas que cada una toma aproximadamente de 4 a 16 horas para terminar.

La funcionalidad es desarrollada por el equipo solucionador, un grupo de personas que son colectivamente responsables del éxito de cada iteración, y del proyecto como un todo. Los equipos son autoadministrables, auto-organizados y multifuncionales, y son responsables de descubrir cómo convertir el Product Backlog en un incremento de la funcionalidad dentro de Sprint.

El Scrum Master es responsable de administrar el proceso de Scrum para que se ajuste a la cultura de la organización y aun así brinde los beneficios esperados, y para garantizar que todos sigan las normas y prácticas de Scrum. También es responsable de resolver los impedimentos encontrados durante el Sprint para asegurar un funcionamiento sin problemas del proceso de desarrollo.

Al final del Sprint, se celebra una reunión de revisión de Sprint en la que el equipo presenta los resultados de Sprint al propietario del producto (Product Owner). Después de la revisión del Sprint y antes de la próxima reunión de planificación de Sprint, el Scrum Master también realiza una reunión retrospectiva de Sprint para garantizar la mejora continua.

La metodología Scrum es ideal para cualquier equipo que esté creando un producto a pedido de un cliente y donde las especificaciones exactas del producto final no se detallen explícitamente desde el principio. Además, trabajar con Scrum permite dividir cada proyecto en pedazos pequeños, priorizándolos y entregándolos en tiempos cortos.

5.13 FICHA PERSONA

Es una descripción del tipo de personaje que representa a un grupo de usuarios que ayuda a la organización a entender a sus clientes. El objetivo de esta técnica de Persona es el de recoger información cualitativa o cuantitativa del usuario que permita identificar arquetipos o patrones de comportamiento, dar información detallada y una compresión consistente de un tipo de audiencia específica. Se debe tener en cuenta que el objetivo de personas no es representar a todos los públicos ni atender todas las necesidades del producto a desarrollar, sino centrarse en las principales necesidades de los grupos de usuarios más

Page 51: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

51

importantes. Se recomienda realizar las siguientes actividades para garantizar que los personajes creados sean representaciones precisas de los usuarios67:

• Llevar a cabo la investigación del usuario respondiendo las siguientes preguntas: ¿Quiénes son sus usuarios y por qué están usando el sistema? ¿Qué comportamientos, suposiciones y expectativas colorean su visión del sistema?

• Buscar temas o características que sean específicos, relevantes y universales para el sistema y sus usuarios.

• Organizar elementos en grupos de personas que representen a sus usuarios objetivos.

• Combinar y priorizar las personas ásperas. Separarlos en categorías primarias, secundarias y, si es necesario, complementarias. Debe tener aproximadamente 3-5 personas y sus características identificadas.

• Desarrollar las descripciones apropiadas de cada persona, antecedentes, motivaciones y expectativas.

Las fichas Persona ayudan a investigar las acciones, costumbres y comportamientos de los usuarios, siendo esto útil en el proceso de creación de un nuevo producto o servicio, además se puede utilizar para la elaboración de requerimientos.

67 US DEPARTMENT OF HEALTH & HUMAN SERVICES. Personas [en línea]. usability [consultado 21 de septiembre de 2018]. Disponible en Internet: https://www.usability.gov/how-to-and-tools/methods/personas.html

Page 52: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

52

6. DESARROLLO

Para el desarrollo de la herramienta se decidió usar el marco de trabajo Scrum como base contenedora de una metodología DCU (ver descripción de los conceptos DCU Y Scrum en el marco conceptual). Esto con el fin de entender el proceso de limpieza de curvas de animación, las necesidades del usuario y entregar rápidamente una base funcional de la herramienta. Con esta base los usuarios podrían realizar tareas puntuales mientras se incrementaba funcionalidades y el proceso de limpieza del largometraje iba avanzando, ya que el equipo de animación del largometraje había iniciado la fase de limpieza de curvas y seguirán avanzando mientras la herramienta era desarrollada.

Tomando en cuenta las características de Scrum y DCU, el desarrollo del proyecto se dividió 2 etapas Planeación e implementación. A continuación, se abordarán en detalle cada uno de las etapas y los resultados obtenidos en ellas.

• Etapa de planeación. Se realiza la recolección y análisis de información para comprender el contexto, los usuarios y sus necesidades. De esta forma se identifican factores que pueden llegar a influir en el desarrollo del proyecto y entender elementos de valor con respecto a los objetivos del proyecto y el perfil del usuario. Con la información anterior se plantea los requisitos iniciales que sirvieron para componer las historias de usuarios. Posteriormente se realiza una búsqueda y selección de herramientas adecuadas para el desarrollo.

• Etapa de implementación. Se realiza en iteraciones denominadas “Sprint”, en las cuales se abordaban tareas correspondientes a diseño, construcción y pruebas con usuarios, dando como resultado las entregas del incremento del producto. Cada sprint cuenta con una serie de historias de usuario, también llamadas elementos de pila definida por el cliente, sobre los que trabajar, y obtener de esta manera, un entregable que ofrecerle a éste al finalizar cada sprint.

• Sprint. Para este proyecto los Sprint tienen una duración de 2 semanas y los resultados deben ser avances funcionales que son socializados en un inicio al director del largometraje (product owner) y luego al grupo de animación (usuarios) para ser evaluado. En cada Sprint se realizaron las siguientes actividades:

• Planificación del Sprint. Se selecciona y comprende el trabajo a realizar en el Sprint que comienza, definiendo qué historias de usuarios se asignan para ser desarrolladas. Como resultado se obtiene el Sprint Backlog, donde se estima el esfuerzo y tiempo necesario para realizar cada tarea. Se formuló una lista de tareas en base a las historias de usuario para definir el plan de trabajo del sprint.

Page 53: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

53

• Trabajo de desarrollo. Durante el Sprint el equipo de desarrollo aborda las tareas de diseño, construcción y pruebas con los usuarios para producir el incremento del producto de acuerdo con el Sprint Backlog e integrar con el avance anterior.

• Revisión del Sprint. Al final del Sprint se hace la presentación del incremento a los usuarios para facilitar la retroalimentación de información y adaptar el Product Backlog si es necesario. En caso de no terminar parte del trabajo previsto, se priorizan los requerimientos faltantes con los nuevos y se inicia un nuevo sprint.

Etapa de cierre. Indica la implementación de todas las historias de usuario, dando finalidad a la etapa de desarrollo e iniciado el proceso de documentación final.

A continuación, se presentan los participantes y los roles que tuvieron en la realización de este proyecto según el marco de trabajo Scrum.

Tabla 1. Definición de roles

Persona Rol

David Castro Director / Scrum Master

Juan Manuel Acuña Director del largometraje / Product Owner

Daniel Alzate Estudiante / Equipo técnico

Page 54: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

54

7. ETAPA DE PLANEACIÓN

En este apartado se describe el análisis y comprensión de los datos recolectados del contexto y los usuarios, con lo cual se obtuvo información para construir el perfil del usuario y proponer una experiencia. Posteriormente se plantean los requisitos funcionales y no funcionales con los cuales se definieron las historias de usuario y se finaliza con la selección de herramientas para dar inicio con la etapa de desarrollo.

7.1 ANÁLISIS Y COMPRESIÓN DEL CONTEXTO

Para identificar elementos de valor con respecto a los objetivos del largometraje y entender los factores o circunstancias que pudieran influir en las condiciones de uso de la herramienta a desarrollar, se realizó un proceso de indagación en donde se obtuvo la siguiente información.

El Padre, El Hijo y el Espíritu Santo es un proyecto que ha sido reconocido por el fondo para el desarrollo cinematográfico colombiano, como uno de los proyectos seleccionados en la modalidad de desarrollo de largometraje animado en la convocatoria del año 2011. Este largometraje se transformó en un proyecto de investigación en la Universidad Autónoma de Occidente en donde ha permitido la participación cooperativa e interdisciplinar de estudiantes de los programas de Cine, Ingeniería Biomédica e Ingeniería Multimedia. El largometraje como proyecto de aprendizaje ha ido proponiendo su tiempo de realización, en el cual los estudiantes cumplen su ciclo de participación y nuevos se vinculan68.

Los estudiantes que participan en el proceso artístico y tecnológico del filme se han vinculado a través del semillero de investigación del largometraje o mediante la figura de trabajo de grado para aprender sobre el proceso y/o lograr aportar conocimientos específicos de sus áreas. Según el director de la obra Juan Manuel Acuña, los estudiantes involucrados con el semillero de investigación cumplen roles como asistentes de dirección, directores de arte, modeladores, animadores, postproductores, etc. Estos diferentes perfiles de los participantes han permitido emplear programas como 3D Studio Max para el modelado y animación, el

68 UNIVERSIDAD AUTÓNOMA DE OCCIDENTE. OP Cit. Disponible en Internet: https://goo.gl/7kwmVQ

Page 55: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

55

sistema Optitrack para la captura de movimientos y Photoshop y After Effects para el montaje y la posproducción en general69.

La animación de los personajes del largometraje se realizó mediante la captura de movimiento de los actores, en el cual los datos grabados presentaron ruidos y distorsiones localizadas con características particulares. Al momento de insertar este material dentro de los modelos 3D ocasionó defectos en los movimientos de los personajes requiriendo limpiar las curvas de animación. Los encargados de realizar la tarea de limpieza de las curvas de animación son los integrantes del equipo de animación del largometraje, los cuales por la naturaleza del proyecto pueden estar desempeñando otros roles.

Con el fin de limpiar las curvas de animación y obtener un movimiento fluido en los personajes, los integrantes del equipo de animación del largometraje usaron el software 3ds Max para analizar y editar manualmente los múltiples errores presentes en cada componente X, Y y Z de las curvas de animación de cada hueso, de cada bípedo (esqueleto) y de cada plano grabado.

7.2 ANÁLISIS Y COMPRENSIÓN DE LOS USUARIOS70

Como se identificó en el apartado anterior, los integrantes del equipo de animación del largometraje son los encargados de realizar la tarea de limpieza y estos serán los posibles usuarios de la herramienta. Este equipo está conformado por 15 personas las cuales en este apartado se estudiarán para comprender sus características, necesidades y limitaciones, obteniendo información valiosa para orientar el diseño de la solución. Las técnicas de recolección de información aplicadas en el estudio de usuarios fueron entrevistas, grupo focal y observación.

7.2.1 Entrevista no estructurada

Se realiza una entrevista presencial no estructurada al docente Juan Manuel Acuña (product owner) director del largometraje “El padre, el hijo y el espíritu santo” y docente de los estudiantes que participan en el desarrollo del proyecto. El objetivo de la entrevista fue recopilar información sobre los usuarios, los cuales son estudiantes del programa de Cine y Comunicación Digital, con el fin de 69 COMUNICACIÓN SOCIAL. Universidad Autónoma de Occidente. Cuando el arte y la tecnología se alían para contar una historia [en línea] UAO. Santiago de Cali, 2016 [consultado 8 de abril de 2017]. Disponible en Internet: https://goo.gl/SZJubJ 70 U.S. DEPARTMENT OF HEALTH & HUMAN SERVICES [en línea]. What & Why of Usability [consultado 2 de noviembre de 2016]. Disponible en Internet: https://www.usability.gov

Page 56: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

56

entender las necesidades e inconvenientes que estaban presentando en la limpieza de las animaciones del largometraje. Con base a las preguntas realizadas en la entrevista, las cuales se encuentran en el anexo A, se logró obtener la siguiente información:

Los estudiantes que participan en el proyecto realizan la actividad de limpieza en el software 3d Max de forma manual, tanto en las instalaciones de la universidad como en sus casas. Según Juan Manuel Acuña, el proceso de limpieza que realizaban consistía en detectar visualmente movimientos anómalos en las animaciones, para posteriormente modificar las curvas de animación una por una, en algunos casos para dar solución borraban la información que contenía el error o la editaban hasta conseguir un movimiento fluido, este proceso debía realizarse varias veces hasta conseguir el resultado final. Se identificó también que la herramienta de autor 3DMax tiene un papel importante en la realización del largometraje animado, ya que es utilizada tanto para modelar, como para acomodar las escenas, luces, renderizar y actualmente para la limpieza de las curvas de animación. Debido a que el uso de esta herramienta es enseñado a los estudiantes de cine en la universidad, estos cuentan con experiencia de uso y habilidades básicas e intermedias con la herramienta.

7.2.2 Grupo focal

Para obtener información directa de los usuarios, se realiza un grupo focal con todos los estudiantes que actualmente participaban en el proceso de limpieza del largometraje “El padre, el hijo y el espíritu santo”. Esta técnica de grupo focal fue aplicada mediante una reunión del grupo del largometraje, en donde se abrió la discusión a los 15 futuros usuarios de la herramienta y se abordaron temas de necesidades, experiencias y deseos. Con este medio fue posible obtener de los usuarios las experiencias y opiniones del proceso actual de limpieza de curvas de animación para así lograr identificar las dificultades y/o posibles causas que impiden realizar la tarea. En el anexo B se encuentran las preguntas realizadas que permitieron obtener ideas para el concepto de la herramienta a desarrollar.

7.2.3 Observación

Se realizó la técnica de observación para obtener información de cómo los usuarios interactuaban y realizaban las tareas de limpieza sobre el software 3ds Max en los laboratorios de la universidad Autónoma de Occidente, estas observaciones fueron clave para comprender los pasos que realizaban en el proceso de limpieza los cuales eran:

Page 57: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

57

Una vez ejecutado el software 3ds Max el usuario crea un bípedo, luego carga el archivo de animación en el bípedo y reproduce la animación en busca de movimientos no deseados. Una vez detectado el error, se selecciona el hueso del bípedo que se va a modificar, al seleccionar el hueso, el usuario puede ver la curva de animación perteneciente a ese movimiento, el cual es corregido eliminando los datos de la curva de animación o posicionándolo de manera correcta en caso de que el movimiento no pudiese ser eliminado. Se observa nuevamente la animación para saber si el cambio obtuvo buenos resultados y se repite estos pasos una y otra vez hasta que todos los movimientos de la animación sean los deseados. Finalmente, con esta técnica se entiende que los usuarios realizan un proceso manual haciendo la tarea lenta y laboriosa.

• Resumen del perfil del usuario. Con la información obtenida de los usuarios se realizó una ficha persona. Se entiende que son un grupo de alrededor de 15 estudiantes, estos pueden cambiar durante la realización del largometraje, pero de forma general los participantes comparten características. A continuación, se presenta la infografía en donde se sintetiza la información obtenida del estudio del usuario, la cual se está diseñando, siendo clave al momento de tomar decisiones.

Page 58: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

58

Figura 10. Arquetipo del usuario

7.3 DESCRIPCIÓN DE LA EXPERIENCIA

A continuación, se presenta una narración en forma de historia con la cual se obtiene una aproximación de cómo será el funcionamiento de la herramienta, ayudando a conectar con el usuario y fundamentar ideas de diseño para el desarrollo de la herramienta.

El usuario inicia la herramienta, visualiza el espacio de trabajo conformado por la barra de opciones, el espacio 3D, la línea temporal y la zona de herramientas. Luego, se dirige a la barra de opciones en donde selecciona el archivo para cargar los datos de captura de movimiento. Una vez cargado los datos, el usuario visualiza el bípedo en el espacio 3D en donde con el “ratón” se desplaza a voluntad y haciendo uso de la línea temporal controla la animación permitiendo

Page 59: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

59

analizar los movimientos del bípedo desde todas las perspectivas posibles para detectar los comportamientos anormales de los huesos.

Cuando el usuario identifica los problemas en el movimiento, selecciona el hueso del bípedo desde el espacio 3D o desde la lista de los huesos ubicada en la zona de herramientas, luego la herramienta despliega la ventana gráfica en donde muestra la curva de animación del hueso seleccionado, permitiendo al usuario observar el comportamiento de los componentes X, Y y Z.

Para corregir la curva del hueso seleccionado, el usuario puede usar el ratón en la ventana gráfica para seleccionar manualmente los puntos que considera tienen errores o desde la zona de herramientas puede ingresar un parámetro como criterio de selección y dar click en “seleccionar” para seleccionar automáticamente los errores de la curva o parte de ella según el rango de acción dado por el usuario.

Una vez seleccionado los errores tanto de forma manual o automática, el usuario oprime el botón “corregir” ubicado en la zona de herramientas y los errores seleccionados son ajustados según el comportamiento de la curva. La ventana gráfica se actualiza permitiendo visualizar al usuario los resultados de la corrección realizada.

Cuando el usuario ha terminado de corregir los errores y desea guardar las modificaciones realizadas a las curvas de animación del personaje, se dirige a la barra de opciones y selecciona “guardar”.

7.4 ANÁLISIS Y DEFINICIÓN DE REQUERIMIENTOS FUNCIONALES Y NO FUNCIONALES

Partiendo de las características del contexto, las necesidades de los usuarios, la narración de la experiencia y teniendo en cuenta los algoritmos, a continuación, se plantean los requerimientos funcionales (RF) y requerimientos no funcionales (RNF) para el desarrollo de una herramienta que permita asistir el proceso de limpieza de curvas de animación para los participantes del largometraje animado.

Page 60: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

60

Tabla 2. Requerimientos funcionales de la herramienta

N.º Requerimiento funcional (RF) RF-01 El plug-in debe permitir al usuario cargar un archivo de animación de

formato bvh o bip. en un esqueleto bípedo. RF-02 El plug-in debe permitir al usuario visualizar el esqueleto en una

perspectiva 3D. RF-03 El plug-in debe permitir reproducir la animación del esqueleto, para que

el usuario pueda observar y detectar los movimientos anómalos. RF-04 El plug-in debe permitir al usuario seleccionar los huesos del esqueleto

para visualizar las curvas de animación. RF-05 El plug-in debe graficar las curvas de animación del hueso

seleccionado para que el usuario pueda observar el comportamiento. RF-06 El plug-in debe permitir la selección manual de los puntos para que el

usuario pueda limpiar la curva dependiendo de su criterio. RF-07 El plug-in debe permitir desplazar la curva de animación en los ejes X y

Y, para que el usuario observe detalladamente su comportamiento. RF-08 El plug-in debe permitir acercar y alejar la curva de animación en los

ejes X y Y, para que el usuario observe detalladamente. RF-09 El plug-in debe permitir al usuario ingresar un parámetro de referencia

decimal de 1 a 100. RF-10 El plug-in debe permitir al usuario seleccionar los picos de la curva de

animación, esto dependerá del parámetro de referencia ingresado. RF-11 El plug-in debe permitir al usuario seleccionar mesetas de la curva de

animación dependiendo del parámetro de referencia ingresado. RF-12 El plug-in debe permitir la selección de los picos y mesetas en un

rango de frames de la curva o en la curva completa. RF-13 El plug-in debe ajustar los picos seleccionados según el

comportamiento de la curva de animación. RF-14 El plug-in debe ajustar las mesetas seleccionadas según el patrón de

la curva de animación. RF-15 El plug-in debe permitir al usuario la selección de varios picos. RF-16 El plug-in debe mostrar al usuario los cambios realizados a la curva de

animación en tiempo real. RF-17 El plug-in debe permitir al usuario deshacer los cambios realizados. RF-18 El plug-in debe permitir guardar los cambios que el usuario ha

realizado en la curva de animación.

Page 61: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

61

Tabla 3. Requerimientos no funcionales de la herramienta

N.º Requerimiento No Funcional (RNF) RNF-01 El plug-in debe soportar la cantidad de puntos de los archivos de

MoCap del largometraje. RNF-02 La interfaz del plug-in debe ser fácil de usar. RNF-03 Los huesos del bípedo deben de estar nombrados por defecto (hip,

spine, spine 1, foot), restricción para poder listar los huesos. RNF-04 El plug-in se desarrollará en la herramienta de autor 3ds Max, por lo

cual se necesitará de esta para su despliegue. RNF-05 El plug-in se desarrollará en el lenguaje MAXScript. RNF-06 El plug-in debe importarse a 3ds Max. RNF-07 El plug-in debe guardar los cambios en formato .bvh o .bip.

7.5 DEFINICIÓN DE HISTORIAS DE USUARIO

A continuación, se presentan las historias de usuario (HU) para el desarrollo del plug-in, cada una de estas HU recogen de manera escrita los requisitos funciones y no funcionalidades, permiten describir las necesidades o requerimientos desde el punto de vista del usuario.

Tabla 4. Historia de usuario 01

Historia de Usuario 01: Abrir archivo

Descripción

Como usuario de la herramienta, quiero poder abrir un archivo de MoCap, para visualizar la animación contenida.

Criterios de aceptación

1. Para iniciar el uso de la herramienta, el usuario debe abrir el archivo de animación desde un menú.

1.1. Una vez el archivo es leído, el usuario podrá visualizar el esqueleto. 1.2 una vez abierto el archivo, el usuario debe poder contar con todas las funcionalidades normales de una la herramienta 3D.

RF RF-01, RF-02, RF-03 RNF RNF-01, RNF-02, RNF-04, RNF-06

Prioridad muy alta

Page 62: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

62

Tabla 5. Historia de usuario 02

Historia de Usuario 02: Seleccionar huesos

Descripción

Como usuario de la herramienta, quiero seleccionar los huesos del esqueleto para visualizar las curvas de animación.

Criterios de aceptación

1. El usuario podrá visualizar en pantalla una lista con los nombres de todos los huesos del esqueleto.

2. Si el usuario selecciona algún hueso de la lista, este se resaltará en el esqueleto de un color diferente.

3. El sistema no realizará ninguna acción sobre huesos que no se seleccionen desde la lista.

RF RF-04, RF-05 RNF RNF-02, RNF-03, RNF-04

Prioridad alta

Tabla 6. Historia de usuario 03

Historia de Usuario 03: Seleccionar manualmente

Descripción Como usuario de la herramienta, quiero seleccionar manualmente los puntos de animación para limpiar.

Criterios de aceptación

1. En la pantalla el usuario podrá seleccionar los picos o mesetas arrastrando el mouse sobre el área deseada o haciendo clic sobre ella.

RF RF-06 RNF RNF-00

Prioridad media

Page 63: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

63

Tabla 7. Historia de usuario 04

Historia de Usuario 04: Visualización detallada

Descripción

Como usuario de la herramienta, quiero poder acercarme, alejarme o generar desplazamientos laterales para visualizar en detalle la curva de animación.

Criterios de aceptación

1. Desde la pantalla el usuario utilizando el mouse podrá alejarse o acercarse obteniendo una mejor visualización de las curvas.

RF RF-07, RF-08 RNF RNF-00

Prioridad media

Tabla 8. Historia de usuario 05

Historia de Usuario 05: Ingresar valor de búsqueda

Descripción

Como usuario de la herramienta quiero digitar un valor de búsqueda que permite seleccionar automáticamente los picos o mesetas que se encuentren dentro de este parámetro.

Criterios de aceptación

1. En pantalla se mostrará un campo donde el usuario podrá digitar un número de 0 a 100. 1.1 Una vez digitado el número el usuario debe presionar un botón para buscar picos y otro botón para buscar mesetas. 1.2. La herramienta debe seleccionar automáticamente picos y mesetas que cumplan con el número ingresado anteriormente. 2. La herramienta debe desplegar una alerta al usuario si este digita un número fuera del rango establecido (0 a 100). 2.1. La herramienta debe desplegar una alerta al usuario si este intenta presionar el botón de búsqueda sin haber digitado previamente un número.

RF RF-09, RF-10, RF-11 RNF RNF-00

Prioridad alta

Page 64: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

64

Tabla 9. Historia de usuario 06

Historia de Usuario 06: Selección por partes

Descripción

Como usuario de la herramienta, quiero seleccionar los picos o mesetas en un rango de frames o en la curva completa, para limpiarlos.

Criterios de aceptación

1. La herramienta debe mostrar al usuario una lista con los tres canales de la curva X Y y Z. 1.1 El usuario debe seleccionar manualmente o automáticamente ingresando un valor (HU 05) el pico o meseta que desea limpiar. 1.2 Posteriormente podrá seleccionar de la lista uno o más canales a los cuales desea aplicar a la vez la limpieza. 1.3 Finalmente presionar botón de corregir pico o botón de corregir meseta. 1.4 La herramienta limpiará el pico o meseta en los canales que fueron seleccionados.

RF RF-12 RNF RNF-00

Prioridad media

Tabla 10. Historia de usuario 07

Historia de Usuario 07: Corrección automática

Descripción

Como usuario de la herramienta, quiero limpiar/corregir rápidamente el mal comportamiento de las curvas de animación, para mejorar el movimiento de los personajes.

Criterios de aceptación

1. La herramienta automáticamente debe aplicar la lógica y criterios matemáticos que permitan limpiar correctamente los picos y mesetas que el usuario seleccione. 2. La herramienta debe mostrar al usuario la curva corregida.

RF RF-13, RF-14, RF-15, RF-16 RNF RNF-00

Prioridad alta

Page 65: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

65

Tabla 11. Historia de usuario 08

Historia de Usuario 08: Deshacer cambios

Descripción

Como usuario de la herramienta, quiero deshacer los últimos cambios realizados, si se comete alguna equivocación.

Criterios de aceptación

1. La herramienta debe permitir al usuario a través de las teclas Ctrl + Z deshacer los cambios realizados.

RF RF-17 RNF RNF-00

Prioridad media

Tabla 12. Historia de usuario 09

Historia de Usuario 09: Guardar cambios

Descripción

Como usuario de la herramienta, quiero guardar los cambios realizados en la curva de animación cuando sea requerido.

Criterios de aceptación

1 La herramienta debe ofrecer una opción al usuario que le permita guardar los cambios cuando lo desee.

RF RF-18, RF-19 RNF RNF-00

Prioridad alta

7.6 INVESTIGAR, EVALUAR Y SELECCIONAR HERRAMIENTAS DE DESARROLLO

Teniendo en cuenta la información recolectada en el estudio del contexto, los usuarios y los antecedentes, a continuación, se presenta en 3 pasos la selección de la herramienta con la cual se desarrollará la solución planteada.

Page 66: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

66

Paso 1: Se definen criterios para la seleccionar.

Tabla 12. Criterios de selección para la herramienta de desarrollo

Criterios de selección

Criterios Explicación

Funcionalidad (Func)

La herramienta debe tener la capacidad de cumplir y proveer las funciones que se plantean para la realización del proceso de limpieza de curvas.

Dominio de la herramienta (Dom)

La experiencia que se tiene en el manejo de la herramienta.

Asequibilidad (Aseq)

La posibilidad de acceder a la herramienta de forma gratuita o a precio módico.

Documentación(Doc)

La herramienta debe proveer información o manuales lo suficientemente detallada que permita comprender cómo debe ser usada para realizar las tareas o procesos.

Agilidad (Agi)

Que la herramienta garantice agilizar el tiempo de construcción.

Eficiencia (Efic)

La capacidad que tiene la herramienta para brindar el rendimiento adecuado con relación a la complejidad del proceso de limpieza de curvas.

Paso 2: Con base a los criterios de selección definidos se realiza la búsqueda de herramientas y se analiza cada una de las alternativas.

• JAVAFX71: Es un conjunto de paquetes en tecnología Java que permite a los desarrolladores crear aplicaciones con interfaces gráficas visualmente atractivas y con alto rendimiento en el manejo de gráficos vectoriales, animación, sonido y video. Dado que JavaFX está escrito en Java, es posible el uso de todo tipo de librerías para la construcción de aplicaciones. La descarga de JavaFX es gratuita y está disponible en plataformas Windows, Mac OS X y Linux. JavaFX no ha llegado a ser ampliamente utilizado en el mercado, pero cuenta con el potencial para

71 JAVA. Información general sobre JavaFX [en línea]. Redwood Shores: Oracle Corporation [consultado 28 de noviembre de 2017]. Disponible en Internet: https://goo.gl/h7yCLM

Page 67: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

67

desarrollar aplicaciones como GEONS Ground System Softwera de la Nasa y más aplicaciones que fueron expuestas en la conferencia JavaOne72.

JavaFX es una alternativa para este desarrollo principalmente porque se puede aprovechar las habilidades y experiencia que se tiene en el lenguaje Java, esto se traduce en la rápida creación de la aplicación. Por otra parte, el desarrollo de esta aplicación hace necesario implementar funcionalidades como escenarios 3D, carga de archivo, control de animaciones, etc. Siendo necesario contar con librerías que soportan este tema, de lo contrario realizar estos desarrollos desde cero implica mucho esfuerzo que no permitirán alcanzar la meta o el alcance del proyecto en el tiempo propuesto.

• SDK MAXScript73: El SDK MaxScript es un conjunto de clases y librerías en C++ que se utilizan para desarrollar complementos en 3ds Max. Con el SDK se crean funciones y características adicionales a 3ds Max, como objetos geométricos personalizados, controladores de animación, mapas de texturas, procesos para manipular escenas, renderizar o exportar una escena o personalizar como se ve y se comporta 3ds Max. Los plug-ins escritos en C++ con el SDK son generalmente más rápidos que los hechos en MAXScript.

El SDK es la mejor opción para crear plug-ins comerciales para 3ds Max, especialmente si el rendimiento es un aspecto importante. Cuando es necesario manejar grandes conjuntos de datos estas aplicaciones no necesitan de capas intermedias y se obtiene mejor rendimiento. Lo negativo es que es necesaria una configuración del ambiente de trabajo extenso y conocimientos previos en el lenguaje de programación C++ y en el flujo de trabajo para el desarrollo.

• MAXSCRIPT74: Es un lenguaje integrado en la herramienta de autor 3ds Max, el cual está diseñado específicamente para complementar este software y cuenta con una sintaxis sencilla, ya que está pensado para usuarios casuales. Por las anteriores características MaxScript es comúnmente usado en la creación de plug-in que no requieren alto rendimiento como prototipos y pruebas.

Esta es la alternativa más viable, teniendo en cuenta que 3dsMax es la herramienta actual en donde se realiza el proceso de limpieza de las curvas de animación y los participantes cuentan con habilidades intermedias en su uso. Esto 72 ALEXANDER CASALL. 20 JavaFX real-world applications [en línea]. jaxenter [consultado 28 de noviembre de 2017]. Disponible en Internet: https://goo.gl/DgVSJC 73 AUTODESK 3DS MAX. The SDK and MAXScript [en línea]. San Rafael: Autodesk, Inc., 2017 [consultado 22 de octubre de 2016]. Disponible en Internet: https://goo.gl/JXYJBK 74 Ibíd.

Page 68: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

68

permitiría apelar al modelo mental de los usuarios y desarrollar una herramienta basada en la estética de 3dsMax, adaptando las funcionalidades específicas del largometraje. Lo negativo es que este lenguaje funciona como una interfaz ya que el lenguaje debe ser traducido a C++ durante el tiempo de ejecución, lo cual sacrifica rendimiento.

• FLUJO DE TRABAJO CON HERRAMIENTAS DE AUTOR: se plantea como alternativa el uso de una estructura “pipeline”, la cual consiste en el apoyado en un conjunto de herramientas como blender, motionbuilder y maya para aplicar secuencialmente las modificaciones en la curva y lograr que esta mejore. Se espera que el uso de varias aplicaciones en el orden correcto permita transformar los datos hasta obtener la información deseada.

Esta alternativa es viable desde el punto de vista del mínimo desarrollo, pero al estudiar las aplicaciones por separado se puede rescatar que agrega complejidad al usuario. Además, las licencias y el ambiente necesario para cumplir con el “pipeline” son complejos, teniendo en cuenta que tampoco garantiza el resultado esperado en la limpieza de las curvas.

Paso 3: A cada alternativa se le asigna una calificación.

Tabla 13. Matriz de selección

Matriz de selección

Herramienta Criterios

Result.

(Func) (Dom) (Aseq) (Doc) (Agi)

(Efic) JAVAFX 4.5 4 4.8 4.5 1 4.5 3.88

MAXSCRIPT 4.3 3 4.5 4 4.5 4 4.05

SDK MAXScript 4.5 2 3.8 3.5 3 4.5 3.55

PIPELINE CON OTRAS

HERRAMIENTAS

3

2

3.5

3.3

4

3.8

3.26

Page 69: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

69

Del análisis de las alternativas surge la anterior tabla, la cual con base a los criterios y en análisis realizado se decidió que la herramienta fuera un plug-in construido en el software 3ds Max mediante el lenguaje MAXScript. Al desarrollar con la base de 3ds Max, se cuenta con avances significativos en las funcionalidades de: abrir los archivos de MoCap de formato bvh o bip, navegación en una escena 3d (posibilidad de rotar y posicionar el objeto en X, Y, Z), visualización de las curvas de animación y control de animación.

7.7 PRODUCT BACKLOG, LISTA DE HISTORIAS DE USUARIO ORDENADA POR PRIODIDAD

Para determinar qué historias de usuario se elaborará primero, se establece la prioridad de estas usando el método Moscow75. El método Moscow utiliza cuatro categorías para separar en función de lo que satisface a los interesados. (centrándose en los requisitos M e introduciendo los S en cuanto sea posible). Las tareas por realizar en cada sprint se definen de acuerdo con la prioridad acordada con el cliente (product owner)

• M (must have) Debe tener: Requisito que tiene que estar implementado en la versión final del producto para poder considerarlo un éxito.

• S (should have) Debería tener: Requisito de prioridad alta que a medida de lo posible deberá ser incluido en la solución final, pero que llegado el momento y si fuera necesario, podría ser prescindible si hubiera alguna causa que lo justificara.

• C (could have) Podría tener: Requisito deseable pero no necesario, se implementaría si hubiera posibilidades presupuestarias y temporales.

• W (won’t have) no tendrá esta vez: Son requisitos descartados de momento pero que en un futuro podrían ser tenidos en cuenta y ser reclasificados en una de las categorías anteriores.

75 CLINE, Alan. Agile development in the real world. Berkeley, CA: Apress, 2015. P. 64.

Page 70: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

70

Tabla 14. Historias ordenadas por prioridad

HU M S C W

HU-001

Yo, como [usuario]

Requiero abrir un archivo de MoCap, para visualizar la animación contenida.

X

HU-002

Yo, como [usuario]

Requiero seleccionar los huesos del esqueleto para visualizar las curvas de animación.

X

HU-003

Yo, como [usuario]

Requiero seleccionar manualmente los puntos de animación para limpiar.

X

HU-004

Yo, como [usuario]

Requiero acercarme, alejarme o generar desplazamientos laterales para visualizar en detalle la curva de animación.

X

HU-005

Yo, como [usuario]

Requiero digitar un valor de búsqueda que permita seleccionar automáticamente los picos o mesetas que se encuentren dentro de este parámetro.

X

HU-006

Yo, como [usuario]

Requiero seleccionar los picos o mesetas en un rango de frames o en la curva completa, para limpiarlos.

X

HU-007

Yo, como [usuario]

Requiero limpiar o corregir rápidamente el mal comportamiento de las curvas de animación, para mejorar el movimiento de los personajes.

X

HU-008

Yo, como [usuario]

Requiero deshacer los últimos cambios realizados, si se comete alguna equivocación.

X

HU-009

Yo, como [usuario]

Requiero guardar los cambios realizados en la curva de animación cuando sea necesario.

X

Page 71: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

71

8. IMPLEMENTACIÓN

En este apartado se presenta el desarrollo del plug-in para la herramienta de autor 3ds Max, esta permitirá asistir el proceso de limpieza de curvas de animación, a los participantes del largometraje animado El padre, el hijo y el espíritu santo el cual fue realizado en la Universidad Autónoma de Occidente.

8.1 REUTILIZABLE

Debido a que la solución a implementar será un plug-in, el software principal en este caso 3ds Max cuentan con funcionalidades que cumplen con los siguientes requerimientos y por ende con algunas actividades de las HU:

Tabla 15. Funcionalidades reutilizables

HU04: Visualización detallada

No. Actividades Prioridad Tiempo

1 Investigar cómo a partir de la visualización detallada que ofrece la herramienta 3dmax se puede obtener datos relevantes para ser consumidos por la aplicación a desarrollar.

Baja

HU09: Guardar cambios

No. Actividades Prioridad Tiempo

1 No se requiere realizar una actividad puesto que el software 3ds Max ya permite guardar cambios.

Baja

8.2 SPRINTS

La lista de historias de usuarios ordenada por prioridad (apartado 7.7) fue dividida en 8 sprint de 2 semanas de duración. A continuación, se presentan los sprints realizados para el desarrollo y luego se describe detalladamente los resultados obtenidos en diseño, construcción y prueba. Como se explicó en el apartado de

Page 72: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

72

reutilizable, por ser la solución un plug-in, algunos de los requisitos planteados ya fueron cubiertos por 3ds Max.

8.2.1 Sprint 1

En el primer sprint se investigó cómo crear un plugin en el software 3ds Max, se estudia y comprende la sintaxis del lenguaje Max Script para crear el prototipo de despliegue de un plugin en 3ds Max. Se realiza reuniones con el director de la película Juan Manuel Acuña para presentar avances realizados. Las actividades que se realizaron en este sprint fueron las siguientes:

Tabla 16. Actividades H.U. abrir archivo

HU01: Abrir archivo

No. Actividades Prioridad Tiempo

1 Investigar cómo desarrollar plug-in en 3ds Max. Alta 11 2 Implementar lógica para crear plug-in en 3ds Max. Alta 9

8.2.2 Sprint 2

Para este sprint se investigan la forma para posicionar correctamente los picos seleccionados con respecto al comportamiento de la curva, luego se implementa la lógica en el plug-in convirtiéndola en un algoritmo que recibe los parámetros requeridos para su funcionalidad. Se realiza la investigación para convertir coordenadas Euler a Cuaterniones mediante una matriz y poder modificar las posiciones en X Y Z. Las actividades que se realizaron en este sprint fueron las siguientes:

Tabla 17. Actividades H.U. seleccionar huesos

HU02: Seleccionar huesos

No. Actividades Prioridad Tiempo

1 Agregar en la interfaz gráfica una lista de selección de huesos.

Media 3

2 Referenciar selección con los objetos de 3ds Max

Alta 3

Page 73: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

73

Tabla 18. Actividades H.U seleccionar manualmente.

HU03: Seleccionar manualmente

No. Actividades Prioridad Tiempo

1 Investigar cómo capturar las coordenadas del componente seleccionado.

Alta 14

8.2.3 Sprint 3

Como en el sprint anterior se obtienen las coordenadas de los puntos, en este sprint se creó la funcionalidad para posicionar correctamente los errores tipo pico de la curva de animación. Además, se agrega a la interfaz gráfica un botón, con el cual el usuario corrige el punto que ha seleccionado manualmente. Las actividades que se realizaron en este sprint fueron las siguientes:

Tabla 19. Actividades H.U corrección automática

HU07: Corrección automática

No. Actividades Prioridad Tiempo

1 Investigar algoritmos para corregir picos. Alta 15

2 Construir el algoritmo en base a la investigación para corregir la curva.

Alta 5

8.2.4 Sprint 4

Se investiga e implementa el algoritmo que permite la selección automática de errores tipo pico en base a un parámetro de entrada. Se modifica la interfaz gráfica agregando un botón y un campo de texto para que el usuario pueda ingresar un valor y ejecutar la búsqueda automática de acuerdo con lo ingresado. Las actividades que se realizaron en este sprint fueron las siguientes:

Page 74: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

74

Tabla 20. Actividades H.U ingresar valor de búsqueda

HU05: Ingresar valor de búsqueda

No. Actividades Prioridad Tiempo

1 Agregar campo Valor a la interfaz gráfica Alta 2 2 Crear Validación de campo Medio 2

Tabla 21. Actividades H.U selección por partes

HU06: Selección por partes

No. Actividades Prioridad Tiempo

1 Investigar algoritmos para seleccionar picos Alta 15 2 Integrar algoritmos con el software 3dmax Alta 4 3 Pintar en pantalla los errores identificados de picos. Alta 1

8.2.5 Sprint 5

Se investiga e implementa la funcionalidad para seleccionar automáticamente los errores tipo mesetas en base a un parámetro de entrada. Las actividades que se realizaron en este sprint fueron las siguientes:

Tabla 22. Actividades H.U selección por partes

HU06: Selección por partes

No. Actividades Prioridad Tiempo

1 Investigar algoritmos para seleccionar mesetas Alta 15 2 Integrar algoritmos con el software 3dmax Alta 4 3 Pintar en pantalla los errores identificados de

mesetas. Alta 1

Page 75: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

75

8.2.6 Sprint 6

Se investiga e implementa la funcionalidad para la corrección de errores tipo mesetas, se adiciona a la interfaz gráfica un botón, que al presionarlo permite corregir las mesetas seleccionadas. Las actividades que se realizaron en este sprint fueron las siguientes:

Tabla 23. Actividades H.U corrección automática

HU07: Corrección automática

No. Actividades Prioridad Tiempo

1 Investigar algoritmos para corregir mesetas Alta 15 2 Construir el algoritmo en base a la investigación

para corregir la curva. Alta 5

8.2.7 Sprint 7

Se agrega la funcionalidad para deshacer los últimos cambios realizados, a través de las teclas Ctrl + Z. Las actividades que se realizaron en este sprint fueron las siguientes:

Tabla 24. Actividades H.U deshacer cambios

HU08: Deshacer cambios

No. Actividades Prioridad Tiempo

1 Investigar métodos para deshacer cambios. Medio 5 2 Aplicar la lógica para deshacer cambios. Medio 4

8.2.8 Sprint 8

Se realizan pruebas con los usuarios y se obtiene retroalimentación para mejorar la interfaz de usuario, se diseña una propuesta de interfaz gráfica en base a las necesidades de los usuarios implicados para mejorar lo entregado en los sprints anteriores, esto fue validado mediante grupos focales.

Page 76: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

76

Tabla 25. Actividades H.U ingresar valor de búsqueda

HU05: Ingresar valor de búsqueda

No. Actividades Prioridad Tiempo

1 Reunión con usuarios medio 2 2 Rediseño de la interfaz bajo 5 3 Construcción de interfaz gráfica bajo 4

8.3 DISEÑO

En este apartado se presentan el diseño para la construcción del plug-in requerido para mejorar el proceso actual de limpieza de curvas de animación.

8.3.1 Flujo de interacción

Por requerimiento de usuario se buscaba que la herramienta resultante no fuera automatizada, sino una herramienta que asistiera al proceso, es decir, que el usuario pueda controlarla ya que los estudiantes quieren aprender a limpiar curvas mientras hacían uso de ella. Para identificar la interacción de los usuarios con el Plug-in y comprender el comportamiento del usuario y agilizar el proceso de creación de diseño de interfaces gráficas, a continuación, mediante un diagrama se representan las acciones del usuario para interactuar con el plug-in.

Page 77: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

77

Figura 11. Flujo de interacción

En la figura 11 se visualiza mediante un diagrama de actividades que debe realizar el usuario para limpiar las curvas de animación con el plug-in en 3ds Max, se inicia cargando el archivo MoCap, luego el usuario analiza los movimientos de la animación.

Page 78: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

78

8.3.2 Interfaz gráfica

Para proponer la interfaz gráfica del plug-in, primero se observó la interfaz de 3ds Max, puesto que este software será el contenedor y sus interfaces cuentan con criterios funcionales. Según el estudio realizado a los usuarios, se obtuvo que cuentan con experiencia en modelado y animación en el software 3ds Max o al menos conocen softwares similares, por lo tanto, diseñar una interfaz con base en la figura 12 usando la misma gama cromática que la herramienta principal, ayudara a que el usuario se sienta cómodo con la herramienta y pueda navegar en ella sintiendo que el plug-in hace parte del mismo software 3ds Max.

En la figura 12, se visualiza parte de la interfaz de 3DSMAX y se puede observar que muchas de las funcionalidades están divididas en menús tipo tabs.

Figura 12. Interfaz 3Ds MAX

Page 79: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

79

Con base al análisis anterior y con la información obtenida del estudio de los usuarios y el contexto (apartado 3), en la figura 13 se presenta la propuesta de la interfaz para el plug-in.

Figura 13. Propuesta de interfaz para el plug-in.

En esta interfaz se expone en una sola ventana las diferentes opciones que tiene el usuario para realizar la limpieza de curvas de animación, al lado izquierdo se encuentra una lista seleccionable que contiene los huesos que conforman un esqueleto, a su derecha una caja para detectar errores (picos y mesetas) automáticamente, debajo se encuentra otra caja para detectar errores (picos y mesetas) ingresando un rango de detección, a la derecha una caja para corregir automáticamente los errores (picos y mesetas) y por último en la parte inferior una ventana donde se puede visualizar el resultado de la curva de animación. Para esta propuesta se descarta el uso de “tabs” ya que las funcionalidades expuestas en esta ventana se utilizan en conjunto para lograr la limpieza de la curva permitiendo así al usuario una interacción más simple y rápida con la herramienta.

Page 80: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

80

8.3.3 Diagrama de clases

El siguiente diagrama se presenta la construcción orientada a objeto del plug-in. En la figura 14 se puede observar que desarrollo se divide en 3 partes. La primera es la lógica que controla la interfaz de usuario. La segunda es la creación de los componentes (clase) que contiene los algoritmos para detectar y corregir picos y la tercera los componentes que contiene la lógica para detectar y corregir mesetas

Figura 14. Diagrama de clases

8.4 CONSTRUCCIÓN

En este apartado, se presentan los modelos matemáticos usados en la creación de los algoritmos que fueron implementados en la herramienta para asistir el proceso de limpieza en las curvas de animación de los personajes del largometraje animado. Cabe resaltar que estos algoritmos se desarrollaron basados en los comportamientos de errores de tipos pico y meseta que fueron detectados en los datos de captura de movimiento del largometraje.

Como se mencionó en el apartado 7.1 (análisis y comprensión del contexto), al visualizar los datos de captura de movimiento mediante el software 3ds Max, estos se representan como curvas de animación. En la figura 19 se puede apreciar el comportamiento de los componentes X, Y y Z de una porción de una curva de

Page 81: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

81

animación de un personaje del largometraje. En esta se puede observar que la curva de animación se comporta como una señal digital discreta ya que está muestreada en función del tiempo.

El error de tipo pico es básicamente un punto que está desplazado bruscamente del comportamiento de la curva (ver figura 15), este tipo de error ocasiona visualmente un salto de una fracción de segundo en la animación del personaje. En cuanto al error tipo Meseta, es una agrupación de puntos que se desvían bruscamente del comportamiento de la curva (ver figura 16), ocasiona un “offset” en el movimiento del personaje. Estos 2 tipos de errores son el punto principal de esta investigación debido a que son los comportamientos que más afectan las animaciones de los personajes.

Figura 15. Ejemplo de pico en la curva de animación

Figura 16. Ejemplo de meseta en la curva de animación

Con base en lo anterior, se procesará esta señal utilizando filtros digitales los cuales aplican métodos matemáticos y ciertos algoritmos para atenuar el ruido de la señal original. Este procesamiento es aplicable para cualquier dato sensorial del

Page 82: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

82

mundo real como vibraciones sísmicas, imágenes visuales, ondas de sonido, señales de ultrasonido, entre otros.

Los filtros tienen dos usos: separación de señal y restauración de señal. La separación de señal es necesaria cuando una señal ha sido contaminada con interferencia, ruido u otras señales. La restauración de señal se usa cuando una señal se ha distorsionado de alguna manera. Por ejemplo, una grabación de audio realizada con un equipo deficiente puede filtrarse para representar mejor el sonido tal como ocurrió en realidad. Otro ejemplo es el desbarbado de una imagen adquirida con una lente enfocada incorrectamente o una cámara inestable.

El uso de un filtro digital puede estar en dos categorías: dominio del tiempo, y dominio de la frecuencia. Los filtros de dominio del tiempo son utilizados cuando la información está codificada en la forma de onda de la señal, son más explícitos de aplicar, ya que estos trabajan directamente sobre los puntos de la curva y su amplitud, pero lo negativo es que ofrecen menor control en la modificación de características oscilatorias. Este filtro es usado en acciones tales como: suavizado, supresión DC, formado de ondulación, etc. Mientras que los filtros de dominio de la frecuencia son usados cuando la información se encuentra en la amplitud, la frecuencia y la fase de la componente sinuidal, son un medio efectivo para separar el ruido de las señales, esto debido a que los ruidos también son señales con comportamiento oscilatorio, siendo posible identificar las frecuencias y separar la información para obtener una señal más limpia.

El filtro de ventana móvil es un filtro FIR de paso bajo (filtro de respuesta de impulso finito) que se usa comúnmente para suavizar una matriz de datos o señal es muestreadas, es el filtro más común para procesar una señal digital principalmente porque es el filtro digital más fácil de entender y usar. A pesar de su simplicidad, el filtro de ventana móvil es óptimo para una tarea común: reducir el ruido aleatorio al tiempo que conserva una respuesta de paso nítida. Esto lo convierte en el principal filtro para las señales codificadas en el dominio del tiempo76.

Teniendo en cuenta el tiempo necesario para la implementación, la dificultad y la utilidad mínima requerida, se decidió implementar el filtro de ventana móvil en el dominio del tiempo para este proyecto, porque es simple y efectivo. Siguiendo el

76 SMITH, Steven W. OP Cit. p.277.

Page 83: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

83

flujo de interacción propuesto (apartado 7.1.1) para la herramienta en donde los usuarios detectan los ruidos y luego los corrigen, se definieron 4 algoritmos. Algoritmo de selección de picos, algoritmo de selección de mesetas, algoritmo de corrección de pico y algoritmo de corrección de meseta. Se busca entonces cómo adaptar las fórmulas matemáticas en los algoritmos para el presente contexto.

8.5 ALGORITMOS DE SELECCIÓN

En la construcción de los algoritmos de selección se manejaron dos enfoques. Inicialmente se usaron vectores, debido a que la herramienta 3ds Max es un software 3D y este brinda facilidad en el uso y manipulación de vectores. El algoritmo inicial consistía en recorrer toda la curva armando vectores con los puntos de la curva, luego se calculaba el ángulo entre los vectores y si la variación entre los ángulos pasaba la dada por el usuario, se tomaba como un comportamiento anómalo (pico o meseta). Este planteamiento inicial funcionó para detectar los errores, pero posteriormente se comprendió que los vectores siempre tenían la misma magnitud en el eje del tiempo y lo que variaba era su amplitud. A partir de esto se concluye que usar vectores no es una solución óptima ya que comparando la amplitud de cada punto es suficiente y usar vectores solo aportaba complejidad al algoritmo.

8.5.1 Selección de picos

El algoritmo de selección de picos recorre toda la curva o el rango seleccionado comparando la magnitud de los puntos sucesivos, si la variación entre la amplitud de los puntos es mayor a la desviación suministrada por el usuario, se selecciona el punto identificando el posible error.

8.5.2 Selección de mesetas

El algoritmo de selección de meseta recorre toda la curva o la parte seleccionada detectando variaciones de magnitudes complementarias, es decir, al encontrar una variación con magnitud X, el algoritmo sigue recorriendo la curva hasta encontrar otra variación X con dirección opuesta y magnitud similar en función a la desviación suministrada por el usuario. De esta forma se identifica la región de puntos nombrada como meseta.

Page 84: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

84

8.6 ALGORITMO DE CORRECCIÓN

Este algoritmo calcula y posiciona con base al comportamiento de la curva los puntos que fueron identificados como errores por el algoritmo de selección. Para esto se decidió usar el filtro de ventana móvil, por su óptimo desempeño para eliminar ruido blanco (sal y pimienta) y ser intuitivo, fácil de implementar y rápido de calcular. Este filtro toma una pequeña muestra de puntos (ventana) como referencia para corregir el punto anormal, es decir, corrige el comportamiento de un punto en base a los otros que están alrededor, obteniendo como resultado una señal suavizada. Las ventajas del filtro de media móvil, sobre todo en cuanto a eficiencia y sencillez, también tiene desventajas, y esta principalmente relacionada con la debilidad del uso de la media como estimador de tendencia.

𝑦𝑦[𝑛𝑛] =1𝑀𝑀� 𝑥𝑥𝑀𝑀−1

𝐾𝐾=0

[𝑛𝑛 − 𝑘𝑘]

El tamaño de la ventana tiene una gran influencia en el comportamiento del filtro, como veremos a continuación.

8.6.1 Corrección de picos

Para la corrección de los picos se usó el filtro de media móvil central, el cual utiliza datos anteriores y posteriores (a lo que se denomina “ventana”) de los cuales se obtiene la media. Para determinar el tamaño de la ventana que usaría el algoritmo para calcular la posición correcta del pico a corregir, se realizaron pruebas con ventadas de tamaño 1, 2 y 3 unidades alrededor del pico como se observa en la figura 17 y 18.

Figura 17. Prueba de tamaños de ventana

Page 85: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

85

Figura 18. Resultado de prueba de tamaño de ventada

En la figura 18 se puede comparar los resultados obtenidos de la prueba con ventadas de tamaño 1, 2 y 3, como consecuencia se seleccionó una ventada de tamaño 1 (un dato alrededor de la muestra). A continuación, se presenta un ejemplo de la fórmula para el cálculo, en la cual para obtener el valor de “Y” en el punto 80 se calcula el promedio con base a los valores de los puntos 79 y 81.

𝑦𝑦[80] =𝑦𝑦[79] + 𝑦𝑦[81]

2

8.6.2 Corrección de mesetas

Para las mesetas fue un poco más complejo, ya que estas son un arreglo de puntos que pueden tener un comportamiento, provocando que los extremos no encajaran al momento de posicionarla. Entonces se investiga sobre ventana móvil suavizado que permite calcular gradualmente los valores de los puntos que están entre los extremos de la ventana y el resto de la curva. De esta forma, se superan los inconvenientes que presenta la técnica de media móvil simple.

A continuación, se presenta y se explican los pasos y el resultado obtenido al aplicar los 4 algoritmos a una fracción de curva de animación con ruido del largometraje animado.

Page 86: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

86

Figura 19. Ruido en la curva

En la figura 19 se observa una porción de curva de animación con ruido, esta será limpiada mediante los algoritmos de corrección y selección de picos y mesetas. El proceso de limpieza se inicia con la selección y corrección de picos ya que estos son elementos unitarios y existe la posibilidad de que estén contenidos dentro de posibles mesetas.

Figura 20. Selección de picos

En la figura 20 se observa la selección de picos realizada por el algoritmo con una desviación del 0.1 para capturar los picos más pequeños presentes en la curva. Es impórtate aclarar que la finalidad de la herramienta es asistir el proceso y no realizar automáticamente un filtrado del ruido, por esta razón los usuarios pueden seleccionar más puntos o al contrario deseleccionar según su criterio.

Page 87: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

87

Figura 21. Corrección de picos seleccionados

En la figura 21 se observa la corrección realizada por el algoritmo a los picos seleccionados en la figura 20.

Figura 22. Selección de mesetas

Page 88: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

88

Luego de realizar la limpieza de los picos se procede a limpiar los errores de tipo meseta, en la figura 22 se observa la selección de las mesetas.

Figura 23. Corrección de mesetas

Por último, en la figura 23 se puede observar el resultado final de la limpieza. De ser necesario el usuario puede repetir el proceso para obtener una curva más suavizada.

8.7 PRUEBAS

En el laboratorio de la Universidad Autónoma de Occidente se realizaron pruebas con los estudiantes que conformaban el equipo de animación del largometraje animado para evaluar la experiencia de usuario frente al uso de la herramienta, y de acuerdo con la retroalimentación obtenida realizar los respectivos ajustes.

Para las pruebas de usabilidad se utiliza la técnica “prueba retrospectiva” (RP) en la cual se esperó hasta que el usuario completara la interacción y luego se realizaron las preguntas sobre la herramienta, tanto lo que se le dificultó, como lo que le gustó, teniendo en cuenta las sugerencias del usuario.

Esta prueba fue realizada en cada sprint que se culminaba, con el fin de obtener resultados a tiempo acerca de la forma en que el usuario interactúa con la

Page 89: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

89

herramienta, detectar problemas y distintos indicadores que permitan evaluar el estado de la herramienta y de esta forma buscar una solución viable y hacer entrega de valor. A continuación, se describe el proceso realizado:

• Etapa de preparación: Se escoge y organiza el lugar donde se llevará a cabo las pruebas, como también el perfil y elección de los usuarios que harán uso de la herramienta.

Lugar Laboratorio de Computación Gráfica Universidad Autónoma de Occidente, Cali

Cantidad de usuarios

15 personas

Perfil de usuario

Estudiantes de la Universidad Autónoma de Occidente del programa académico Cine y Comunicación Digital.

Obtención de usuarios

Se seleccionó a los estudiantes que participaban en el largometraje “El padre, el Hijo y el Espíritu Santo” puesto que son ellos los usuarios finales del plug-in.

• Etapa de presentación: Se realiza la explicación a los usuarios, en qué consiste la prueba y antes de comenzar se dan las instrucciones de cómo funciona la herramienta indicando al usuario que al final de la sesión se realizará la retrospectiva realizando algunas preguntas que permitan evaluar la practicidad y facilidad de navegación en la herramienta, como también detectar errores, necesidades o confusiones para finalmente realizar los cambios pertinentes.

• Etapa de ejecución de la prueba: Cada uno de los estudiantes ingresa a la herramienta 3ds Max y abre el plug-in, a partir de ese momento comienzan a interactuar realizando la limpieza de las curvas de animación del largometraje con las opciones que ofrece el plug-in. A medida que los usuarios participantes interactuaban, se tomaba nota sobre su conducta y comentarios.

• Etapa de finalización de la prueba: Una vez culminadas las pruebas, aplicando la técnica de grupo focal se realiza una reunión con los usuarios participantes en donde se abrió una discusión para abordar la retrospectiva haciendo comentarios sobre el uso de la herramienta y los errores o dificultades que encontró. Como resultado de la interacción fue posible obtener las siguientes fallas en sprint evaluados:

• El plug-in no reconocía ni permitía visualizar los huesos de los bípedos que tuviesen un nombre diferente al que tiene por defecto.

Page 90: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

90

• El usuario empezaba a limpiar las curvas borrando los puntos malos y la herramienta no respondía correctamente.

• El usuario intentaba limpiar un pico, pero este no quedaba suavizado en su totalidad.

• En la lista de huesos del plug-in, se estaba cargando todos los objetos que estuvieran en el escenario 3d.

• No funcionaba el Ctrl+Z para revertir las acciones realizadas.

A continuación, se presentan la evolución de la interfaz gráfica de la herramienta como resultado de las pruebas iterativas.

Figura 24. Propuesta GUI 1

En la figura 24 se observar una interfaz con fin funcional que permitía ejecutar los algoritmos de corrección tanto de pico como de meseta. Debido a que en los primeros sprint se concentraron esfuerzo en el aspecto funcional de la herramienta y la investigación, el avance visual fue muy poco.

Page 91: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

91

Figura 25. Propuesta GUI 2

En la figura 25 se presentan los ajustes realizados para facilitar la selección de los huesos del esqueleto (joins) por medio una lista de elementos, además se agregaron las funcionalidades de detección y el campo de desviación para permitir al usuario ingresar el parámetro de selección.

Page 92: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

92

Figura 26. Propuesta UI 3

En la figura 26 se observa la propuesta 3 en la cual se agrega principalmente la funcionalidad de selección de canales, la cual permite al usuario seleccionar desde la interfaz del plug-in a que componente X, Y y Z de la curva 3d desea realizar la modificación, funcionando como un “lock” y “unlock”. Además, se realizó la segmentación por funcionalidades para otorgar orden visual a la interfaz.

Page 93: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

93

Figura 27. Propuesta UI 4 (final)

En la figura 27 se presenta lo que sería la propuesta final de la interfaz, esta fue desarrollada pero no alcanzo a hacer usada por los usuarios debido a la terminación del proceso de limpieza.

Page 94: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

94

9. CONFIGURACIÓN DE GRANJA DE RENDER

En este apartado se presenta los pasos realizados y la experiencia obtenida en la implementación de la granja de render en la Universidad Autónoma de Occidente, con el fin de reducir los largos tiempos de renderizado en la producción del largometraje animado “El padre, el hijo y el espíritu santo”.

Como se mencionó en el planteamiento del problema (apartado 1), para optimizar el proceso de postproducción y lograr una composición con las características deseadas, el director del largometraje animado decidió realizar un render por capas. Para lograr este render, es necesario cálculo individualmente las imágenes que contienen la información de luces, texturas, materiales, ambientes, etc. extendiendo significativamente el tiempo de renderizado.

Implementar una granja de render haciendo uso de los computadores disponibles en el campus universitario, es una forma para obtener una mejor relación recursos-tiempo. Para lograr de manera efectiva este objetivo en el entorno universitario fue necesario tener las siguientes consideraciones por simples que parezcan. En primer lugar, conocer la disponibilidad de las máquinas involucradas en la granja de render, ya que estas son recursos compartidos de la institución para los estudiantes. Segundo, validar la infraestructura (redes, licencia de software, etc.) que se dispone.

Para implementar la granja de render, la universidad contaba con los siguientes softwares: Autodesk 3dsMax, El cual fue usado para crear los modelos y las animaciones. Autodesk Backburner, para la administración de tareas de render y Vray, como motor de renderizado. La configuración de la granja se realizó siguiendo los pasos detallados de las guías de usuarios Autodesk Backburner, de la cual para este proyecto se puede destacar lo siguiente. La configuración inicio validado el funcionamiento del software 3dsMax, Backburner y Vray en los computadores que harían parte de la granja de render. Luego se validó el estado de la red entre ellos, haciendo ping entre ellos para garantizar la trasmisión de datos. Debido a que todos los computadores del laboratorio contaban con las mismas características, se designó el rol de manager al computador que estaba central en la sala. Una vez validado el ambiente se ejecuta 3ds Max en todos los computadores con la misma escena. Para posteriormente configurar uno a uno la IP del host y la IP del manager al cual se debe conectar y la ruta de salida de los archivos. Al momento de ejecutar la prueba se tuvo problemas por los permisos de red de los equipos los cuales son necesarios para trasmitir archivos entre los equipos, se habilitaron los permisos y se dio inicio al render distribuido.

Page 95: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

95

Como parte de un proceso de aprendizaje incremental, la configuración se realizó en 3 escenarios. A continuación, se presentan los distintos escenarios y sus particularidades.

Escenario 1 Prueba doméstica. Esta configuración se realizó en un ambiente doméstico utilizando los computadores de la tabla 26 y una LAN proporcionada por el modem de un servicio doméstico de Internet como se observa en la figura 28. En cuanto al software, se usaron la versión estudiantil y de prueba de los programas de autor mencionados anteriormente.

Tabla 26. Características computador domésticos.

Figura 28. Red domestica

En este escenario se realizado la configuración inicial, se probaron diferentes posibilidades y se exploró el alcance de las herramientas para ser aplicado en el ambiente de la universidad. Se tuvo en cuenta las características reducidas del equipo hpdv6 y se asignó solo para la administración de las tareas y no para render.

Escenario 2 Laboratorio de computación gráfica. Con la práctica y experiencia obtenida en el escenario 1, se procede a implementación la granja de render dentro del laboratorio de computación gráfica de la Universidad Autónoma de Occidente, utilizando 19 computadores con las características de la tabla 27 y una distribución como se visualiza en la figura 29.

HP dv6

ASUS njr6 Clone

CPU Intel Core i5

i7-4700HQ 2.40GHz

i7-3770k 3.4GHz

RAM 6 8 8

GPU INTEGRADA

GTX 760M GTX 690

SO Win 7 Win 8 Win 7

Page 96: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

96

Tabla 27. Computadores sala computación gráfica.

En la configuración se decidió que el computador DELL 06 solo tendría el rol de administración de render, esto debido a la cantidad de tareas que debía administras para los otros computadores.

En esta granja se realizó los render para las pruebas de iluminación y materias, además parte del render para el teaser del largometraje. Posteriormente esta la sala fue desmantelada por modificación de la universidad y se permitió utilizar la sala ColorPro, la cual contaba con menos maquinas, pero más potentes.

• Escenario 3 Sala ColorPro. En este se utilizaron 7 computadores con las características de la tabla 28. En cuanto a la red de la sala, esta se encontraba dividida en dos subredes, quedando la granja como en la figura 30. En estas dos granjas, todos los computadores ejercían tareas de renderizado y adicionalmente los computadores CPRO01 y CPRO06 de la red subRed1 y SubRed2 respectivamente realizaban tareas de administración. Este escenario fue el definitivo que se configuro para realizar el render de la composición final.

Dell Xeon

CPU Intel Xeon 2.8 GHz

RAM 16

GPU NVIDIA Quadro

SO WIN 7

Figura 29. Red sala computación gráfica

Page 97: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

97

Tabla 28. Características computadores sala ColorPro.

Para visualizar el impacto obtenido de la implementación de la granja de render vs el renderizado de un computador, se realizó el grafico de la figura 31. Cabe aclarar que para obtener estos datos se utilizó el mismo proyecto y las mismas configuraciones de resolución, FPS y formato de imagen.

Figura 31. Impacto de la granja de render

0

50

100

150

200

250

300

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Imag

enes

rend

eriz

adas

Minutos

CPRO 01Granja de render

Dell i7

CPU Intel Xeon CPU E5 2620 2.00Ghz

RAM 32 Gb

GPU AMD firepro w700

SO WIN 7

Figura 30. Red sala color pro

Page 98: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

En la figura 32 se puede observas un gráfico de la cantidad de imágenes renderizadas vs el tiempo en minutos, durante un periodo de 20 minutos. En ella se observa el comportamiento tanto de la granja de render como del computador CPRO de la sala color pro. De esta grafica se entiende que a la computadora de escritorio le tomo 20 minutos procesar 40 imágenes, en cambio a la granja de render le requirió alrededor de 3 minutos renderizar la misma cantidad, lo que significa aproximadamente 6.7 veces más rápido.

Page 99: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

99

10. CONCLUSIONES

En la realización de este proyecto, se presentó el desarrollo de un plug-in en el software de autor 3ds Max como una herramienta de limpieza para los datos de captura de movimiento del largometraje animado “El Padre, el Hijo y el Espíritu Santo”, junto a la implementación de una granja de render haciendo uso de la plataforma tecnológica de la Universidad Autónoma de Occidente. Teniendo en cuenta los objetivos planteados, de este proyecto se puede concluir lo siguiente:

La compresión del contexto y los usuarios, fueron actividades vitales que dieron el punto de partida para identificar y definir los requerimientos para el desarrollo de la herramienta. El uso de diferentes técnicas de recolección de información como entrevistas, observación de usuarios y grupo focal, permitió abarcar diferentes perspectivas para obtener la información suficiente para la ejecución de la fase de desarrollo del proyecto.

En la investigación y análisis de los modelos matemáticos para la construcción de los algoritmos de limpieza, fue de gran importancia entender que los datos de captura de movimiento se comportan como señales digitales. Esto permitió identificar que los filtros utilizados en el procesamiento de señales como audio y video son también aplicables para la limpieza de curvas de animaciones 3D. En cuanto a la literatura investigada sobre procesamiento de señales, se encontró que existen muchos métodos de filtrado, de los cuales se escogió el filtro de ventana móvil, que tal vez no es el más eficiente, pero si el más idóneo para este proyecto, porque cumple con la funcionalidad requerida y permitió una implementación ágil.

El uso del marco de trabajo Scrum en combinación con el diseño centrado en el usuario fue positivo para este proyecto, pero al mismo tiempo fue un desafío integrar los dos flujos de trabajo, ya que son metodologías con enfoques diferentes. DCU invierte tiempo y esfuerzo considerable en la investigación y análisis de los usuarios y su contexto antes de comenzar el desarrollo, por otro lado, Scrum se esfuerza por ofrecer pequeños avances funcionales lo más rápido posible. Esta integración se decidió hacer debido a que los tiempos del largometraje exigían una herramienta en el menor tiempo posible y además una que permitiera mejorar el proceso actual de limpieza. La metodología resultante permitió estudiar a los usuarios y disponer rápidamente de una propuesta inicial de la herramienta, la cual los participantes del largometraje usaron y a partir de esta fue posible hacer entregas incrementales del producto basado en las necesidades del usuario a medida que el largometraje iba avanzando.

Page 100: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

100

Gracias al enfoque del trabajo ágil, fue posible tener un amplio control y flexibilidad en la toma de decisiones durante el proceso de desarrollo de este proyecto, dado a las reuniones constantes para compartir dificultades, avances y soluciones. Pero se falló en la transición de tecnología, ya que no se tuvo en cuenta la transición que el usuario debería hacer para cambiar la forma actual de realizar la tarea de limpieza, como consecuencia los usuarios no podían mezclar las dos formas de realizar la tarea de limpieza.

La adecuada selección de herramienta para el desarrollo de este proyecto permitió optimizar tiempo, ya que fue posible reutilizar funcionalidades y enfocar esfuerzos en las necesidades del usuario. Esto se logró mediante el desarrollo del plug-in en el software 3ds Max y se demostró que fue posible la creación de una herramienta de apoyo que permitiera al equipo de animación del largometraje una limpieza de curvas de animación.

El diseño de las interfaces gráficas del plug-in se realizó con base en el perfil de usuario, buscando mayor y mejor experiencia de uso en el manejo de la herramienta. También se consideró la identidad, gama cromática, iconos y fuentes del software contenedor (3ds Max), esto para generar concordancia en la experiencia del usuario. Las validaciones de las interfaces con los usuarios se realizaron mediante prototipos, permitiendo ahorrar tiempo en desarrollo ya que no se codifico la interfaz hasta recibir la aprobación por parte del usuario.

El plug-in desarrollado permite al usuario asistir el proceso de limpieza de errores de tipo pico y meseta que se presentan en curvas de animación. Esto lo logra mediante la selección de picos con base a un parámetro ingresado, el cual funciona como una desviación para detectar los errores, después de seleccionar los picos se aplicar la corrección de estos mediante el algoritmo de ventana móvil centrar que calcular la posición del error. Posterior a la corrección de picos, el usuario podrá detectar los errores de tipo mesetas presentes en las curvas de animación, también haciendo uso de un parámetro ingresado y posterior mente corregirlas con el algoritmo implementado de ventana móvil suavizada. Esta secuencia lógica de pasos es necesaria para obtener un mejor resultado en la limpieza, los picos deben ser limpiados siempre primero que las mesetas debido a que pueden estar contenidos en mesetas y el algoritmo da mejores resultados cuando se segmenta de esta manera. Cabe destacar que de ser necesario el usuario puede seleccionar o deseleccionar elementos al momento de la selección, al igual que puede deshacer los cambios realizados sobre la curva de animación.

Page 101: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

101

La construcción de una granja de render es relativamente sencilla, pero contar con la infraestructura tecnológica necesaria tanto en Hardware como Software para satisfacer las necesidades de renderizado de un largometraje animado no es fácil de adquirir por su alto costo.

Debido a que fue posible implementar una granja de render que permitió administrar de manera más eficiente el proceso de renderizado y obtener un menor tiempo de render, se puede concluir que la Universidad Autónoma de Occidente cuenta con la infraestructura tecnológica necesaria para satisfacer las necesidades de proyectos como el presente largometraje animado.

Page 102: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

102

11. TRABAJOS FUTUROS

Desde mi punto de vista puedo decir que un software nunca está terminado, tal vez al finalizar un proyecto se cumpla con los requerimientos o se entregue un PMV (producto mínimo viable), pero al final un software siempre tendrá mejoras por hacer ya sea por cambios del contexto o por el mismo usuario. Dichas estas palabras, el presente proyecto no es la exención.

En primer lugar, la continuación de este trabajo de investigación debe estar enfocada en la optimización de los algoritmos, tanto de selección como el de corrección. Pese a que la lógica implementada es funcional, para volúmenes muy grandes de datos el plug-in tiende a colgarse en la ejecución.

En segundo lugar, el desarrollo de elementos de prioridad baja que quedaron en el Product Backlog con puntuación C (Could have) y W (Would have), junto a la implementación de iconos en la interfaz gráfica como medio para apelar a metáforas visuales que aporten a la experiencia del usuario.

En cuanto a la granja de render, en algún momento se contempló la posibilidad de acceder y controlar la granja desde otra subred de la Universidad Autónoma de Occidente, por ejemplo, desde las oficinas de la facultad de cine, desde la cual el director del largometraje podría monitorear el proceso y asignar nuevas tareas.

Page 103: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

103

BIBLIOGRAFÍA

ALEXANDER CASALL. 20 JavaFX real-world applications [en línea]. jaxenter [consultado 28 de noviembre de 2017]. Disponible en Internet: https://goo.gl/DgVSJC

AUTODESK 3DS MAX. The SDK and MAXScript [en línea]. San Rafael: Autodesk, Inc., 2017 [consultado 22 de octubre de 2016]. Disponible en Internet: https://goo.gl/JXYJBK

AUTODESK INC. Motionbuilder overview [en línea] Autodesk, 2016 [consultado 27 de Junio de 2016]. Disponible en Internet: https://goo.gl/M97J7g

--------. Understanding Biped [en línea]. Knowledge Autodesk, 2016 [consultado 20 de febrero de 2017]. Disponible en Internet: https://goo.gl/DDlVcc

--------. Understanding the Animation Workbench [en línea]. Autodesk Knowledge Network, 2016 [consultado 22 de Junio de 2016]. Disponible en Internet: https://goo.gl/9t3Kii

--------. Working with the Workbench [en línea]. Autodesk Knowledge Network, 2016 [consultado 20 de Junio de 2016]. Disponible en Internet: https://goo.gl/JjQSZq

--------. Autodesk Backburner 2011 User Guide [en línea]. Autodesk, 2010 [consultado 04 de octubre de 2016]. Disponible en Internet: https://goo.gl/KtGj9a

AUTODESK. Backburner 2011 Installation Guide [en línea]. San Rafael: Autodesk, Inc., 2010 [consultado 04 de octubre de 2016]. Disponible en Internet: https://goo.gl/iAG0bV

AUTODESK MAYA. Render Pass Concepts and Techniques [en línea]. Autodesk Inc., 2010 [consultado 20 de Junio de 2016]. Disponible en Internet: https://goo.gl/tl6NGY

Page 104: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

104

BAHIT, Eugenia. Scrum y eXtreme Programming para Programadores [En línea]. Buenos Aires, Argentina.2012. [Consultado: 22 de Junio de 2015]. Disponible en: http://goo.gl/N2nDYo

BEANE, Andy. 3D animation essentials. Indianapolis, Ind: John Wiley & Sons, 2012. 336 p.

BOUSQUET, Michele y MCCARTHY, Michael. 3ds max animation with Biped. Berkeley, CA: New Riders, 2006. 5 p.

BRAVO, Abdel.; RENGIFO, R.; AGREDO, R. Comparación de dos sistemas de captura de movimiento por medio de las trayectorias articulares de marcha. [en línea], En: Scielo. Rev. Mex. Ing. Biomed. May/ago 2016. Vol. 37, n. 2. México. 01 de marzo de 2016 [Consultado 03 julio 2018]. Disponible en Internet: https://goo.gl/NW1fUi

BRAVO, Orlando. Modelización con curvas y superficies de Bézier. En: Modelling in Science Education and Learning. 2011, vol. 4, no.14 p 118 - 193.

BRUDERLIN, Armin y WILLIAMS, Lance. Motion signal processing. En: SIGGRAPH ’95: Proceedings of the 22nd annual conference on Computer graphics and interactive techniques, ACM Press, New York, NY, USA, 97–104.

CASTRO, Karina y SÁNCHEZ, José Rodrigo. Dibujos animados y animación. Historia y compilación de técnicas de producción. Quito, Ecuador: Ediciones Ciespal, 1999. 295 p.

CATMULL, Ed y WALLACE, amy. Creativity, Inc.: Overcoming the Unseen Forces That Stand in the Way of True Inspiration [en línea]. New York: Random House Publishing Group, 2014. 368 p [Consultado: 4 de marzo de 2016]. Disponible en Internet: https://goo.gl/ecH9gE

CENTRO DE INNOVACIÓN EDUCATIVA EN INGENIERÍA ¿Qué es Expin Media Lab? [en línea] Expin Media Lab, 2015 [consultado 17 de febrero de 2016]. Disponible en internet: https://goo.gl/qk6iHk

Page 105: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

105

CENTRO REGIONAL DE ANIMACIÓN. 5 técnicas de animación 2D. [en línea] Venezuela, 2016. [Consultado: 11 de agosto de 2016]: Disponible en internet https://goo.gl/fwGnXy

CHONG, Andrew. Digital animation. Lausanne, Switzerland New York, N.Y. AVA Academia Distributed in the USA & Canada by Watson-Guptill Publications, 2008. p. 124-125.

CLINE, Alan. Agile development in the real world. Berkeley, CA: Apress, 2015. 64 p.

COMUNICACIÓN SOCIAL. Universidad Autónoma de Occidente. Cuando el arte y la tecnología se alían para contar una historia [en línea] UAO. Santiago de Cali, 2016 [consultado 8 de abril de 2017]. Disponible en Internet: https://goo.gl/SZJubJ

--------. Universidad autónoma de occidente. Largometraje animado se convierte en proyecto de investigación [en línea]. UAO (5 de Julio de 2013). [consultado 17 de febrero de 2016]. Disponible en Internet: https://goo.gl/HBuanh

CORRAS, S. y PARROTT, C.J. Hollywood 2D Digital Animation. Boston: Thomson Course Technology PTR. 2004. 122.p

DAVEDUB. bvhacker: The free bvh file editing tool [en línea]. Davedub [consultado 09 de septiembre de 2016]. Disponible en internet: http://davedub.co.uk/bvhacker

GALLEGO, Francisco. Algoritmo de Casteljau e Interpolación. Prezi. [en línea], 11 de junio de 2015 [Consultado: 03 julio 2018]. Disponible en Internet: https://prezi.com/oragsd3gbyml/algoritmo-de-de-casteljau-e-interpolacion/

GOMEZ, Jesús. Alcala de Guadaira: MAD. En: Matemáticas: Profesores de Enseñanza Secundaria. 2007. 137.p

HERRERA, Eliecer y VALENCIA, Luz Estela. Del Manifiesto Ágil Sus Valores Y Principios [En linea]. En: Scientia et Technica Mayo de 2007.No 34, Universidad Tecnológica de Pereira. ISSN 0122-1701 [Consultado: el 06 de Mayo de 2015]. Disponible en: http://goo.gl/71y9YV

Page 106: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

106

ISO 9241-210:2010(en) Ergonomics of human-system interaction — Part 210: Human-centred design for interactive systems [en línea]. ISO, 2010 [Consultado: 20 de Junio de 2016]. Disponible en Internet: https://www.iso.org/obp/ui/#iso:std:iso:9241:-210:ed-1:v1:en

JAMES, Michael. Scrum Methodology [En linea]. 2012. [Consultado: 7 de Julio de 2015]. Disponible en: http://goo.gl/G0deZN

JAVA. Información general sobre JavaFX [en línea]. Redwood Shores: Oracle Corporation [consultado 28 de noviembre de 2017]. Disponible en Internet: https://goo.gl/h7yCLM

KERN, John; URREA, Claudio; PIEL, Christian. Diseño e implementación de filtros digitales en un procesador DSP TMS320C50. 16 Convención Científica de Ingeniería y Arquitectura. [en línea], CUJAE, 16 de noviembre de 2012 [Consultado: 02 julio 2018]. Disponible en Internet: http://www.die.usach.cl/sites/electrica/files/documentos/2012-12-18filtros_digitales.pdf

KITAGAWA, Midori y WINDSOR, Brian. Cleaning and Editing Data En: MoCap for Artists: Workflow and Techniques for Motion Capture. Burlington: CRC Press, 2012. 128.p

--------. En: MoCap for artists: workflow and techniques for motion capture. Amsterdam Boston: Elsevier/Focal Press, 2008, 216p

KRUEGER, Richard A. y CASEY, Mary A. Focus groups: a practical guide for applied research. Thousand Oaks: SAGE Publications, Inc, 2014. 21 p.

KUHLO, Markus, and Enrico Eggert. Architectural rendering with 3ds Max and V-Ray: photorealistic visualization. Oxford Burlington, MA: Focal Press, 2010. 120.p

LESTERBANKS. Working with maya renders layers and render passes [en línea]. Lestierbanks (Frebrero 25 2014). [Consultado 15 de febrero de 2016]. Disponible en internet: https://goo.gl/SJBwdw

LOWDERMILK, Travis. User-centered design: a developer's guide to building user-friendly applications. Sebastopol, CA: O'Reilly Media Inc, 2013. 113 p.

Page 107: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

107

Manifiesto del desarrollo ágil [En línea]. Agilemanifesto.org, 2001. [Consultado: el 13 de agosto de 2015]. Disponible en: http://www.agilemanifesto.org/iso/es/

MEALING, Stuart. The art and science of computer animation. Oxford, England: Intellect Books,1998. 308 p.

MENDOZA, María José. Curvas interesantes en matemáticas. Temas para la Educación. En: Revista Digital Para Profesionales de la Enseñanza. Septiembre, 2011, no. 16. p 1 - 2.

MHAQS. Motion Capture Editor and Simulator. Slashdot Media [en línea]. Sourceforge, 2016 [consultado 09 de septiembre de 2016]. Disponible en internet: https://goo.gl/HtGXXu

NOGUEIRA, Pedro. [En línea] Motion Capture Fundamentals, 2011. [Consultado: 23 de febrero de 2017] Disponible en internet: https://paginas.fe.up.pt/~prodei/dsie12/papers/paper_7.pdf

NORMAN, Donald A. The design of everyday things. New York, New York: Basic Books, 2013. 221-230 p.

OSORIO BETANCUR, Juan David. Evaluación de una solución de renderizado distribuido en la Universidad Icesi para los estudiantes de Diseño Industrial y de Medios Interactivos [en línea]. Santiago de Cali: Universidad Icesi, 2010 [consultado 12 de septiembre de 2016]. Disponible en Internet: https://goo.gl/At02Fn

-------- Evaluation of a Distributed Rendering Solution in the Computer Room of Universidad Icesi for the Industrial Design and Interactive Media Design Students [en línea]. Cali: Universidad Icesi, 2010 [Consultado: 12 de septiembre de 2016]. Disponible en Internet: https://goo.gl/At02Fn

PERTIÑES, Jesús. Animación 3D en la televisión en España: análisis y forma de contenido. En: Universidad del Zulia. Opción, vol. 32, n. 10, 2016, p.464-478. [en línea], agosto de 2016 [Consultado 30 junio 2018]. Disponible en Internet: http://www.redalyc.org/pdf/310/31048901025.pdf

Page 108: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

108

PIKKOV, Ulo. Animasophy: theoretical writings on the animated film. Tallinn: Estonian Academy of Arts, 2010. 114.p

PROIMÁGENES COLOMBIA ¿Qué es el FDC? [en linea]. Proimágenes Colombia. Bogotá D.C. Septiembre 2016 [consultado 09 Septiembre 2016]. Disponible en Internet: https://goo.gl/Hn2ucK

--------. Recaudo del Fondo para el Desarrollo Cinematográfico [en línea]. Proimágenes Colombia, Bogotá D.C. (Septiembre 2016) [consultado 09 de Septiembre de 2016]. Disponible en Internet: https://goo.gl/NaH83r

PURVES, Barry. Basics Animation 04: Stop-motion. Switzerland New York: AVA Publishing SA, 2010. 200 p

--------. Stop Motion: Passion, Process and Performance. Amsterdam London: Elsevier/Focal, 2008, 347p

REDACCIÓN AV451. El proceso de renderizado, ese gran olvidado [en línea]. Audiovisual451, 2017 [consultado 20 de febrero de 2017]. Disponible en Internet: https://goo.gl/iHeTGG

RENDER ELEMENTS [en línea]. JAIME3D.INFO [Consultado: 20 de octubre de 2016]. Disponible en Internet: https://goo.gl/bCJNYT

RUBIN, Kenneth S. Essential Scrum: a practical guide to the most popular agile process. Upper Saddle River, NJ: Addison-Wesley, 2012. 83 p.

RYAN, Dan. History of Computer Graphics: DLR Associates Series [en línea]. Bloomington: Author House, 2011. [Consultado: 14 de abril de 2016]. Disponible en Internet: https://goo.gl/O6gGfS

SAN RAFAEL, CALIF. The art of Maya: an introduction to 3D computer graphics, 2007, 175.p

SCHWABER, Ken, SUTHERLAND, Jeff. La Guía de Scrum [en línea]. En: Scrum and ScrumInc [Consultado el 23 de Octubre de 2014]. Disponible en: https://goo.gl/GepdCw

Page 109: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

109

SCRUM [En linea]. Mountain Goat Software. [Consultado: 9 de agosto de 2015]. Disponible en: https://goo.gl/xCTHH2

SIMON, Mark. Producing Independent 2D Character Animation: Making and Selling a Short Film. Amsterdam Boston: Focal Press, 2003. p. 144-149.

SMITH, Steven W. The scientist and engineer's guide to digital signal processing. San Diego: California Technical Pub, 1999. 217.p

TAN, Jiang. Aspects of animation: steps to learn animated cartoons. New Delhi, India: Serials Publications Pvt. Ltd, 2016. 304 p

The Scrum Guide [En linea]. Scrum organitation. 2013. [Consultado: 7 de Julio de 2015]. Disponible en: http://goo.gl/2lysXQ

TIDWELL, Jenifer. Designing interfaces. Sebastopol, CA: O'Reilly, 2011.321p

TURNER, Phil. A psychology of user experience: involvement, affect and aesthetics. Cham, Switzerland: Springer, 2017. 128 p.

TWAY, Linda. Multimedia in action! Boston, Massachusetts: AP Professional, 1995. 411p

U.S. DEPARTMENT OF HEALTH & HUMAN SERVICES [en línea]. What & Why of Usability [consultado 2 de noviembre de 2016]. Disponible en Internet: https://www.usability.gov

--------. Personas [en línea]. usability.gov [consultado 21 de septiembre de 2018]. Disponible en Internet: https://www.usability.gov/how-to-and-tools/methods/personas.html

UXPA. Definitions of User Experience and Usability [en línea]. Uxpa, 2014 [consultado 2 de octubre de 2016]. Disponible en Internet: https://goo.gl/bgPWLZ

VASEGHI, Saeed V. Advanced digital signal processing and noise reduction. Chichester, U.K: J. Wiley & Sons, 2008. 35 p.

Page 110: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

110

VICON. What is Motion Capture? [en línea]. Vicon Motion Systems Ltd., 2016 [consultado 20 de febrero de 2017]. Disponible en Internet: https://www.vicon.com/what-is-motion-capture

WANG, Xin, CHEN, Qiudi y WANG, Wanliang. 3D Human Motion Editing and Synthesis: A Survey [en línea] hindawi 2014 [Consultado: 28 de Marzo de 2017]. Disponible en Internet: https://www.hindawi.com/journals/cmmm/2014/104535/

WARFEL, Todd. Prototyping: a practitioner's guide. Brooklyn, N.Y: Rosenfeld Media, 2009. 112 p.

YAMAZAKI, Michele. Plug-in to after effects: third party plug-in mastery. S.l: CRC PRESS, 2017. 122 p.

Page 111: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

111

ANEXOS

Anexo A. Entrevista no estructurada

Entrevista para obtener información sobre el largometraje “El padre, el hijo y el espíritu santo”, sus participantes y los futuros usuarios de la herramienta a desarrollar.

Fecha: 23 de octubre del 2016

Lugar: Oficina de facultad de Comunicación Social de la Universidad Autónoma de Occidente, Cali Colombia.

Nombre Entrevistado: Juan Manuel Acuña.

Cargo/Rol: Docente de la facultad de Comunicación Social, Director del largometraje “El padre, el hijo y el espíritu santo”.

Preguntas:

¿Qué carrera cursan los estudiantes?

¿En qué semestre se encuentran actualmente los estudiantes?

¿Cuántos son los estudiantes que participan en la tarea de limpieza de curvas de animación?

¿Cuál es el proceso que realiza el estudiante para realizar la limpieza de las curvas de animación?

¿En qué lugar realizan los estudiantes la limpieza de curvas de animación?

¿Qué software utilizan los estudiantes para limpiar las curvas de animación?

Page 112: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

112

¿Qué inconvenientes o limitantes tienen los estudiantes para realizar la tarea de limpieza de curvas de animación?

¿Cuáles son las motivaciones de estudiante para realizar la tarea de limpieza de curvas de animación?

Anexo B. Grupo focal

Segmento por investigar: Estudiantes de la Universidad Autónoma de Occidente que pertenecen al equipo de producción del largometraje animado 3D “El Padre, el Hijo y el Espíritu Santo”.

Muestra: El grupo focal se conforma por 15 estudiantes, el cual fue realizado en el laboratorio 3d de la Universidad Autónoma de Occidente en la ciudad de Cali, Colombia.

Presentación:

• Se presenta el motivo de la reunión. • Se realiza presentación de cada uno de los participantes. • Duración del grupo focal 30 minutos.

Explicación introductoria al grupo focal:

• Se explica cómo funcionan las sesiones de grupo • Se explica que no hay respuestas correctas, solo opiniones. • Se hace énfasis en que, si algún integrante tiene una opinión diferente a los demás integrantes del grupo, es importante hacerla saber.

Preguntas generales o de apertura:

• ¿Qué edad tiene? • ¿Qué carrera cursa y en que semestre se encuentra? • ¿Cuáles son sus funciones dentro del equipo de producción del largometraje? • ¿Qué lo motiva a participar en el equipo de producción del largometraje?

Page 113: DESARROLLO DE UN PLUG-IN PARA LIMPIAR …DESARROLLO DE UN PLUG-IN PARA LIMPIAR CURVAS DE ANIMACIÓN 3D Y CONFIGURACIÓN DE GRANJA DE RENDER PARA LA HERRAMIENTA DE AUTOR 3DSMAX DANIEL

113

Preguntas específicas:

• ¿En cuál software tridimensional tiene experiencia, por ejemplo, Maya, 3ds Max, ¿Motion builder? • ¿Por qué es necesario limpiar las curvas? • ¿Qué dificultades tiene al realizar la tarea de limpieza de curvas? • ¿Cómo creen que se puede mejorar el proceso? • ¿Creen que una herramienta puede ayudar al proceso?