Publicat per

PEC5 – Media para Videojuegos

Publicat per

PEC5 – Media para Videojuegos

Media para Videojuegos Resumen del proyecto Con el transcurso de la asignatura he realizado unos bocetos y diseño final de dos robots…
Media para Videojuegos Resumen del proyecto Con el transcurso de la asignatura he realizado unos bocetos y diseño final…

Media para Videojuegos

Resumen del proyecto

Con el transcurso de la asignatura he realizado unos bocetos y diseño final de dos robots humanoides, he modelado los robots, los he texturizado, los he riggeado, los he animado y por último los he implementado en un pequeño juego que aún siendo muy simple se puede apreciar el trabajo realizado durante la asignatura.

La primera entrega; la que consistía en hacer los bocetos y modelar los robots ha sido un poco apresurada para mi gusto. Yo soy principalmente modelador, no uno especialmente bueno pero si le dedico mucho tiempo. Pierdo tiempo haciendo detalles para luego deshacerlos por exceso de polígonos, por optimizar la malla hasta puntos un poco enfermizos, rehacer la base del modelo, crear variantes que me convenza más y un largo etcétera. Soy muy perfeccionista en ese aspecto, tanto que muchas veces ni acabo modelos por frustración y luego empiezo otro. Es un ciclo vicioso en el que por cada cuatro modelos que empiezo con suerte acabo uno y luego ni siquiera me gusta su acabado porque considero que podría ser mejor, ya sea en la textura o en la malla.

Para la segunda entrega he presentado a los robots texturizados. Con las texturas me pasa algo parecido al modelo, soy algo obsesivo pero sin llegar al punto que el modelado Las texturas podría ser mejores pero me considero relativamente satisfecho en ese aspecto

Para la tercera entrega he riggeado los robots. Honestamente no hay mucho que contar. Los robots se han diseñado especialmente para que no haya partes de la malla que se doblen. Las rodillas y los codos son esferas por ejemplo. De esta manera simplifica muchísimo el rigeo.

Para la cuarta entrega tenía que realizar las animaciones. Repetiré lo mismo que dije en la entrega anterior; son muy mejorables y podrían ser más vistosas pero son funcionales y dan el pego más o menos. Con más tiempo podría haber pulido mucho más la animaciones e incluso crear algunas más como la de recibir daño, un par de ataques extras y una animación de victoria.

Visión de futuro

Con un equipo más extenso se podría hacer más personajes/robots, más ataques, habilidades y combos con sus respectivas animaciones, más escenarios. El código fuente se tendrá que pulir ya que algunos scripts son un poco código espagueti y en general se tendría que rehacer todo lo que es la interfaz por una más original y personalizada.

Animators

Primero he tenido que ajustar los tiempos en cada animación. Algo que pasaba era que las animaciones duraban más de lo que debían. Por ejemplo; si una animación ocurre entre el frame 30 y el 60 Unity lo exportaba como que duraba del 0 al 60. Esto hacía que durante el frame 0 hasta el 30 el personaje estaba totalmente quieto pero del 30 al 60 ejecutaba la animación.

El animator lo he diseñado de tal manera que se aplique una animación dependiendo del estado en el que se encuentre el personaje. El personaje puede estar:

  1. Caminando hacia delante.
  2. Caminando hacia atrás
  3. Atacando
  4. Bloqueando
  5. Muerto

En caso de que no esté en ninguno de los 6 estados anteriores, se aplica la animación de reposo, o idle. Para evitar errores en las animaciones, el personaje solo puede tener un estado. Si el personaje está atacando no puede interrumpir o realizar otra acción hasta que su ataque finalice. El único estado que le impide volver al idle es el estado de muerte. Para evitar las mezclas he puesto todos los parámetros de transiciones y Exit Time en 0.

Para la animación de caminar hacia atrás, he cogido la de caminar normal y he puesto el “speed” en negativo para que se realice la animación en reversa.

Sonidos

Se han añadido varios sonidos:

  1. Efecto de sonido para los golpes cuando reciben daño
  2. Efecto de sonido para los golpes cuando son bloqueados
  3. Efecto de sonido para cuando el usuario coloca el ratón encima de un botón (selección)
  4. Efecto de sonido cuando se aprieta un botón
  5. Una música para el menú principal
  6. Una música para el nivel de la pelea

