Publicat per

PEC 05 – Media para videojuegos

Publicat per

PEC 05 – Media para videojuegos

Introducción al juego de pelea Robotic Fighters Después de realizar las anteriores prácticas, he aprendido a modelar mis robots en 3D con…
Introducción al juego de pelea Robotic Fighters Después de realizar las anteriores prácticas, he aprendido a modelar mis robots…

Introducción al juego de pelea Robotic Fighters

Después de realizar las anteriores prácticas, he aprendido a modelar mis robots en 3D con Maya, texturizarlos, darles color y detalles, realizar su rigging y, finalmente, animarlos con diferentes secuencias como ataque, idle, muerte, movimiento y defensa. En esta última práctica, he creado una breve demostración de lo que sería un juego de lucha llamado Robotic Fighters, utilizando todos los elementos creados durante estas prácticas, es decir, tanto los robots como sus animaciones.

Cabe mencionar que ya tenía bastante experiencia previa con el programa Unity, tanto en 2D como en 3D, por lo que la implementación de un juego en dicho programa no me planteaba un reto extremadamente complicado a priori, pero sí desafiante y atractivo, ya que nunca había realizado un juego de lucha ni nada parecido.

La saga de videojuegos de lucha Tekken siempre ha sido un referente para mí en cuanto a juegos de este género, por lo que ha sido mi principal fuente de inspiración durante el proceso de desarrollo de Robotic Fighters, especialmente en lo relacionado con la cámara, el escenario y el HUD.

Creación del entorno del juego, cámaras y personajes

Lo primero que realicé en Unity fue importar los assets que iba a utilizar como escenario para el juego. En la Unity Store conseguí unos assets muy adecuados para mi juego, con unos escenarios futuristas y decadentes, perfectos para el estilo visual de mis personajes, alejados del estilo cartoon y más orientados a una estética futurista y sombría.

Así, creé una escena en la que arrastré diferentes assets para poco a poco ir formando el escenario, lleno de contenedores, bunkers y coches destruidos, lo que le da un toque de abandono y desolación al mundo del juego. Una vez que conseguí el resultado deseado, importé mis personajes de Maya: Robotydus y Archie. Los coloqué mirándose uno al otro con una distancia determinada y les apliqué a cada uno dos componentes: un Box Collider y un Rigidbody.

Hice lo mismo con el suelo, añadiendo un Collider para que los personajes se mantuvieran de pie al iniciar el juego. Para finalizar los preparativos, creé una cámara estática que enfocara a los dos personajes, colocando uno a la derecha y el otro a la izquierda. También añadí un Collider invisible detrás de cada robot para delimitar el espacio en el que se moverían durante el combate. Así conseguí preparar el entorno de mi juego de lucha y dejarlo listo para comenzar a implementar las funcionalidades jugables.

Lo primero que implementé en el juego Robotic Fighters fue el escenario mediante un Asset gratuito descargado desde la Unity Asset Store llamado RPG_FPS_Industrial Game.

Una vez creado el escenario implementé una cámara que enfocara a ambos robots en posición lateral mirándose el uno al otro.

Creación de las animaciones y el movimiento en cada robot

Este fue uno de los pasos más largos, aunque no el más difícil. Lo primero que hice fue crear un Animator para cada personaje y añadir allí los 5 clips de cada animación. Como ya había creado los clips en el proyecto anterior, pude acortar mucho trabajo.

Lo más desafiante fue crear las transiciones y conexiones entre cada animación, siendo Idle la animación central a la que derivaban todas las demás animaciones como muerte, movimiento, defensa y ataque. Para controlar estas animaciones, creé triggers como ataque, muerte y defensa, y un booleano para calcular la velocidad y activar la animación de movimiento.

Todo esto lo conecté con cada robot mediante un script llamado PlayerMovement. En este script, hice que, con el input de las teclas deseadas, se activara un trigger determinado. Además, al mover el robot, se modificaba el booleano del Animator para reproducir la animación de movimiento. Tuve que realizar algunos ajustes en la configuración del Animator para conseguir el resultado deseado en cuanto a los tiempos y las velocidades de las animaciones.

Todas las animaciones son controladas desde el Animator de cada robot. Cada animación cuenta con su propio trigger de activación y una transición con la animación siguiente.

