Publicat per

R5 – Media para Videojuegos

Publicat per

R5 – Media para Videojuegos

Hola a todos!!!   1. Introducción: Lo primero que quiero comentar es que tuve muchos problemas de rendimiento a la hora de…
Hola a todos!!!   1. Introducción: Lo primero que quiero comentar es que tuve muchos problemas de rendimiento a…

Hola a todos!!!

 

1. Introducción:

Lo primero que quiero comentar es que tuve muchos problemas de rendimiento a la hora de publicar en  WebGL, el videojuego funciona al completo, pero se ve ralentizado y me he visto obligado a configurar el Shader para alcanzar un menor peso sacrificando mejoras como el Outline de los personajes, al inicio de esta entrada estará la versión de como corre una Build del videojuego para ordenador.

Aquí adjunto el link del videojuego en  itch.io:

https://tortmac1.itch.io/bestias-del-metal

Aquí adjunto el link del videojuego en SIMMER:

https://simmer.io/@tortmac/bestias-del-metal

Algo que agregue a esta versión WEB fue el menú de pausa, se activa con clicar sobre el botón de pausa en el centro superior de la pantalla, esto algo que leí en los criterios de entrega y no fue ningún problema dedicar algo de tiempo a configurarlo.

Este proyecto consiste en un prototipo de videojuego de peleas, intenté crear la mayoría de Assets de manera manual, sin embargo para algunos detalles de audio y el botón de pausa necesite de assets externos de los cuales daré crédito mas abajo, con esto podemos empezar una descripción resumida del proceso para crear este prototipo.

2. Resumen del proyecto

2.1. Menu Principal:

Quería crear un menú sencillo para centrarme en el Gameplay del prototipo, se dispone la los botones para empezar una partida o salir del videojuego, la disposición del menú intente que fuera similar a la de los últimos videojuegos de Dear or Alive (considerando esto como un prototipo) ,estéticamente decidí hacer varios render de la robot conejo hasta encontrar uno que me gustara para el menú principal, también incluí un pequeño Script para el movimiento del fondo.

 

2.2. Gameplay:

2.2.1. Fondo y Camara:

Lo primero que considere para esta escena, es el funcionamiento del fondo,  y la cámara, en los videojuegos de pelea es común que la cámara se centre en la distancia entre los dos personajes y sea capaz de desplazarse con ellos, a la vez que pueda acercarse y alejarse a la vez que lo hacen los personajes, el fondo lo cree usando la IA de DALLE-3, ya ha estado presente en otras entregas, pero esta vez se ajusta a la cámara y al nivel del suelo. Para funcionar la Cámara es controlada por otro GameObject  usando un Script para hacer zoom, moverse y seguir a los jugadores, los cuales en medio de ellos tienen un objeto invisible que me sirve como objetivo para la cámara.

2.2.2. Iluminación:

En cuanto a la iluminación, solo modifique un poco la luz direccional y la configuración del Shader ya la tengo desde la entrega anterior, por lo que esta parte no tuvo muchos cambios.

2.2.3. Sistema de combate:

Esto sería fácilmente lo mas complejo del prototipo, así que describiré de forma general como funciona el combate en el videojuego y como fueron desarrolladas:

Lo primero que hice fue pensar como interactuarían las animaciones en el Animator, empezando con una comprobación de cada una.

Aunque ambos personajes usan diferentes Animator, las conexiones y parámetros de activación son los mismos, incluso los nombres. Los personajes pueden estar inactivos, caminando, defendiendo, atacando, recibiendo daño o muriendo, teniendo en cuenta estos estados se pueden determinar mas cosas como por ejemplo que un personaje puede recibir daño o incluso morir en cualquier momento del combate, esto se debe reflejar en el Animator y las condiciones de activación en los Scripts de los personajes.

Teniendo en en cuenta esta lógica, organice a los personajes con sus respectivos Colliers y físicas para poder recibir daño y desplazarse al ser golpeados, pero para lograr crear “golpes” tenía que estudiar como funciona un impacto en un juego de peleas al menos a nivel básico .

Encontré que puedo usar GameObjects con colisiones que se activen exclusivamente al impactar con un ataque, luego a nivel del Script se podría determinar si esta ataque fue “bloqueado” o “recibido”,  si tuviera varios ataques a diferentes partes del cuerpo, podría usar mas Colliders para controlar sus rangos, sin embargo para el prototipo solo tengo un ataque.

Los propios estados de cada personaje deben tener efecto en el control del jugador, por ejemplo si estas recibiendo daño, no podrás mover a tu personaje mientras se ejecuta la animación de recibir daño,  y al realizar un ataque, no se considera que has atacado hasta que la animación llega a su punto de “golpear” que son unos pocos Frames dentro de la animación, la mejor manera de controlar esto es usar eventos en la animación que permitan ejecutar funciones dentro del script del personaje, fue algo que me costo entender, pero el resultado marca una diferencia y permite controlar con mucha precisión lo que pasa mientras se ejecuta una animación.

Para dar algo de feedback al jugador, cuando se lanza un ataque y este impacta contra el oponente, se sueltan partículas rojas desde su punto de impacto, cuando el ataque es bloqueado sucede lo mismo pero con partículas de color blanco, esta es una forma simple de indicar al jugador fuera de las barras de vida.

En el prototipo las barras de vida funcionan como en la mayoría de juegos de pelea, al recibir un ataque, si el personaje es golpeado pierde una proporción de su vida haciendo que el slider de la barra se desplace, actualmente pierden un aproximado de una quinta parte de su vida por cada golpe,  todo esto se controla desde el propio script del personaje, a nivel estético quería que se viera llamativo así que hice renders cómo foto de perfil de los personajes y use la fuente de Terminator que originalmente se uso en Dear or Alive 2 para que se viera mas moderno, la elección de colores fue por esta misma razón.

Cuando un jugador golpea a otro y disminuye su vida a 0, se lanza una pantalla de victoria con el personaje ganador en su animación de Idle y un fondo de victoria creado por IA, en este menú se dispone de botones para iniciar otra partida o volver al menú principal, el texto también cambia según el jugador ganador,  esto se controla desde un GameObject con el script de Game Manager.

2.2.4. Sistema de Sonido:

Durante todo el juego disponemos de sonidos de terceros (créditos al final), que permiten dar vida a los personajes, música de fondo para el combate y para el menú principal, entre otros, la música es un apartado muy importante en los videojuegos, también las voces de los personajes, por eso considere importante agregar esto, los sonidos de fondo normalmente los asigno a la cámara, y los de personajes se encuentran dentro de ellos mismos, así puedo usarlos desde su script fácilmente.

 

2.3 Animator Controller:

Los Animator de los personajes los he explicado anteriormente en el sistema de combate, son muy similares entre sí porque en este caso busco que ambos jugadores tengan las mismas opciones, cuando el personaje se encuentre  inactivo, caminando, defendiendo, atacando, recibiendo daño o muriendo, los parámetros son de suma importancia para activar los estados de animación desde el script de los personajes, como un dato adicional, he realizado pruebas con transiciones de animación y al parecer en los juegos de pelea es común que no hayan transiciones o sean muy bruscas para favorecer el tiempo de respuesta del jugador, en este caso decidí no usar transiciones de salida por este motivo, de por si las animaciones de mis personajes son lentas y están funcionando a 30 FPS en vez de los 24 originales porque se sienten mas fluidas, he realizado algunas modificaciones en la velocidad de las mismas para que el combate se sienta mas fluido.

Robot Coneja:

Robot Tiburona:

 

 

 

 

 

 

 

 

3. Conclusiones:

  • Esta asignatura fue sin duda la que mas disfrute este semestre, me encanta el arte en los videojuegos, incluso el como se relaciona con la parte mas técnica de estos, esta practica consistió mas en programación y diseño de videojuegos, pero es justo esa variedad la que nos enseña lo útil que es lo que hemos aprendido, no se trata solo de crear un personaje, si no de como usarlo y integrarlo en un videojuego correctamente, por esto esta ultima practica es tan importante.
  • Me gustaría que tuviéramos una segunda asignatura de Multimedia para cubrir mas temas como el Parallax en videojuegos, optimización de nuestro arte, los famosos LOD en videojuegos, realmente creo que el tiempo en relación con lo aprendido es excelente, pero sin duda es una asignatura que merece una segunda parte.
  • Considero que como siempre, el limite de lo que aprenda cada estudiante dependerá de su empeño y cuanto quiera expandirse en los caminos que enseña el profesor, en mi caso siento que justo necesitaba entender mas de esta parte técnica de Unity, para sacar partido a futuros trabajos, estoy muy agradecido y contento con el progreso en las entregas, es algo realmente lindo cuando puedes ver tu avance y como cada una de las entregas fue una pieza mas de este rompecabezas que hoy podemos llamar prototipo de juego de peleas.

4. Visión de futuro para este proyecto:

  • Quisiera contar con un programador con experiencia en Gameplay de combates, seguramente crear un sistema de combos, rondas y dar lugar a nuevas dinámicas entre personajes, sería algo ideal.
  • Me gustaría contar con un equipo para desarrollar mas personas, con mas personalidad, nuevas facciones, algo que adoro de videojuegos como Guilty Gear, es el mimo con el que se trabaja cada personaje,  de cierta forma logre algo con este prototipo, pero realmente quisiera aprender mas sobre animación de personajes y como se consigue un nivel como ese.
  • Me gustaría crear un selector de personajes para los combates, donde al elegir a cada uno de ellos, tenga su animación propia de selección.
  • Escenarios con zonas rompibles como los usados en Dear or Alive, poder romper a tu enemigo contra una pared, o ver como se va callendo el techo del escenario mientras peleas, son esa clase de detalles los que marcan una diferencia entre un simple fondo y un escenario de combate.
  • Desarrollar una IA para combatir contra ella con diferentes modos de dificultad, esto también seria útil para el modo historia del videojuego.
  • Teniendo varios personajes en varias facciones, sería genial crear un modo campaña para que los jugadores puedan conocer la historia de cada uno de estos particulares robots.
  • Teniendo poco presupuesto la historia podría desarrollarse como una novela visual entre las peleas que vaya contando la historia, sin duda seria mas viable para un videojuego Indie.
  • Creo que podría escribir todo el día sobre ideas a futuro, pero por ultimo quería decir que pese a ser un prototipo, realmente creo que podría salir un videojuego de peleas divertido a futuro, me gustaría darle una vuela mas cuando deba pensar en mi TFM, pero si alguien me lo preguntara, yo creo que es una buena idea, que vale la pena pulir y representar algún día.

5. Creditos:

Fuente de texto:

https://www.dafont.com/terminator.font?text=DEAD+OR+ALIVE+2&psize=s

Música y sonidos:

https://www.dillonbecker.com

https://es.fiverr.com/davidkbd

Iconos:

https://assetstore.unity.com/packages/2d/gui/icons/modern-rpg-free-icons-pack-264706

6. Anexo:

Como considero muy interesante el Script de control del personaje lo pondré aquí por si alguien tiene curiosidad:

Muchas gracias por leer hasta el final !!!

Debat1el R5 – Media para Videojuegos

Publicat per

R5 – Integración de assets con Unity

Publicat per

R5 – Integración de assets con Unity

Introducción En esta última práctica de la asignatura de Media para Videojuegos debemos hacer un pseudo-juego de lucha con los personajes que…
Introducción En esta última práctica de la asignatura de Media para Videojuegos debemos hacer un pseudo-juego de lucha con…

Introducción

En esta última práctica de la asignatura de Media para Videojuegos debemos hacer un pseudo-juego de lucha con los personajes que hemos realizado durante el curso.

Desarrollo

Mi intención es hacer una simulación muy simple del videojuego Pacific Rim: The Game en 2.5D (es decir, con los personajes moviéndose únicamente en el eje Y y X aunque sea en un entorno 3D).

He recreado un entorno importando diferentes assets gratuitos de la Store (enlances en el apartado de referencias), recreando un mundo post-apocalíptico con ciudades hundidas en el océano como fondo. También he incluido un skybox de cielo nocturno para dar más realismo y un ambiente oscuro.

He incluido los paquetes “Animation Rigging” y “Cinemachine” para controlar mejor los movimientos de los personajes y el seguimiento de la cámara.

Pare empezar con la programación y las animaciones, he añadido componentes de física a todos los elementos. El robot tiene un RigidBody con un Capsule Collider y, por otro lado, el suelo tiene un Box Collider. Importante bloquear la rotación y el movimiento del eje Z del rigid body con constraints.

El script de robot jugador lo he ido escribiendo y mejorando con ChatGPT. Básicamente, consiste en una máquina de estados que transiciona según el input de las teclas y que llama a las animaciones adecuadas según cada estado. Este acercamiento me permitirá añadir la lógica de juego sencillamente después.

He creado este animator controller donde la animación por defecto es la de Idle. Ésta puede transicionar bidireccionalmente con la de Walking dependiendo del parámetro de velocidad. Después las demás animaciones pueden partir desde cualquier estado y al acabar vuelven a Idle (excepto Defeat, que termina la máquina de estados). CORRECCIÓN: hay que eliminar la transición a exit, ya que si no la animación de Defeat se queda en Loop al ser derrotado.

El primer “problema” que me he encontrado es que las animaciones no transicionaban a no ser que hubiera acabado el clip. Por suerte esto tiene fácil arreglo: solo hace falta desmarcar la casilla “Has Exit Time” en la transición de las animaciones correspondientes.

Algo similar sucedía cuando se mantenía presionada una tecla, ya que la animación se reiniciaba constantemente. Esto lo he podido solucionar por código haciendo que no se pueda transicionar entre estados hasta que las animaciones de ataque o defensa hayan finalizado.

He escrito por código que cuando el personaje camine hacia el lado opuesto al que empieza se invierta la animación ( de speed 1 a speed -1) para que haga el efecto de caminar hacia atrás con el parámetro WalkingSpeed.