Se han implementado mediante Audio Source y se ejecutan mediante codigo con Scripts. Los unicos sonidos que se ejecutan automaticamente sin código y se repiten en bucle es la música.

UI

Se ha implementado una UI, tanto para el juego como el menú principal.

  1. Barras de vida para cada robot
  2. Un menu de pausa que detiene el juego y permite volver al menú principal.
  3. Una pantalla final que permite salir del juego o repetir el nivel/pelea
  4. Un menú principal que permite entrar al nivel, ver los controles o salir.
  5. Un menú de controles que da información acerca de los comandos para controlar a cada personaje.

Recursos externos utilizados

Para implementar un escenario, sonidos y una UI he utilizado recursos de terceros.

Unity Asset Store

Sci-fi GUI skins: https://assetstore.unity.com/packages/2d/gui/sci-fi-gui-skin-15606

Game Input Controller Icons Free: https://assetstore.unity.com/packages/2d/gui/icons/game-input-controller-icons-free-285953

Low Poly street Pack: https://assetstore.unity.com/packages/3d/environments/urban/low-poly-street-pack-67475

AllSky Free – 10 Sky / Skybox Set: https://assetstore.unity.com/packages/2d/textures-materials/sky/allsky-free-10-sky-skybox-set-146014

Free deadly Kombat: https://assetstore.unity.com/packages/2d/gui/icons/game-input-controller-icons-free-285953

Sonidos extras:

Click botón: https://freesound.org/people/bubaproducer/sounds/107130/

Selección botón: https://freesound.org/people/Thunderman98/sounds/656180/

Música

Menu: Jack Wall – Adrenaline (Black Ops 2 Multiplayer Theme)

Juego: Baki OST – Confrontation

Juego

ANTES DE JUGAR! Recomiendo jugar con la pantalla maximizada.

Actualización:La tecla P también sirve para pausar la partida. (Esc o P para pausa)

Link: https://simmer.io/@PauGallego/pec5paugallego

Debat0el PEC5 – Media para Videojuegos

No hi ha comentaris.

Publicat per

PEC3 Media para Videojuegos

Publicat per

PEC3 Media para Videojuegos

Proceso de creación del Esqueleto y Riggeo Mixamo Primero he probado a llevarme ambos modelos a Mixamo y no funcionan bien. El…
Proceso de creación del Esqueleto y Riggeo Mixamo Primero he probado a llevarme ambos modelos a Mixamo y no…

Proceso de creación del Esqueleto y Riggeo

Mixamo

Primero he probado a llevarme ambos modelos a Mixamo y no funcionan bien. El problema es que Mixamo riggea los modelos como si fueran personas o personajes orgánicos y por ello las riggea de manera que los polígonos se deformen en codos, rodillas, cuello, etc. Los robots, al menos los mios, no tienen partes orgánicas de ningún tipo y se han diseñado desde el principio para que en todo el modelo no se deforme nada. También hay problemas en las cabezas. En mis robots, la cabeza y el torso actúan como una sola pieza rígida y Mixamo está diseñado para personajes con una cabeza normal, con su cuello entre esta y el torso. Otro error son las piernas del segundo robot. El segundo robot tiene “dos rodillas” ya que sus piernas simulan las patas traseras de un animal cuadrúpedo como un perro y Mixamo está diseñado para personajes con rodillas humanas.

Creación esqueleto

Para crear el esqueleto he usado 3ds Max. En 3ds Max se pueden utilizar muchas cosas a la hora de crear un esqueleto debido a su modificador “Skin”. El modificador “Skin” permite usar cualquier objeto o elemento como “hueso” para los modelos. De esta manera, podrás utilizar un dummie o una spline por ejemplo para riggear a un personaje. Para crear el esqueleto he utilizado el CAT ya implementado en el programa.

El CAT permite utilizar varias plantillas de esqueletos como humanoides y animales cuadrúpedos. CAT es una herramienta muy cómoda debido a que facilita mucho crear esqueletos cuyos modelos van a ser simétricos ya que al crear una extremidad de un brazo una pierna por ejemplo, con un simple botón nos creará una copia invertida al otro lado.