HUD, menú y pausa

Una vez realizado el movimiento de los robots, me puse a crear las interfaces y los menús del juego, tanto el principal como el de pausa. Para ello, creé un Canvas en el que añadí tres paneles: el de la vida de los robots, el del menú de pausa y el del menú principal.

Para las vidas, creé un Slider para cada robot y ajusté algunos parámetros para conseguir el color y estilo visual deseado. Para los menús, importé un asset de UI Sci-Fi, que era muy acorde al estilo del juego. Creé dos paneles sencillos, cada uno con sus opciones. En el menú principal tenemos la opción de empezar el juego o salir. En el menú de pausa, las opciones son reiniciar el juego, continuar o salir.

Para configurar estos menús, creé un script con variables públicas para cada panel. La idea es que, al iniciar el juego, se muestra el menú principal, pero no se inicia el juego hasta que el jugador pulse los botones (a los que asigné métodos públicos). Al pulsar el botón Start, el movimiento de los robots y el juego en sí se inician. Con el botón Exit, se sale del juego. Durante la partida, si se pulsa la tecla espacio, el juego se pausa, y si se vuelve a pulsar, se retoma (con un margen de 1 segundo). En la pausa, podemos reiniciar, retomar el juego o salir.

Menú principal de juego y menú final que aparece cuando uno de los robots derrota al otro, y se muestra su nombre como el vencedor del combate.

Sistema de juego

El sistema de juego de Robotic Fighters está diseñado para ofrecer una experiencia fluida y dinámica en el combate entre los robots. Cada personaje comienza con 100 puntos de vida, representados visualmente mediante barras en el HUD. Cada golpe acertado por parte de un robot reduce la vida del oponente en 10 puntos, añadiendo un componente estratégico a los ataques y defensas.

El sistema de combate se basa en colisiones, habilitadas mediante colliders asignados a los modelos de los robots. Estos colliders permiten detectar los golpes en tiempo real. La gestión de los golpes se realiza a través de un script llamado AttackManager, que coordina los estados de ataque y defensa de ambos robots.

Cuando un robot ejecuta un ataque, su collider entra en trigger con el del oponente. El AttackManager verifica dos condiciones importantes:

  1. El robot atacante debe estar en estado de ataque, definido mediante un booleano en el script PlayerMovement.
  2. El robot oponente no debe estar en estado de defensa, lo cual también se controla mediante un booleano.

Si ambas condiciones se cumplen, el AttackManager llama a la función TakeDamage del script LifeManager. Este último es responsable de reducir la variable de vida del robot impactado y actualizar en tiempo real su barra de vida en el HUD.

Cada robot tiene un collider y un script llamado AttackManager que gestionan el impacto entre los robots. Cuando un robot ataca y el otro no está defendiendo, el AttackManager activa la función TakeDamage, lo que reduce la vida del robot afectado en 10 puntos y actualiza la barra de vida correspondiente.

Cuando se reinicia el juego, el LifeManager restablece todas las variables de vida a su estado inicial (100 puntos). Este proceso asegura que las barras de vida se reinicien adecuadamente al comenzar una nueva ronda.

En cuanto a la sonorización, el juego está completamente sonorizado: desde los movimientos de los robots hasta los botones de la interfaz de usuario. Estos sonidos se reproducen a través de Audio Sources, y son gestionados desde el script PlayerMovement, que controla la reproducción de los efectos de sonido durante las interacciones y acciones en el juego.

Script RobotFightController, que gestiona la mayoria de funciones del juego, como las animaciones de los personajes y sus movimientos, el reinicio del juego, el menú de pausa…

Script AttackController que gestiona el ataque de cada personaje al entrar en contacto con el otro y llama al método deseado del script LifeManager para reducir la vida del robot enemigo.

Script LifeManager, que gestiona la inicialización de las barras de vida de cada robot ( empezando con 100 en cada partida ) y la reducción de dichas barras cada vez que un robot golpea al otro.

Conclusiones y puntos de mejora

Así pues, ha sido un proceso muy dinámico y enriquecedor. Más que encontrarme con obstáculos o picos de dificultad, he tenido que dedicar bastante tiempo a planificar y complementar los elementos jugables, así como a asegurarme de que los aspectos visuales se alinearan con el estilo del juego. Estoy contento con el resultado, aunque soy consciente de que las animaciones podrían estar más pulidas y tener un timing más acertado.

