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