Al crear un CATParent vacío, se ve representado únicamente con un triángulo y una flecha. Para empezar hay que elegir una plantilla. Yo he escogido la de “Base Human” ya que es la más estándar al fin al cabo los robots son humanoides hasta cierto punto.

Para continuar he eliminado la cabeza y he ajustado el tamaño y la posición de cada hueso para que sean lo más parecido a la forma de los robots. He quitado las vértebras para que quede un hueso más rígido y en el caso del segundo robot he añadido un hueso extra para la articulación extra. Los brazos, al ser iguales en los dos robots, han sido duplicados para ahorrar tiempo.

Esqueletos

Rigging

Para hacer el rig he utilizado el modificador “Skin”. Es un modificador que me permite indicar al programa que objetos voy a utilizar como huesos y que geometría va a deformar esos huesos. No me he complicado mucho a la hora de riggear. He hecho que una pieza entera como puede ser la parte del antebrazo y el puño esté totalmente vinculada a un hueso sin crear puntos medios en las articulaciones.

Comparativa

Mixamo en realidad es una buena herramienta a la hora de riggear y animar personajes, especialmente cuando no hay muchos recursos ni tiempo. Riggear y posteriormente animar un personaje manualmente, sin utilizar Mixamo, es mucho más laborioso y en ocasiones puede ser muy tedioso si se planea riggear un personaje orgánico con muchas articulaciones, como pueden ser los dedos de las manos, pero también es mejor de cara a un proyecto más complejo, ya que permite crear tus animaciones en lugar de utilizar unas ya predeterminadas que a lo mejor no encajan con la personalidad y carácter de tu personaje.

Algo que se me había ocurrido justo después de acabar esta tarea era utilizar el esqueleto del Mixamo, llevarlo a 3ds Max, rehacer el rigg pero sin modificar el esqueleto y asi poder usar las animaciones de Mixamo para la próxima tarea debido a que usan los mismos huesos.

Link de Drive con los modelos riggeados

https://drive.google.com/drive/folders/1v23JpbDfSKX72sLeNFPB74r_i3A3hyqP?usp=sharing

Debat0el PEC3 Media para Videojuegos

No hi ha comentaris.

Publicat per

PEC2-Media para Videojuegos

Publicat per

PEC2-Media para Videojuegos

UVs de los robots Texturas de los robots Robot 1: Robot 2: Render de los robots Modelos en Sketchfab Robot 1: https://sketchfab.com/3d-models/pec1-robot1-d533b56d305846ffa46ed999e43d6e87 Robot…
UVs de los robots Texturas de los robots Robot 1: Robot 2: Render de los robots Modelos en Sketchfab…

UVs de los robots

Texturas de los robots

Robot 1:

Robot 2:

Render de los robots

Modelos en Sketchfab

Robot 1: https://sketchfab.com/3d-models/pec1-robot1-d533b56d305846ffa46ed999e43d6e87

Robot 2: https://sketchfab.com/3d-models/pec1-robot2-60bebcead98443ceab46c889f8dec59d

Proceso creativo

Corte de UVs

Las UVs han sido cortadas en 3Ds Max mediante el modificador Unwrap UVW.

Debido a la simetría de los modelos; las extremidades como brazos y piernas comparten el mismo espacio en la UVs para aprovechar mejor el espacio y tener más resolución en la texturas. Además facilita la texturización debido a que todas las texturas que se aplican a un brazo por ejemplo, se aplican al brazo del lado opuesto. El punto negativo es que en caso de utilizar decals en un lado, se aplicarán también al otro lado también.

Texturización

Todas las texturas han sido creadas en Susbtance Painter y no he utilizado ninguna imagen externa de internet.

Para obtener una textura metálica he utilizado generadores y filtros desde el propio Substance: Generadores de ruido para generar ese efecto granulado del metal, efectos de desgaste en algunas esquinas y superficies, capas con manchas de suciedad y un poco de óxido. También he utilizado un mapa metálico , o “metallic”,  junto con uno de brillos, “roughness”, para obtener ese efecto de brillo en el metal.

   