Al aplicar lo realizado en el V1 al V2 me he encontrado algún que otro inconveniente. Primero, la animación de Walking por alguna razón se exportó con 40 frames congelados así que la he tenido que recortar. Por suerte, desde el inspector de Unity esto se puede hacer fácilmente. Con este robot no se siente tan bien el invertir la animación para hacer que camina hacia atrás, pero todos los parámetros son correctos, así que debe ser un problema artístico de la práctica anterior. CORRECCIÓN: resulta que el problema es que al girar el robot la pierna que comienza a caminar se debía invertir. Es decir, haciendo un flip del personaje se ha solucionado.

He añadido dos barreras invisibles a los laterales para que los personajes no puedan salirse de cámara. Finalmente no he utilizado Cinemachine para hacer seguimiento de los personajes.

En este punto he añadido dos BoxCollider as Trigger delante de los robots para activar la zona de puño cuando se ejecuta la animación. También he hecho que tengan un indicador de vida (100 puntos) y que si se están defendiendo que no puedan sufrir daño. Como extra, he añadido un sistema de partículas que lance chispas cuando impactan para dar más feedback. Para que quede en escrito, este juego no pretende estar balanceado ni dar una experiencia de combate justa.

Para los SFX he utilizado diversos audios de PixaBay y los he reproducido en momentos concretos del script. Los SFX que se reproducen son: Attack, Defeat, Impact y Walking.

Para la lógica del menú he creado un GameManager con una FSM para los diferentes estados del juego: GameStart, GameRunning, GamePaused, GameWinnerV1, GameWinnerV2. Los menús son gameObjects con botones, ya que me parecía mucho más sencillo hacerlo así que crear una nueva escena para el menú principal, etc. También he hecho que reproduzca música en loop y algunos efectos de comenzar y terminar partida.

Finalmente, para exportar con WebGL he instalado el paquete WebGL publisher y he creado una build en local para debuggear. Al principio el asset de la store de Vrbn Studios me ha dado algunos problemas, pero he eliminado del proyecto todos los scripts relacionados (ya que aportaban funcionalidades que no necesitaba para los edificios). De esta manera ya compilaba (con varias advertencias en la consola, pero son ingorables).

Ahora llega el momento que más me temía, que es que el proyecto parece ser demasiado grande para ser exportado en WebGL. Tras una tarde de prueba y error, conseguí exportarlo correctamente importando todas las partes del proyecto de una en una a una versión anterior de Unity y comprimiendo los archivos. Aun así, los edificios seguían dando problemas, así que opté por la vía rápida: hacer un pre-renderizado y ponerlo como textura plana en el fondo. Este método es muy efectivo en cuanto a rendimiento, y más para una versión web. Además, con los efectos de desenfoque y demás no se nota tanto. Debería haber pensado en utilizarlo antes, la verdad.

Edificios con canal Alpha aplicado.

Resultado final exportado con WebGL Publisher.

Juego en WebGL

Mecha Battle! – Unity Play

Apunte: he intentado incrustar el proyecto con un iframe tanto de Itch.io como de Unity Play, pero el WordPress de este servicio no lo permite.

El repositorio de todo el proyecto se puede encontrar públicamente en GitLab: https://gitlab.com/jongompal/r5-mecha-battle.git

Visión de futuro

Lo cierto es que el resultado es sencillo, pero estoy muy contento con el empaque final y cómo se integran los modelos con el entorno. Evidentemente, se podría expandir muchísimo más con más animaciones, personajes, entornos, más tipos de ataque y hacer un sistema de combate más atractivo.

Lo cierto es que me ha atraído mucho la idea de hacer un combate más estratégico y lento en lugar de uno en el que cada milisegundo cuenta y los reflejos rápidos son la joya de la corona. Creo que es una perspectiva del género inexplorada y que empaca muy bien con la estética de Mechas que he querido transmitir.

En el hipotético caso de que siguiera en un futuro apostando por este concepto, claramente haría un rediseño total, pensando muchísimo más en las mecánicas y recreando el apartado artístico en consecuencia (aunque no ha estado mal investigar el camino inverso por una vez).

Para terminar, decir que el punto que me falla siguen siendo las animaciones. Son el apartado que claramente requieren más trabajo y que se nota más antinatural. Por ello, en un futuro proyecto de este estilo buscaría cómo integrar aún más las herramientas del motor con las externas e incluso investigar si sería posible crear animaciones procedurales que se adaptaran al entorno.

Referencias

Debat0el R5 – Integración de assets con Unity

No hi ha comentaris.

Publicat per

Reto 4 – Media para videojuegos

Publicat per

Reto 4 – Media para videojuegos

Modelos Sketchfab: Robot 1 Robot 2 Resumen: Para el desarrollo de este Reto, he seguido los pasos dados en los tutoriales de…
Modelos Sketchfab: Robot 1 Robot 2 Resumen: Para el desarrollo de este Reto, he seguido los pasos dados en…

Modelos Sketchfab:

Robot 1

Robot 2

Resumen:

Para el desarrollo de este Reto, he seguido los pasos dados en los tutoriales de la asignatura con tal de conseguir crear las diferentes animaciones para cada uno de los robots.  En primer lugar, empecé asignando al control rig los diferentes huesos de mis robots, de modo que la animación fuese más sencilla, ya que de este modo el cuerpo (o la parte que queramos de este) sigue el movimiento de las articulaciones.

Una vez asignado el control rig para cada robot, comencé con la animación IDLE, pues la considero la más sencilla, y de ahí he ido haciendo el resto.

Algo que me ha costado entender es como hacer diversas animaciones para un mismo modelo. Tras buscar por internet sin demasiado éxito, un comentario en el foro de la asignatura de un compañero con la misma duda resolvió el problema. Entonces, comencé a encadenar las diferentes animaciones en el Time Slider hasta tenerlas todas, momento en el que hice el bake para que estas se mapearan con el modelo. Una vez hecho esto, importé el modelo a Unity para comprobar que todo estaba bien. Desde Unity, pude ver que me importaba el modelo con una sola animación que contenía todas, y descubrí que desde el mismo Unity puedes dividir dicha animación en partes por frames, de modo que dividí mis animaciones y pude ver que todas estaban funcionando correctamente. Tras esto, repetí el proceso con el segundo robot y subí los modelos a Sketchfab.

A continuación adjunto algunas imágenes del proceso, donde se muestran las diferentes animaciones para cada robot:

Imágenes:

Robot 1: Diferentes poses (caminando, IDLE, atacando, defendiendo y pose de muerte)

 

 

 

 

 

 

 

 

 

Robot 2: Diferentes poses (IDLE, atacando, defendiendo, caminando y pose de muerte)

 

 

 

 

 

 

 

 

 

 

Vídeos:

A continuación, adjunto la playlist de videos de YouTube que contiene los diferentes videos con todas las animaciones para cada robot:

 

Reflexión:

Tras esta práctica, he llegado a diferentes conclusiones respecto a la animación de modelos 3D. En primer lugar, es un trabajo muy demandante, que requiere muchas horas, concentración, precisión y paciencia. En este caso han sido animaciones sencillas, y me han llevado bastantes horas, por lo que animaciones más concretas y complejas suponen una carga de trabajo increíble.

Gracias al desarrollo de esta práctica puedo empatizar, en parte, con las personas que se dedican a animar modelos. Si modelar y texturizar ya me pareció complejo, la animación va un paso más allá. Es una tarea que supone una carga mental (además de temporal) considerable y que puede llegar a ser muy frustrante.

Debat0el Reto 4 – Media para videojuegos

No hi ha comentaris.

Publicat per

Animacions dels robots en 3D

Publicat per

Animacions dels robots en 3D

Animacions dels robots en 3D Disseny de les animacions Els dos robots porten armes similars però, encara que tenen animacions semblants, s’ha…
Animacions dels robots en 3D Disseny de les animacions Els dos robots porten armes similars però, encara que tenen…

Animacions dels robots en 3D

Disseny de les animacions

Els dos robots porten armes similars però, encara que tenen animacions semblants, s’ha volgut que es diferenciïn en alguns aspectes. A continuació, es descriuen les animacions i els comentaris sobre la seva creació.

-Atac: Els dos utilitzen una arma punxaguda i estiren el braç´per impactar contra l’enemic. No obstant, s’ha volgut que l’atac del robot més humaoide (robot 1) semblés més lleger i ràpid que el robot cilíndric (robot 2) ja que les dues armes es diferencien substancialment en tamany.

-Moviment: El robot 2 té cames més curtes i resulta en un moveminent més mecànic i les extremitats més estirades. Els braços també es mouen en una circumferència més amplia. El moviment del robot 1 és mes natural i s’assembla més al de l’humà.

-Mort: Moviment més complicat de dissenyar. El robot 1 gira i cau inmediatament. El robot 2 tira la cama esquerra cap enderrerre, com mogut per l’impacte, per després caure. En el robot 2, també, algunes peces es descoloquen al caure (animació que va sorgir de forma mica fortuita però que tenia sentit i es va conservar).

-Defensa: Les dues animacions són força diferent. El robot 1 utilitza l’estoc que porta per deflectar l’atac contrari mentres que l’adversari es tapa l’ull central amb les mans amb l’arma i la mà. Amb aquestes defenses, s’ha volgut dotar d’una mica de personalitat els dos objectes.

-Idle: Animacions molt similars. Encara que es cert que no respiren, els robots imiten el comportment humà. Així també l’animació tenia més moviment.

Enllaç a les animacions

Robot 1:

https://skfb.ly/psxNP

https://skfb.ly/psxOn

https://skfb.ly/psxO7

https://skfb.ly/psxOs

https://skfb.ly/psxO9

Robot 2:

https://skfb.ly/psxOv

https://skfb.ly/psxOy

https://skfb.ly/psxOz

https://skfb.ly/psxOB

https://skfb.ly/psxOF

Vídeo amb les animacions
Canvis i dificultats

La dificultat més clara, va venir donada pel canvi en l’esquelet del robot 2 durant el procès d’animació. Els ossos de la cama estaven molt junts i el genoll, especialment, necessitava col·locar-se més amunt per a que el moviment fos natural i les cames no produguessin rotacions extranyes amb el peu. Per fer això, es va eliminar un òs del tornc i es va moure el upper leg a l’altura d’aquest òs eliminat. De forma similar, es va moure el lower leg. En la comparativa següent es pot veure el nou model a l’esquerra i l’antic a la dreta.

Debat0el Animacions dels robots en 3D

No hi ha comentaris.

Publicat per

R4 Animaciones de los robots

Publicat per

R4 Animaciones de los robots

Proceso La primera etapa del proceso consistió en la creación de bocetos orientativos para las animaciones, en los cuales se definieron los…
Proceso La primera etapa del proceso consistió en la creación de bocetos orientativos para las animaciones, en los cuales…

Proceso

La primera etapa del proceso consistió en la creación de bocetos orientativos para las animaciones, en los cuales se definieron los fotogramas iniciales de cada secuencia. Posteriormente, el ritmo y la cantidad de fotogramas entre cada fotograma clave fueron ajustados y adaptados a una velocidad estándar de 60 frames por segundo, comúnmente utilizada en los videojuegos. Estos bocetos evolucionaron a medida que se desarrollaban las animaciones, ya que surgieron oportunidades para mejorar el ritmo de la animación y se identificó la necesidad de incluir fotogramas adicionales. El objetivo era lograr animaciones lo suficientemente orgánicas para transmitir la ilusión de que los robots están vivos, pero sin perder la esencia mecánica que destaca su naturaleza metálica.

En cuanto al robot 1, la animación de Idle simula un patrón de respiración, acompañado de movimientos ocasionales de la cabeza hacia los lados, como si estuviera buscando posibles presencias en su entorno. La animación de correr está diseñada para imitar a una persona, con los brazos hacia atrás, y busca transmitir la impresión de que el robot es pesado y su desplazamiento requiere un esfuerzo considerable. La animación de defensa fue completamente rediseñada debido a limitaciones en el modelo del robot, que impedían un cruce natural de brazos. En su lugar, se optó por un movimiento en el que agita su espada de forma protectora. Por último, la animación de ataque incorpora un uso de los brazos-espada, enfatizando la fuerza y el daño infligido.

Respecto al robot 2, su movimiento se caracteriza principalmente por el uso dinámico de sus brazos, que funcionan como tentáculos, y el pez en su interior, que imita los movimientos de estos. Para evitar que la animación de correr se viera estática, como sugerían los bocetos iniciales, se añadieron oscilaciones hacia adelante y atrás en los brazos, inspiradas en la animación de Idle. La animación de muerte enfatiza la desconexión del robot, con el detalle del pez interior cayendo.

Todas las animaciones de los robots, excepto las de muerte y defensa, comienzan y terminan en el mismo fotograma, permitiendo su reproducción en bucle. Las animaciones de muerte, al reproducirse una sola vez, no requieren un diseño en bucle. En el caso de las animaciones de defensa, el jugador puede mantener el botón de defensa, prolongando el último fotograma de forma indefinida, lo cual elimina la necesidad de un ciclo continuo. Este enfoque asegura que las animaciones sean coherentes con la estética del juego y funcionales en su implementación técnica.

 

Como referencias para algunas animaciones, como la de correr del robot1, utilicé videos de referencia y utilicé la página syncsketch para visualizar cada fotograma y poder extraer los fotogramas clave e intermedios.

El proceso de animación consistió en grabar los fotogramas clave de cada animación, y modificar las curvas del Graph Editor para suavizar algunos movimientos o eliminar fotogramas de determinadas propiedades del objeto que entorpecían el movimiento deseado.

Cada animación realizada se comprimía en clips haciendo uso de las herramientas del Time Editor, que permite grabar distintas animaciones en distintos clips.

 