Como puntos de mejora, me gustaría que, si en un futuro el juego tuviera más recursos y tiempo de desarrollo, se pudieran añadir más robots y escenarios para enriquecer la experiencia. Además, sería interesante incorporar un ataque especial para cada robot, con animaciones únicas que le den un toque más distintivo a cada uno. También me gustaría mejorar cada animación, tanto en términos de fluidez como de timing para que las transiciones entre ellas se perciban más naturales y realistas.

En resumen, este proyecto me ha permitido aprender y aplicar diversos conocimientos en modelado 3D, animación, programación en Unity y diseño de interfaces, lo cual me ha proporcionado una base sólida para futuros proyectos en el desarrollo de videojuegos.

Recursos Utilizados

A continuación, se detalla la lista de recursos utilizados en el desarrollo de Robotic Fighters, con sus respectivos enlaces:

Controles del juego

Controles para Archie V 1.34
  • Avanzar: Letra D
  • Retroceder: Letra A
  • Atacar: Letra F
  • Defenderse: Letra R
Controles para Robotydus
  • Avanzar: Letra L
  • Retroceder: Letra J
  • Atacar: Letra H
  • Defenderse: Letra Y
Controles comunes
  • Pausar el juego: Tecla Espacio. Al pulsarla, el juego se detiene, y al volver a pulsarla, el juego se reanuda con un margen de 1 segundo.

Enlace al juego en Simmer.io:

https://simmer.io/@daniTydus/fighting-robots

Debat0el PEC 05 – 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

PEC 2 Media para videojuegos

Publicat per

PEC 2 Media para videojuegos

Introducción a los diseños En este segundo reto de la asignatura Media para Videojuegos, he avanzado en la personalización visual de mis…
Introducción a los diseños En este segundo reto de la asignatura Media para Videojuegos, he avanzado en la personalización…

Introducción a los diseños

En este segundo reto de la asignatura Media para Videojuegos, he avanzado en la personalización visual de mis dos diseños del reto anterior: los robots Robotydus y Archie V 1.34. Ambos modelos han sido enriquecidos con texturas y estilos propios, que realzan su personalidad y refuerzan su papel en el juego. Durante el proceso, he integrado tanto los rasgos definidos en un principio como nuevas ideas que han surgido a medida que desarrollaba cada uno de sus detalles. Así, cada robot conserva su esencia distintiva: Archie V 1.34 destaca con un estilo agresivo y punk, mientras que Robotydus mantiene un aspecto juvenil y adorable. Estas cualidades se ven reflejadas en sus texturas, las cuales capturan tanto sus colores característicos como la identidad que buscan transmitir.

Aunque la concepción inicial de los diseños me sirvió como guía, pronto descubrí la necesidad de añadirles detalles y matices adicionales para alcanzar el nivel de profundidad que buscaba. Para lograrlo, decidí enriquecer las texturas con elementos que proyectaran aún más su carácter y sus diferencias. Archie V 1.34, por ejemplo, evolucionó hacia un aspecto visual más decadente y desgastado, acentuando su experiencia en combate y su resistencia, mientras que Robotydus adoptó un estilo más brillante y pulido, reflejando su naturaleza moderna y cuidada.

Este enfoque me llevó a una selección cuidadosa de texturas que resaltaran las características particulares de cada robot. Para Archie V 1.34, opté por texturas de metal desgastado, como acero y aluminio envejecidos, que evidencian su trayectoria y desgaste en combate. En contraste, para Robotydus elegí texturas doradas y metálicas limpias, destacando su naturaleza sofisticada y actual. La combinación de estas texturas no solo hace que cada robot resulte visualmente atractivo, sino que también contribuye a contar su historia y a expresar su estilo de juego.

Visualmente, Archie V 1.34 toma influencias de robots guerreros y curtidos en combate como Atom de la película Real Steel, mientras que Robotydus se inspira en el modelo moderno de robot llevado a la máxima elegancia y sofisticación.