A más a más he utilizado el mapa de relieve, “normal” y “height”, para generar detalles como aristas soldadas en el caso del segundo robot y las estrías en la articulaciones de la pierna del primer robot además de dar un poco de relieve a algunos de los generadores y efectos anteriormente mencionados.

    

He utilizado algunos de los recursos que dispone Substance para crear algunas algunas capas como por ejemplo el patrón de camuflaje del primer robot. En lugar de buscar uno por internet o crear uno, he utilizado el que trae Substance y he modificado la escala y los colores para que quede acorde a mi visión.

Capas de Substance

Dificultades

La mayor dificultad ha sido determinar la estética del primer robot. Originalmente tenía la intención de crear algo parecido a Wall-e y Eva, un robot sucio, viejo y tosco junto con uno moderno, limpio y más estilizado.

Para el segundo robot no he tenido muchas complicaciones, creo que he logrado una buena estética industrial, anticuada y chatarrera. Sucio y algo oxidado pero no por ello estropeado. En cambio para el primer robot tenía pensado darle un toque mucho más limpio y sofisticado pero quedaba muy poco natural y atractivo. Parecía demasiado a un robot de plástico de juguete. Así que probé algo diferente y decidí usar manchas de suciedad y el desgaste como con el segundo robot.  Decidí crear una textura que simulara una capa de pintura encima del metal. Me basé en algunos tanques y en vehículos militares y opté por un patrón de camuflaje verde con un ligero tono marrón. Una capa de pintura algo desgastada y sucia el cúal permite ver un poco el metal que hay debajo.

Estas texturas se alejan mucho de la idea original pero creo que de esta manera obtengo un resultado más atractivo e interesante que haciendo un robot completamente blanco y limpio.

Debat0el PEC2-Media para Videojuegos

No hi ha comentaris.

Publicat per

PEC1-Media para Videojuegos

Publicat per

PEC1-Media para Videojuegos

Bocetos iniciales Bocetos técnicos Las medidas están en metros y son aproximadas. Modelos 3D Robot 1: https://sketchfab.com/3d-models/pec1-robot1-d533b56d305846ffa46ed999e43d6e87 Robot 2: https://sketchfab.com/3d-models/pec1-robot2-60bebcead98443ceab46c889f8dec59d Resumen Proceso creativo…
Bocetos iniciales Bocetos técnicos Las medidas están en metros y son aproximadas. Modelos 3D Robot 1: https://sketchfab.com/3d-models/pec1-robot1-d533b56d305846ffa46ed999e43d6e87 Robot 2: https://sketchfab.com/3d-models/pec1-robot2-60bebcead98443ceab46c889f8dec59d…

Bocetos iniciales

Bocetos técnicos

Las medidas están en metros y son aproximadas.

Modelos 3D

Robot 1: https://sketchfab.com/3d-models/pec1-robot1-d533b56d305846ffa46ed999e43d6e87

Robot 2: https://sketchfab.com/3d-models/pec1-robot2-60bebcead98443ceab46c889f8dec59d

Resumen

Proceso creativo

Para realizar los bocetos he utilizado Krita, un software de dibujo parecido a Photoshop, y 3ds Max para crear los modelos 3D.  Para hacer los dibujos me he inspirado en diseños de universos y franquicias que me llaman la atención. En la creación del primer robot he buscado una estética más minimalista y estilizada, una fusión entre un robot y un astronauta. En el segundo robot he buscado una estética más tosca, anticuada e industrial, como si fuera un “mecha” de un mundo steampunk.

Dificultades

He encontrado dificultades a la hora de dibujar ya que no tengo demasiada experiencia en dibujo. También; modelar el torso del primer robot me ha llevado más tiempo del que me gustaria admitir ya que no conseguia tener una topología que me gustará.

Comentario

Ha sido un proceso extraño. En lugar de seguir un orden, he intercalado el proceso de modelar y dibujar a la vez. Algunas de las piezas se han modelado sin siquiera hacer el boceto antes. Muchas piezas se han hecho y rehecho cambiando su estructura y forma tanto en el modelo como en los bocetos. Es algo que me ocurre a menudo con muchos modelos.

Debat0el PEC1-Media para Videojuegos

No hi ha comentaris.