El último paso ha sido colocar las animaciones una detrás de otra en el Time Editor para poder exportarlas con Game Exporter. Este obtiene los clips del Time Editor y selecciona de su fotograma inical al último, realiza el bake y los comprimer en un único archivo FBX para poder importarlo a Unity con los distintos clips.

 

Problemas encontrados

Un problema que surgió a la hora de animar el primer robot, fue que el controlador IK de las piernas no estaba correctamente finalizado, ya que debía añadir un controlador de la orientación de las rodillas para poder animar bien las piernas.

Además de esto, los problemas afrontados para esta entrega han sido en relación a la inexperiencia a la hora de utilizar el Time Editor, teniendo que repetir algunos pasos reiteradas veces, y del propio prorgama Maya, ya que cuantas más animaciones realizaba y guardaba peor funcionaba el programa, congelándose la pantalla y perdiendo el progeso del archivo en múltiples ocasiones.

 

Experiencia general

La experiencia de realizar manualmente todas las animaciones ha sido positiva. A diferencia de las animaciones generadas automáticamente a través de herramientas como Mixamo, las animaciones hechas a mano tienen un valor añadido, ya que reflejan un enfoque más personal y único. Este proceso permite que cada movimiento esté completamente alineado con la visión del creador, lo que otorga un nivel de detalle y autenticidad que difícilmente puede lograrse con soluciones automáticas.

Al crear cada animación desde cero, se tiene control total sobre el ritmo, la fluidez y la intención . Este nivel de personalización es clave para dotar de identidad y coherencia a los personajes y a la narrativa del proyecto. Por otro lado, este método implica un esfuerzo considerable, ya que requiere más tiempo, paciencia y atención a los detalles en comparación con el uso de animaciones prefabricadas. Sin embargo, el resultado final compensa el trabajo adicional, pues las animaciones adquieren un carácter distintivo que enriquece tanto el diseño como la experiencia del jugador.

Enlaces SketchFab

Robot1:

https://skfb.ly/psxL6

Robot2:

https://skfb.ly/psxNJ

 

Videos animaciones finales:

Debat0el R4 Animaciones de los robots

No hi ha comentaris.

Publicat per

R4 Media para videojuegos

Publicat per

R4 Media para videojuegos

Los modelos se pueden ver en sketchfab en los siguientes enlaces: robot 1: https://skfb.ly/pswxz robot 2: https://skfb.ly/pswxA Las animaciones y todo el…
Los modelos se pueden ver en sketchfab en los siguientes enlaces: robot 1: https://skfb.ly/pswxz robot 2: https://skfb.ly/pswxA Las animaciones…

Los modelos se pueden ver en sketchfab en los siguientes enlaces:

  • robot 1: https://skfb.ly/pswxz
  • robot 2: https://skfb.ly/pswxA

Las animaciones y todo el proceso se ha realizado en Maya, siguiendo los tutoriales de la asignatura.

Las animaciones han sido pensadas como componentes estándar. Muerte mediante la caída al suelo, ataque cada robot con su habilidad (puñetazo y ataque con la boca), defensa como protegerse la cara, idle como movimiento base al estar quieto y caminar. Menos la muerte, el resto de animaciones se han hecho para que se puedan poner en bucle.

La parte de crear el control rig es lógica y fácil de entender. El problema empieza cuando tienes que trabajar con las animaciones, la timeline y varios clips.

Debido a complejidad, y falta de conocimiento, sobre la herramienta Maya y sus menús de animación, gran parte del tiempo invertido en esta práctica fue usado en el debug de errores extraños, la incapacidad de hacer lo que quería en cada momento y la dificultad/falta de información para poder crear varios clips/animaciones distintas.

Se hubiera agradecido en los tutoriales algún ejemplo del profesor en la creación de varios clips distintos en Maya, y su posterior exportación a Unity.

Proceso

Una vez definido el control rig, se facilita mucho la cración de movimientos complejos en las animaciones, ya que con el movimiento exclusivo de una extremidad se mueven todas sus dependencias.

Mediante el uso de keyframes en la barra de animación, podemos realizar la lógica de movimiento que queremos, añadiendo parones, distintas velocidades, movimientos de diferentes partes del cuerpo para darle una sensación más “viva”. Una vez listas nuestras animaciones para su uso en unity, realizamos el bake y podemos exportarlas.

 

En mi caso, me parecía más fácil (dentro de lo que me costó entender el proceso), realizar todas las animaciones en 1 misma timeline y luego ya en Unity podía crear clips distintos para separar las animaciones.

Vídeo

Para mostrar las distintas animaciones de cada robot, se ha grabado el siguiente vídeo: https://youtu.be/fMQDpchcjNo

Como el propio sketchfab permite reproducir las animaciones desde un mundo 3d con capacidad libre de movimiento, se ha aprovechado la misma herramienta.

Reflexión

Ya comenté al principio gran parte de mi opinión sobre esta práctica.

Me parece lo más complejo el trabajar con clips dentro del timeline de maya. He trabajado con otras herramientas de edición de vídeo y similares, y todas son de uso más intuitivo que esta. También se me bloqueó 3 veces MAYA y tuve que forzar su cierre, trabajando siempre con las animaciones y las distintas vistas.

El control rig me parece una muy buena herramienta para facilitar el diseño de las animaciones. Creo que cuando se hace el primer diseño del personaje, ya hay que tener en cuenta las posibles animaciones que podría tener, para facilitar así su desarrollo de una manera lógica.

Una vez entendido el proceso, fue de gran ayuda pequeños tips como el hecho de siempre seleccionar las distintas extremidades o puntos que vamos a trabajar y poner los keyframes de inicio y final iguales, para que así ya tengamos definido la misma posición de inicio y final.

 

Debat0el R4 Media para videojuegos

No hi ha comentaris.

Publicat per

PEC4 – Media para videojuegos

Publicat per

PEC4 – Media para videojuegos

Hola a todos!!! . Hoy quiero compartirles la actualización del proyecto de una forma resumida y cómoda para todos, pero antes de…
Hola a todos!!! . Hoy quiero compartirles la actualización del proyecto de una forma resumida y cómoda para todos,…

Hola a todos!!!

.

Hoy quiero compartirles la actualización del proyecto de una forma resumida y cómoda para todos, pero antes de empezar, pondré los links para que puedan ver los modelos de la chica robot coneja y la tiburón con sus respectivos set de animaciones, es increíble lo que se puede hacer en  Sketchfab a la hora de mostrar contenido, repasando su uso pude montar mis personajes en un formato totalmente compatible para poner texturas y animaciones de forma super organizada (.glb), así que lo recomiendo totalmente, también los personajes se verán algo mejor que antes, espero lo disfruten.

Link para descargar los personajes:

https://drive.google.com/drive/u/2/folders/17UGIM__3gzgphplknZifO97MBA39rZGX

Los personajes también están puestos de tal forma que se pueden descargar directamente de Sketchfab.

Link Robot Coneja Animada:

Link Robot Tiburón Animada:

 