Para alcanzar este resultado, he seguido un proceso de aprendizaje detallado, que incluyó en primer lugar el mapeo de cada uno de los modelos para generar sus correspondientes mapas UV, los cuales permiten texturizar cada superficie con precisión. Posteriormente, utilicé GIMP para aplicar las texturas sobre los mapas UV, cuidando cada detalle para obtener el efecto deseado. A continuación, detallo cada uno de estos procesos, incluyendo las técnicas y herramientas empleadas.

Mapeado UV


Para aplicar las texturas a mis robots, primero fue necesario someter cada uno a un proceso de mapeado UV en cada una de sus formas. Este paso transforma el modelo 3D en una imagen 2D, permitiendo aplicar las texturas con precisión en cada superficie. Para alcanzar este resultado, tuve que mapear cada una de sus partes, teniendo en cuenta las particularidades de la geometría y dimensiones de cada modelo. Sin duda, esta fase ha sido la más desafiante para mí debido a mi falta de experiencia en estos conceptos y herramientas. A pesar de consultar todos los tutoriales de mapeado UV disponibles en la plataforma, encontré varias dificultades, ya que ambos robots presentan geometrías complejas que requerían un tratamiento especial.

Para comenzar, decidí enfocarme en las formas más básicas de cada robot, como esferas y cilindros, abordando el mapeado de ambos robots simultáneamente antes de pasar a la texturización. Seguí los tutoriales paso a paso, usando herramientas recomendadas como Cut para dividir partes de la forma y Unfold para desplegar la malla. Incluso modifiqué ciertas partes del diseño para facilitar el mapeado, simplificando formas complejas a cubos de geometría más manejable; por ejemplo, ajusté el radio y los vértices en algunos cubos que inicialmente complicaban el trabajo.

Después de mapear las formas más sencillas, me enfrenté a elementos más complejos, como los torsos y cabezas de ambos robots, además de partes pequeñas, como los puños y otros accesorios. En esta fase, apliqué lo aprendido en las formas anteriores, haciendo ligeras adaptaciones y explorando herramientas adicionales, como Planar, para algunas de las superficies más irregulares. No obstante, en ciertos casos, como última alternativa, utilicé el mapeado Automatic, ya que, de todos los métodos probados, era el que proporcionaba mejores resultados para esas formas específicas.

Una vez mapeadas todas las formas, procedí a organizar el mapa UV antes de generar la imagen final sobre la cual aplicaría las texturas. Siguiendo las recomendaciones de los tutoriales, organicé las formas en el mapa de manera estratégica para facilitar la identificación de cada segmento durante la aplicación de texturas. Además, opté por posicionar algunas formas similares en el mismo espacio del mapa para optimizar su uso. Por ejemplo, para las esferas y algunos botones del robot, los agrupé en una misma ubicación ya que planeaba aplicarles la misma textura, logrando así optimizar tanto el tiempo de texturización como el espacio en el mapa UV.

Mapas Uv de Archie V 1.34 y Robotydus respectivamente.

 

Robotydus después del mapeado,

Archie V 1.34 después del mapeado.

Planificación previa de la texturización

Antes de comenzar la texturización propiamente dicha en GIMP, realicé una serie de pruebas preliminares en Maya para visualizar y refinar el aspecto final que quería lograr. El primer paso fue seleccionar las texturas específicas para cada parte de los robots, empezando por las de Robotydus y luego centrándome en las de Archie V 1.34. Para mantener un flujo de trabajo organizado, guardé todas las texturas en una carpeta específica, nombrando cada archivo según la parte del cuerpo correspondiente, lo que facilitó posteriormente el proceso de texturización en GIMP.

Cabe mencionar que todas las texturas provienen de una biblioteca web de uso libre y gratuito, la cual ofrece opciones de diferentes resoluciones. Para asegurar una alta calidad visual, opté por versiones en 4K para todas las texturas. Con las texturas organizadas, creé materiales Lambert en Maya y les apliqué las texturas directamente para obtener una vista preliminar. Esto me permitió evaluar cómo se verían en el modelo y hacer ajustes según fuera necesario, estableciendo así una base visual para el proceso de texturización en GIMP.

Versiones previas de Robotydus y Archie con materiales lambert.

Texturización en GIMP

