Download Proyecto Final: Fuentes,Componentes,Trabajo
Document related concepts
no text concepts found
Transcript
Proyecto Final: Fuentes,Componentes,Trabajo “SalchiGirl en apuros” Alumnos Marta Blasco Doblado Irene González Romero Elena de la Rubia Muñoz Marta Villén Alcázar Tipo de Proyecto: Blender Game Autonotas: Calificaciones puestas por casa miembro a los demás y autonota Notas Marta Blasco Doblado Personal Elena D.M. Irene G.R. Marta V.A. 10 10 10 10 Notas Elena De la Rubia Muñoz Personal Marta B.D. Irene G.R. Marta V.A. 10 10 10 10 Notas Irene González Romero Personal Marta B.D. Elena D.M. Marta V.A. 8 10 10 10 Notas Marta Villén Alcázar Personal Marta B.D. Elena D.M. Irene G.R. 10 10 10 10 Fuentes/Trabajo: Lista de reproducción de Blender en Youtube. Autor: Enrique Rendón. Tutoriales de youtube. Búsquedas en páginas de foros: o www.g-blender.org o www.ite.educacion.es o www.foro3d.com Objetos descargados de páginas: o http://www.katorlegaz.com/3d_models/index.php Trabajo de cada una: Marta Blasco: lógica, modelado, texturas, esqueleto, escenas, documentación y menú. Irene González: ciclo de andar, lógica, texturas, modelado y documentación borrador. Elena de la Rubia: lógica, modelado, texturas, escenas, sonido, documentación y animación. Marta Villén: lógica, modelado, texturas, documentación, escenas, ejecutable y sonido. Autonotas, Fuentes y Trabajo realizado. 1 Proyecto Final: Fuentes,Componentes,Trabajo Componentes: Salchiboy: Hacer el ciclo de andar de un cuadrúpedo ha sido todo un reto, no sabíamos por qué pata empezar. En primer lugar fue necesario hacernos una idea de los andares de un perro salchicha y de la anatomía del mismo. Recurrimos a vídeos de Youtube de perros caminando y a imágenes u esquemas de esqueletos reales para hacernos a la idea de cómo debería ser el movimiento y cuantos huesos debería tener el esqueleto. Una vez diseñado el esqueleto, había que poner restricciones. Un aspecto curioso es que por la anatomía de la pierna y el tipo de movimiento de las articulaciones, algunas restricciones hay que definirlas en dirección contraria a como se haría para animar el esqueleto de un personaje humanoide. Tras probar un par de formas de definir las cadenas de huesos y restricciones se llegó al resultado que se puede observar en el personaje principal del juego. Este esqueleto está hecho de forma lo más general posible para que pueda utilizarse en otros animales cuadrúpedos de la misma especie (perros) haciendo modificaciones mínimas y sin cambiar las restricciones. No se ha puesto mucho detalle en los huesos del pie y en su movimiento, ya que por el moldeado de la malla del perro que hemos diseñado y su aspecto de dibujo animado el apoyo de la pata no se apreciaría visualmente (la patita tiene forma de esfera extruida). Entrados en materia de animación, el ciclo de andar no solo se ha enfocado en el movimiento de las patas más o menos realista, sino en el balanceo que se produce al apoyar y levantar una extremidad en cualquier cuadrúpedo. Interfaz: Lo que queríamos mostrar en la interfaz era el número de huesos recogidos y un contador con las vidas que le quedan al personaje principal, constituido por tres corazones que irían desapareciendo a medida que salchiboy coge una raspa. Hacer lo primero fue muy sencillo, solo tuvimos que ponerle a un texto una propiedad que se emplea en dos actuadores, uno que comienza la cuenta en 0 y otro que conectado a un sensor message que recibe el mensaje que del Avatar de contar huesos, incrementa el contador a medida que se van cogiendo huesos, pero realizar lo segundo fue otro cantar, la idea era que al recoger alguna raspa se eliminasen los corazones de uno en uno, primero intentamos esto poniendo un sensor collision con las raspas para que se eliminase el objeto corazón con un actuador edit object, el problema de esto fue, que al detectar la primera raspa se iban los tres corazón de golpe, ya que todos tenían la misma lógica, buscando soluciones a este problemas dimos con un tutorial en youtube en el que dos objetos colisionaban y uno iba perdiendo vida, ¡Esa era la lógica que estábamos buscando! La solución al problema era usar un objeto empty con una propiedad llamada vida, este objeto lo primero que debe tener es un sensor message que recibe el mensaje del avatar de colisionar con las raspas. Ese sensor está conectado a un actuador property con la propiedad vida y en modo add +1. Luego, en el mismo objeto empty se pone un sensor property con la propiedad vida y valor 1, este sensor se conecta a un actuador message con objeto corazón y subject 1, este es el mensaje que recibirá el primer corazón, para desaparecer, por lo tanto, en el objeto corazón, se pone un sensor message con subject 1 y conectado a un actuador edit object (end object). Esto se repite dos veces más, para poder eliminar los otros corazones y listo, el problema con el contador de vidas estaba solucionado. Autonotas, Fuentes y Trabajo realizado. 2 Proyecto Final: Fuentes,Componentes,Trabajo Animación focos, puerta perrera, palanca y escena final: La animación de todos estos objetos este hecho mediante escalado, rotación y posición de objetos, registrando los fotogramas y consiguiendo el movimiento en la animación. Para meter estas animaciones en el juego se emplearon diferentes sensores, en el caso de los focos que están siempre en movimiento se empleó un sensor always conectado a un actuador action con la función loop end, para que la animación no se pare nunca. La animación de la puerta de la perrera y la palanca se activan ambas con sensores keyboard y al colisionar con la propiedad jugador que tiene el avatar. La animación de la escena final salta una vez completado el juego, hay un sensor delay en un objeto empty que retrasa la aparición de la escena tras abrirse las jaulas. Animación Jaula: A la jaula se le puso un esqueleto para poder realizar de un modo más simple la animación de abrir la puerta. En el juego esta animación se lanza tras la activación de la palanca, es decir cuando salchiboy se acerca a la palanca y la presiona, este objeto tiene un actuador message con subject jaula, en las jaulas se pone un sensor message con subject jaula y conectado a un actuador action con la acción de abrir jaula, de esta manera todas las jaulas se abren a la vez, al recibir el mismo mensaje. Texturado: Nos ha resultado difícil el texturado de algunas casas, como las tres primeras de la derecha, ya que no conseguíamos cuadrarlas. Además, el texturado de la calle, al no encontrarse textura de pasos de cebra en curva se tuvieron que realizar con el programa Paint. Sonido: Incluir sonido en el menú ha resultado complicado, pero a base de intentos y buscar soluciones lo logramos. También se ha puesto música de fondo, así como los sonidos al recoger huesos y raspas, al abrir la puerta de la perrera y música en las distintas escenas. Contador de raspas y huesos: Tanto las raspas como los huesos tienen una lógica simple formada por un sensor collison con la propiedad jugador del avatar y un actuador edit object (end object) para que desaparezcan cuando salchiboy pase a través de ellas. Por otro lado, en el avatar es donde se coloca la lógica para contar los huesos y las raspas que se recogen, para hacer esto, se pone en el avatar un sensor collision con la propiedad hueso (en el caso de contador huesos) dicha propiedad debe ser del objeto hueso. Este sensor se conecta a un actuador property en modo add +1 para que se aumente la cuenta al coger más huesos, como al recoger algún hueso tenemos sonido, el actuador para este sonido también se conecta al sensor mencionado anteriormente y también un actuador message con el mensaje hueso que es el empleado en la interfaz para aumentar el contador. Autonotas, Fuentes y Trabajo realizado. 3 Proyecto Final: Fuentes,Componentes,Trabajo El caso del contador del raspas es análogo al de contar huesos. Autonotas, Fuentes y Trabajo realizado. 4