1. Reparando el Rig de Animación

Decidí que quería dar lo mejor con esta entrega, pese a que no se mucho sobre animación, quería poder integrar algunas expresiones de los personajes mientras realizan cada animación, la única forma de hacer esto que se me ocurrió es modificar y arreglar el Rig de animación que tenía montado en la entrega pasada y esto…Fue bastante trabajo y mas difícil de lo que fue pulir el de Mixamo, la razón es la cantidad de huesos y influencias que se manejan, es mucho menos intuitivo de lo que parece.

Sin embargo conseguí lo que quería, Inverse Kinematics (para facilitar la animación de los brazos y las piernas), controladores para animaciones faciales y el Rig. También conseguí configurar el Picker Panel de Auto Rig Pro, esto permite seleccionar de forma rápida los controladores y ahorrarme tiempo de trabajo, un factor importante porque quiero que las animaciones de cada personaje sean muy únicas entre sí y esto lleva al siguiente paso.

 

2. Referencias de Animación

Lo mejor para un principiante es estudiar animaciones de personajes que se parezcan a lo que quieres animar, para entender el flujo de sus movimientos, sus poses y expresiones. En mi caso tenía claro que mi inspiración sería el videojuego Guilty Gear -STRIVE-, que es muy famoso como videojuego de lucha estilo anime y tiene personajes muy únicos, ricos en animaciones y expresiones. Me dí la tarea de probar cada personaje en su campo de pruebas y elegir personajes interesantes para grabar cada una de sus animaciones hasta dar con mis personajes objetivo que serian:

  • Bridged por su movimiento alegre y despreocupados parecidos a lo que quería para la robot conejo.
  • Giovanna por sus movimientos agresivos y salvajes parecidos a lo que quería para la robot tiburón.

Es importante aclarar que no copie directamente sus animaciones, pero sí me ayudaron muchísimo a entender como deberían verse los personajes en el videojuego, el Angulo de la cámara y enfocarme en animar lo que se vería, al enfocarme en un solo Angulo de cámara, tenía mas opciones y flexibilidad de trabajo.

3. Anima Animador!!!

Lo primero de lo que me gustaría hablar del proceso de animación es la cámara, el personaje siempre debe verse bien en cámara para que pueda adaptarse al videojuego final, el rostro del personaje debe mirar al oponente que estará a su otro extremo pero desde un Angulo que le favorezca y permita ver el como le mira, el cuerpo funcionaría de forma parecida, lo mas importante es recordar comprobar la cámara mientras se esta animando, parece una limitación pero en realidad facilita mucho la vida porque ya se tiene en cuenta como se usaran estas animaciones.

Cuando se anima se pueden editar curvas de animación (Graph Editor en Blender), esto es algo complejo y lo use únicamente para acelerar y dar algo de potencia a los ataques de los personajes.

Para guardar las animaciones, en el caso de Blender tenemos el Nonlinear Animation, que se parece bastante el Animator de Unity pero aquí podemos guardar animaciones (en Blender se llaman Actions), esto con el fin de poderlas exportar empaquetadas y que sea mas cómodo de usar en otro programa, es muy intuitivo aunque debe activarse cada animación al exportar, si les llega a faltar alguna cuando lo abran en Unity, es por esto.

Todas las animaciones que se mostraran a continuación son reproducidas en un escenario en Unity, donde cada personaje tiene su Animator que reproduce su set de animaciones funcionando a 24 fotogramas por segundo, que es muy estándar en animación y me ha sido practico de seguir, de esta manera estoy avanzando en el videojuego para la siguiente entrega.

3.1 Animación de Idle

La animación de Idle es la básica que hacen los personajes inactivos cuando el jugador no pulsa botones, quería que esta animación reflejara la personalidad, por esto la chica conejo realizara un baile mientras sonríe y la chica tiburón siempre esta en una pose de combate con menos movimientos innecesarios y preparándose para un ataque.

 

3.2 Animación de Caminar

Esta animación es el desplazamiento básico de ambos personajes que en Unity podrá usarse para moverse a la izquierda o derecha de la pantalla, es una animación cíclica, lo que implica que debe empezar y terminar con la misma pose en el personaje, también me vi en la necesidad de estudiar este ciclo por internet para saber como funcionaria el movimiento de los personajes, porque la chica conejo se moverá de una forma común y relajada porque es una civil, incluso podría decirse que tiene algo de gracia, pero la chica tiburón debe moverse de una forma furtiva como una cazadora asechando a su presa esto les caracterizara en combate.

 

3.3 Animación de Ataque

Quería que ambos personajes tuvieran ataques equilibrados, así que ambos realizaran una patada, pero incluso en esto hay diferencias, la chica conejo realiza una patada de lado mientras levanta su mano para mantener el equilibrio lo que es un movimiento de una novata de artes marciales (estudie karate un tiempo y aprendí que es la primera patada que se enseña), mientras la chica tiburón realiza una avanzada patada de atrás apoyándose  perfectamente para lograr el mejor impacto, con esto quiero explicar que aunque ambos ataques sean teóricamente lo mismo, cada personaje lo realiza según su experiencia (A nivel de Gameplay claramente harán el mismo daño).

 

3.4 Animación de Defensa

Es la animación mas simple del set, consiste en una forma de realizar un bloqueo, la chica conejo alzara su pierna y tratara de sostenerla con uno de sus brazos mientras con el otro tratara de bloquear, esto seguramente lo vio en alguna película de Jackie Chan, pero bastaría una patada para tumbarle su equilibrio, la chica tiburón realiza un bloque con su pierna y brazo pero a la vez reduce su área de impacto y movimiento.

 

3.5 Animación de Muerte

Mi animación favorita fue la de muerte de la chica conejo porque es la mas caricaturesca, recibe un impacto que la impresiona, abre grande sus ojos y se  levanta en el aire, al caer gira su cabeza mientras cierra los ojos, por otro lado la animación de la chica tiburón es una caída porque le fallan las piernas, pero desearía saber animar mejor y tener mas tiempo para representarlo mejor.

 

4. Relfexión

Adoro la animación pero aun no aprendo a animar. Compartí gran parte de mi reflexión a lo largo del trabajo, pero me gustaría decir que realmente no paro de sorprenderme y ver lo grande que es el mundo del arte para videojuegos, modelado, texturizado, Rigging y ahora animación, son muchas disciplinas, y si no hubiera tomado esta asignatura tal vez no me abría obligado a probar tantas cosas nuevas,  solo puedo decir y aconsejar a quien lea esto, que intente poner cariño y dedicación a lo que haga, cuando hacemos las cosas con pasión, se nota mucho en los resultados, muchas gracias por leerme hasta el final.

Para los curiosos incluyo un pequeño video editado con todas las animaciones y una música Royalty Free de fondo.

Debat0el PEC4 – Media para videojuegos

No hi ha comentaris.

Publicat per

R4 – Media para videojuegos

Publicat per

R4 – Media para videojuegos