El proceso de texturización, aunque menos complejo en teoría que el mapeado UV, también presentó sus propios desafíos, especialmente en términos de resolución de la imagen del mapa UV. Comencé texturizando a Robotydus en GIMP usando un mapa UV de 2058×2058 píxeles, con texturas de 2K. Sin embargo, al escalarlas al tamaño de las celdas del mapa, la calidad de las texturas disminuyó notablemente, generando un resultado final borroso. Para corregir esto, repetí el proceso con una resolución UV cuatro veces mayor, obteniendo una imagen más nítida y detallada.

Aunque repetir el proceso fue tedioso, me resultó más rápido la segunda vez, ya que contaba con la experiencia de los tutoriales y la práctica previa. En esta ocasión, comencé con las formas cuadradas y simples, que no requerían muchos ajustes, y dejé las superficies curvas o puntiagudas para después. Para un control óptimo, mantenía abierta la pestaña de Maya mientras aplicaba las texturas en GIMP; al exportar cada cambio, podía ver el resultado instantáneamente en el modelo 3D, lo que me permitía corregir costuras, texturas mal aplicadas o zonas en negro.

Además de las texturas principales, añadí detalles en Robotydus, como pequeños clavos y piezas mecánicas en puntos específicos, aunque opté por un acabado elegante y limpio, sin texturas de desgaste, para mantener su apariencia de robot nuevo. Al pasar a Archie V 1.34, noté que su estilo punk y sus formas puntiagudas eran más difíciles de texturizar. Sin embargo, con la experiencia acumulada de Robotydus, el proceso fue mucho más rápido. En este caso, pude agregar detalles adicionales, como texturas de desgaste y oxidación, que resaltaron su carácter experimentado en combate y dieron un toque visual más acorde con su personalidad y estilo visual.

Texturas en Gimp de Robotydus,

 

Texturas en Gimp de Archie,

Por último hacer mención que todos los materiales utilizados para la texturización de ambos robots han sido descargados de la siguiente página web y cuentan con permisos de uso libre: https://www.texturecan.com/

Ajustes finales de materiales y efectos

Antes de dar por finalizada esta entrega y la texturización de los robots, decidí realizar algunos ajustes en los materiales utilizados hasta el momento, con el fin de alcanzar un resultado de texturización que se ajustara mejor al estilo y personalidad de cada robot, enfatizando un acabado metálico. Inspirándome en el último video de los recursos de la actividad, opté por reemplazar el material Lambert que había estado utilizando en todas las pruebas, creando un material Blinn para cada robot, el cual combiné con la textura final generada en GIMP. Esta transición a un material Blinn me permitió obtener reflejos metálicos y un tono más brillante y realista en las superficies, resaltando aún más las propiedades visuales y la estética de cada robot, acorde a su naturaleza y estilo.

Para añadir aún más detalle y profundidad, también creé un mapa normal desde GIMP, el cual importé a Maya y apliqué sobre el modelo, logrando así una textura con un efecto de relieve que realzaba los detalles de la superficie. Este mapa permitió que las luces interactuaran mejor con las texturas, dando una apariencia tridimensional mucho más detallada y realista en zonas clave de ambos robots.

Versiones finales de ambos robots con materiales blinn.

Conclusiones

Completar este proceso ha sido un verdadero reto que me permitió profundizar en conceptos y herramientas que solo había visto superficialmente. El mapeado UV fue la etapa más compleja, demandando numerosas pruebas y ajustes para obtener el resultado deseado. A pesar del tiempo extra invertido, esta fase me brindó una comprensión sólida del impacto que tiene un buen mapeado en la precisión y calidad de la texturización final.
Tras superar el mapeado, la texturización fue más fluida, permitiéndome enfocarme en los detalles estéticos. Este proyecto también me enseñó la importancia de la organización y la planificación en cada fase, desde la elección de texturas hasta su aplicación en GIMP. Al final, siento que he ganado habilidades prácticas y una base sólida para futuros trabajos en diseño 3D.

Enlaces a Sketchfab:

 

 

Debat0el PEC 2 Media para videojuegos

No hi ha comentaris.

Publicat per

PEC 1 – Media para videojuegos

Publicat per

PEC 1 – Media para videojuegos

Resumen y proceso de creación Para la creación de mis robots de combate requeridos para este primer reto de la asignatura Media…
Resumen y proceso de creación Para la creación de mis robots de combate requeridos para este primer reto de…