Trabajo de animación Siguiendo con Blender como herramienta, para esta tarea no he tenido que hacer ningún trabajo previo de revisión del…
Trabajo de animación Siguiendo con Blender como herramienta, para esta tarea no he tenido que hacer ningún trabajo previo…

Trabajo de animación

Siguiendo con Blender como herramienta, para esta tarea no he tenido que hacer ningún trabajo previo de revisión del modelo ni de los pesos. Ya había sido revisado en la anterior entrega.

Por otro lado, pese a haber podido crear controladores para las articulaciones, decidí hacerlo directamente modificando la posición y rotación de los huesos.

Robot 1 – https://skfb.ly/psuQZ

Para el primer robot, y  como se pedía, se realizaron las 5 animaciones básicas.

Para organizar las animaciones, en vez de crearlas en la misma timeline, decidía crear acciones para el esqueleto. El proceso de aimación consistió en añadir los keyframes necesarios para las transiciones entre estados. En los casos en los que quería mantener algún hueso en cierta posición sin verse afectado por el siguiente keyframe, añadí una copia del estado base para que se mantuviera, de ahí los keyframes unidos por una línea amarilla. Por otro lado, para las animaciones que van a ejecutarse en bucle, cambié el tipo de interpolación a lineal, para que no se frenase al llegar al final antes de repetirse.

Por último, exporte las animaciones a Unity para comprobar que funcionaban correctamente.

 

 

 

 

 

 

 

 

 

 

Robot 2 – https://skfb.ly/psuR8

Para el robot 2, el proceso fue básicamente el mismo que el anterior. Sin embargo, tras acabar la animación de muerte, fui directamente a exportar el modelo a fbx para probarlo y no marque el icono con forma de escudo que indica a Blender que no borre la animación si no guardas, perdiéndola en el editor. Por suerte si se exportó en el fbx que creé y puedo reproducirla y reasignarla al modelo original, pese a que la timeline no muestra los keyframes originales.

 

Reflexión

En general el trabajo de animación ha sido bastante divertido, sobretodo cuando me veía obligado a posar ya que no veía clara alguna animación en mi cabeza. Hubiera sido interesante crear controladores para los modelos y quizá haber sido mas cuidadoso a la hora de manejar las animaciones para no tener un descuido como con el robot 2.

Debat0el R4 – Media para videojuegos

No hi ha comentaris.

Publicat per

PEC 04 Media para videojuegos

Publicat per

PEC 04 Media para videojuegos

Introducción Después de completar el rigging en el proyecto anterior, el siguiente paso fue crear las animaciones para mis dos robots, Archie…
Introducción Después de completar el rigging en el proyecto anterior, el siguiente paso fue crear las animaciones para mis…

Introducción

Después de completar el rigging en el proyecto anterior, el siguiente paso fue crear las animaciones para mis dos robots, Archie V 1.34 y Robotydus. Este proceso fue fundamental para darles vida y expresar sus características únicas a través de movimientos específicos. El rigging proporcionó la estructura interna que permitió el movimiento, pero ahora se trataba de dotar a cada robot de acciones fluidas y coherentes dentro del contexto del juego.

El objetivo del proyecto fue desarrollar cinco animaciones distintas para cada robot:

  • Movimiento al correr, donde cada robot mostró su estilo particular de desplazamiento.
  • Idle o estático, una animación que reflejaba el estado de reposo o espera.
  • Ataque, diseñada para enfatizar el carácter ofensivo de cada robot.
  • Defensa, que representaba una postura protectora o reacción ante amenazas.
  • Muerte, una animación final que resaltaba el impacto y el cese de actividad del robot.

Mi experiencia previa en animación se centraba principalmente en la creación de sprites 2D en Unity, donde había aprendido conceptos clave como keyframes, interpolación y edición en timeline. Aunque la animación 3D supuso un desafío adicional, mi familiaridad con timelines y edición en diferentes programas me sirvió como base sólida para afrontar este proyecto. En los siguientes apartados, explicaré el desarrollo del control rig, la creación de las animaciones y las conclusiones obtenidas tras finalizar el proyecto.

Punto de partida con el que empece a trabajar, con el rigging correctamente establecido.

Creación del Control Rig

Lo primero que hice fue revisar todos los videos del tutorial, tal como había hecho en proyectos anteriores, para entender el proceso completo de creación de las animaciones. Esta revisión me permitió anticipar cada uno de los pasos y planificar el flujo de trabajo. Pronto me di cuenta de que el primer paso fundamental era crear un control rig.

Comencé trabajando en Archie V 1.34, ya que quería centrarme primero en su estructura más compleja antes de pasar a Robotydus. Utilicé Human IK para definir el esqueleto, asignando cuidadosamente cada hueso a su lugar correspondiente. Hice varias pruebas dentro del control rig, ajustando configuraciones y parámetros hasta dar con la mejor definición posible, asegurando que todos los movimientos fueran precisos y se adaptaran a las necesidades específicas del personaje.

Creación del control rig definiendo cada parte del esqueleto correctamente.

Una vez optimizado el control rig de Archie, realicé pruebas en el timeline. Ajusté la configuración a 60 fps y creé una animación sencilla que exporté a Unity. Esta prueba fue clave para confirmar que el rig funcionaba correctamente y que el flujo de trabajo entre Maya y Unity era fluido.

Realización de pruebas en Unity para comprobar el funcionamiento del modelo y sus animaciones.

Después, pasé a trabajar en el control rig de Robotydus, quien presenta un desafío adicional debido a sus cuatro brazos. Al igual que en el proceso de rigging, definí los brazos superiores como los principales en Human IK. Esto me permitió mantener el control adecuado durante la creación de las animaciones y asegurar que los movimientos fueran naturales y coherentes con el diseño del personaje. Al igual que con Archie, realicé ajustes y pruebas hasta conseguir una configuración óptima antes de pasar a la creación de las animaciones.

Creación de las Animaciones

El objetivo era desarrollar cinco animaciones distintas para cada robot: correr, idle (estático), ataque, defensa y muerte. Comencé trabajando con Archie V 1.34, ya que su diseño más robusto y agresivo me permitió establecer una base sólida antes de abordar a Robotydus. Opté por crear todas las animaciones dentro de un único timeline, asignando aproximadamente 100 frames a cada una. Esto me permitió exportar una animación completa a Unity y luego dividirla en cinco clips independientes, facilitando la organización y reutilización de las animaciones en el entorno del juego.

Proceso de creación de las animaciones haciendo uso del timelap y el control rig creado para cada robot.

Sin embargo, este proceso no estuvo exento de dificultades. Lo que más me costó fue enfocar las animaciones de manera adecuada para un juego de lucha entre robots. Intentar que los movimientos no fueran ni demasiado humanos ni demasiado rígidos fue un desafío constante. Además, la falta de experiencia en el ámbito de la animación me hizo enfrentarme a situaciones donde los movimientos no fluían tan naturalmente como me hubiera gustado, lo que requirió varios ajustes y pruebas.

Para comenzar, seguí los pasos detallados en los tutoriales, pero también realicé grabaciones propias simulando los movimientos deseados, lo que me ayudó a visualizar mejor el resultado final. Además, investigué en videos de robots reales y animaciones robóticas para inspirarme y lograr que los movimientos se sintieran mecánicos y estructurados, alejados de cualquier gesto humano.

La primera animación que desarrollé fue la de idle, entre los frames 3 y 100. Archie realiza un movimiento sencillo de subir y bajar, simulando que está a la espera de actuar. Agregué un ligero balanceo en los hombros para transmitir una sensación de constante preparación y vigilancia. La animación de muerte, entre los frames 120 y 220, muestra cómo el cuerpo de Archie se desploma hacia atrás, como si estuviera derrotado. Hice que las piernas cedieran primero, seguido por el torso, para que la caída se sintiera progresiva y más realista.

En la animación de defensa, que va del frame 230 al 330, Archie sube los brazos hacia la cabeza, adoptando una postura protectora. Añadí una leve inclinación hacia adelante para reforzar la idea de que se está preparando para recibir un impacto directo. Para el ataque, desarrollado entre los frames 340 y 440, diseñé un golpe con la mano derecha, mientras la izquierda se mantiene ligeramente levantada para protegerse. También trabajé una breve pausa antes del golpe, lo que genera una sensación de fuerza acumulada antes del impacto.

Finalmente, en la animación de movimiento, entre los frames 450 y 600, Archie corre hacia adelante con pasos firmes y decididos. Incluí un leve balanceo de los brazos para acompañar el ritmo, resaltando su peso y determinación en cada paso.

 

Tras completar las animaciones de Archie, pasé a trabajar en Robotydus. Aunque el proceso fue similar, su diseño de cuatro brazos exigió algunos ajustes adicionales. Al igual que en el rigging, definí los brazos superiores como principales y me centré en su movimiento. Desde el principio, quise que sus animaciones reflejaran su agilidad y ligereza, en contraste con la fuerza bruta de Archie.

Para Robotydus, el idle, entre los frames 3 y 100, mantiene una postura relajada pero lista, con sutiles movimientos en los cuatro brazos y pequeños giros de la cabeza, proyectando vigilancia constante sin parecer inquieto. En la muerte, del frame 120 al 220, el robot cae hacia atras simulando su derrota y generando una sensación ligera en su cuerpo.. Añadí un pequeño balanceo al final para reforzar el impacto.

Durante la defensa, entre los frames 230 y 330, Robotydus eleva sus brazos superiores hacia la cabeza, mientras los inferiores permanecen firmes para asegurar estabilidad. Incluí un leve retroceso del torso, simulando que se prepara para recibir un impacto directo. En la animación de ataque, del frame 340 al 440, ejecuta un golpe preciso y rápido con los brazos izquierdos, mientras los otros permanecen en guardia. Incorporé un pequeño paso hacia adelante para reforzar la sensación de fuerza y fluidez en el movimiento. Finalmente, en el movimiento, entre los frames 450 y 600, Robotydus avanza con pasos ágiles y coordinados, mostrando un suave rebote en cada paso que resalta su flexibilidad.

Una vez completadas las animaciones de ambos robots, exporté la animación grande a Unity. Como ya sabía de antemano los frames correspondientes a cada animación, pude dividirla en clips individuales correctamente y adaptarlos a las necesidades del juego. A pesar de las dificultades y ajustes realizados durante el proceso, el resultado final fue satisfactorio, y me permitió aplicar cada animación de manera efectiva en el juego.

Separación de las animaciones en clips en Unity.

Conclusiones

El resultado final de las animaciones, aunque satisfactorio y decente desde mi punto de vista, también pone de manifiesto mi falta de experiencia en el ámbito de la animación y el uso de herramientas especializadas como Maya. El proceso fue un desafío, especialmente en lo que respecta a cómo enfocar y conceptualizar las animaciones. Este aspecto fue, sin duda, uno de los más complejos, ya que implicaba encontrar un equilibrio entre movimientos que fueran vistosos y a la vez coherentes dentro del contexto de un juego de lucha entre robots. Así me hubiera gustado obtener animaciones más detalladas y con mayor complejidad y movimiento en otras partes del robot más allá de las principales, como los brazos, torso y piernas.

A pesar de estas dificultades, estoy contento con el resultado y, sobre todo, con el aprendizaje obtenido. Haber explorado herramientas como el control rig y el timeline en Maya me ha permitido adquirir una base sólida en animación 3D, algo completamente nuevo para mí. Este proyecto no solo me ha dado la oportunidad de mejorar mis habilidades técnicas, sino que también me ha impulsado a ser más creativo y a pensar en cómo los movimientos pueden influir en la personalidad y jugabilidad de los personajes.

El proceso, aunque desafiante, fue una experiencia enriquecedora que espero seguir perfeccionando en futuros proyectos.

Enlaces

Video de las animaciones de Archie V 1.34:

Modelo fbx de Archie V 1.34: https://sketchfab.com/3d-models/archie-v-134-animaciones-c8fd8c9ecfbf41a8b322405825afaa71

Video de las animaciones de Robotydus:

Modelo fbx de Robotydus: https://sketchfab.com/3d-models/robotydus-animaciones-c61ccbec877349afbd3a7cb65eab0d1f

Debat0el PEC 04 Media para videojuegos

No hi ha comentaris.

Publicat per

R3 – Media para videojuegos

Publicat per

R3 – Media para videojuegos

1. Enlaces de drive: https://drive.google.com/drive/folders/1hn9IOENcb5Pr-t7dSNQOdCp339jcXDHt?usp=drive_link 2. Resumen: La aplicación del rig se realizó usando Maya. 2.1. Proceso Lo primero que tuve que…
1. Enlaces de drive: https://drive.google.com/drive/folders/1hn9IOENcb5Pr-t7dSNQOdCp339jcXDHt?usp=drive_link 2. Resumen: La aplicación del rig se realizó usando Maya. 2.1. Proceso Lo primero…

1. Enlaces de drive:

https://drive.google.com/drive/folders/1hn9IOENcb5Pr-t7dSNQOdCp339jcXDHt?usp=drive_link

2. Resumen:

La aplicación del rig se realizó usando Maya.

2.1. Proceso

Lo primero que tuve que realizar fue un limpiado de todos los componentes del robot. Eliminando algunos objetos.

 

Luego se generaron los Joints y se les oriento de forma correcta y al final se realizó un Bind Skin para juntar al robot con el los Joints.

 

En el proceso de realizar la asignación del robot con cada Joint deseado se usó Unity para una ayuda visual.

 

 

2.2. Capturas de pantalla

 

2.3. Reflexión

También se realizo el ringging con mixamo aunque el proceso es bastante rápido tiene errores al momento de asignar los Joints, generando que partes del robot se desfiguren en los movimientos. En conclusión aunque tome más tiempo con el uso de Maya u otro programa será más beneficioso que el aplicado automático de mixamo.

Debat0el R3 – Media para videojuegos

No hi ha comentaris.