Resumen y proceso de creación

Para la creación de mis robots de combate requeridos para este primer reto de la asignatura Media para Videojuegos, he utilizado dos programas: Tinkercad para los esbozos y las versiones preliminares de los diseños, y Maya para el diseño final. Tinkercad, siendo un programa de diseño 3D ideal para principiantes, me permitió experimentar con formas geométricas básicas, ajustando proporciones y medidas para asegurar la coherencia y funcionalidad de los robots en combate.

Desde el principio, me he esforzado en que ambos robots compartan una morfología y un aspecto visual coherente, de manera que encajen en el mismo universo del videojuego. Opté por un estilo visual desenfrenado y retro, inspirado en los videojuegos arcade de las primeras generaciones de consolas 3D, como la PlayStation 1 y la Nintendo 64. Sin embargo, a pesar del parecido visual, cada robot tiene características propias y únicas.

El primer robot que diseñé, Archie V 1.34, tiene una apariencia más agresiva, inspirada en el estilo cyberpunk, con elementos visuales que evocan el punk, como su cabello puntiagudo y accesorios llamativos, entre ellos hombreras y puños reforzados. Este diseño está pensado para un personaje especializado en ataques contundentes, lo que se refleja en su morfología: extremidades poderosas y formas afiladas que acentúan su aspecto violento y peligroso.

El estilo artístico de Archie V 1.34 está inspirado en la temática punk.

A nivel jugable, Archie V 1.34 será un luchador especializado en golpes de corto alcance, extremadamente poderosos, aunque con una agilidad limitada y una gama de movimientos más restringida. Entre sus características más destacadas están sus puños con pinchos mecánicos, que puede activar y desactivar a voluntad. Su habilidad especial consiste en un ataque giratorio devastador utilizando estos puños.

Por otro lado, mi segundo robot, Robotydus, presenta un aspecto más inocente y despreocupado. No obstante, es un luchador formidable, especializado en agilidad y esquivas rápidas, y cuenta con cuatro brazos que le proporcionan un mayor alcance para atacar. Para su diseño, me inspiré en la morfología de Goro, de la saga Mortal Kombat, combinando esta referencia con un estilo más juvenil y amistoso, cercano al de personajes de Pokémon.

El aspecto de Robotydus bebe de dos vertientes opuestas, por un lado la forma morfológica feroz de Goro y por otro el aspecto más inocente y despreocupado de las criaturas Pokémon.

En cuanto a jugabilidad, Robotydus aprovechará su agilidad para moverse con soltura por el escenario, con una mayor variedad de movimientos y la capacidad de atacar desde la distancia gracias a sus múltiples brazos, aunque con menos potencia que su adversario, Archie V 1.34. Además, cuenta con una mochila propulsora, que usará como habilidad especial para impulsarse hacia el cielo y descender rápidamente en un ataque aplastante contra su enemigo.

En general, las principales dificultades que encontré durante el proceso fueron aprender a utilizar Maya desde cero y descubrir cómo aplicar las herramientas adecuadas para modelar cada parte de mis robots. A pesar del reto, con práctica y experimentación logré dominar aspectos esenciales del software, lo que me permitió avanzar con éxito en la creación de los diseños finales. También comprendí la importancia de la planificación en 3D y cómo pequeñas decisiones en las fases iniciales pueden afectar el resultado final en el motor de videojuego.

Esbozos iniciales

Esbozos iniciales de Archie V 3.14 y Robotydus:

Posiciones de ataque del robot Archie V 1.34.

Posiciones de ataque del robot Robotydus.

Posiciones de defensa del robot Archie V 1.34

Posiciones de defensa del robot Robotydus

Esbozos técnicos

Esbozos técnicos de Archie V 1.34:

Esbozos técnicos de perfil y lateral del robot Archie V 1.34.

Esbozos técnicos de perfil y lateral del robot Robotydus.

Modelos 3D en Sketchfab

Enlace al modelo 3D de Archie V 1.34: https://skfb.ly/prGTC

Enlace al modelo 3D de Robotydus: https://skfb.ly/prGTF

Debat0el PEC 1 – Media para videojuegos

No hi ha comentaris.