Imagina que el personaje de un videojuego choca con su coche. Lo normal es que el vehículo se deforme y que el obstáculo también se dañe, ¿no? Para eso, ambos objetos deben haber sido creados en Unreal Engine con dynamic mesh, es decir, que tienen que contar con una malla de modelado dinámica. Un curso de programación de videojuegos con Unreal Engine te dará las claves para configurarlas, pero hoy vamos a explicar algunos conceptos para que vayas entrando en materia. ¡Apunta y descubre todas sus posibilidades!

Diferencias entre static y dynamic mesh en Unreal Engine

Unreal Engine es uno de los mejores programas de modelado 3D. No solo por su potencia como motor gráfico, sino por las opciones que ofrece en cuanto al diseño de sus mallas.

Principalmente, distinguimos dos tipos en este software: las dinámicas y las estáticas. Cada una se utiliza para un fin distinto, y tiene tanto ventajas como inconvenientes en relación con la experiencia de juego y el consumo de recursos del hardware. ¡Conoce sus características!

Dynamic mesh en Unreal Engine: definición y usos

La dynamic mesh en Unreal Engine es una forma de modelar un objeto tridimensional para que pueda experimentar cambios mientras el juego está en funcionamiento. Dicho de otro modo: se trata de una especie de malla “deformable” que conforma el elemento de una escena, y que lo vuelve capaz de responder a las interacciones del/la usuario/a o de cambiar en base a las animaciones diseñadas o al efecto de las propias leyes físicas.

Es gracias a las dynamic meshes de Unreal Engine por lo que se pueden hacer escenarios con un alto nivel de realismo, ya que los modelos actúan como lo harían en la vida real. Su creación es más rápida que las estáticas, pero consume más recursos.

Static mesh, los modelos imperturbables

Como habrás supuesto, las mallas estáticas son todo lo contrario a las dynamic mesh de Unreal Engine. Los objetos elaborados de este modo no modifican su forma, razón por la que se utilizan en las partes del juego que normalmente permanecen fijas.

Un ejemplo sería una casa o una montaña, que suelen ser archivos tridimensionales que se importan al motor gráfico. Su uso mejora el rendimiento del juego, pero limita la sensación de inmersión.

En resumen, las diferencias entre las stactic y las dynamic meshes en Unreal Engine son las siguientes:

  Static mes  Dynamic mesh 
¿Es un recurso?    No 
¿Dónde se guarda?  En el explorador de contenido  En el nivel 
¿Cómo actúa?  Se mantiene estática  Es deformable 
¿Cuánto lleva crearla?  Más tiempo  Menos tiempo 
¿Qué pasa con los duplicados?  Cambian la malla original, a no ser que se clone la static mesh antes de comenzar el modelado  Su edición no afecta a la malla original 
¿Consumo de recursos?  Eficiente para la memoria y el renderizado   Implica cálculos en tiempo real, por lo que exige más recursos 

Creando y manipulando dynamic meshes en Unreal

Puedes crear dynamic meshes en Unreal Engine de dos formas: a través del lenguaje C++ o usando Blueprints, que no requiere saber de programación. El primero ofrece un mayor rendimiento y un control más preciso de los detalles, pero el segundo es más rápido y, sobre todo, más simple si picar código no es lo tuyo. Veamos individualmente cada una de las opciones.

Para generar mallas dinámicas con código, hay que emplear la API del motor gráfico y, a través de ella, dar forma a las aristas, vértices y caras de tu dynamic mesh. También es necesario agregar un componente, que puede ser:

  • UMeshComponent: representa la malla dinámica en tiempo real.
  • UProceduralMeshComponent: permite generar dynamic meshes o manipularlas mientras el juego está funcionando.

El modo de crear y modificar estos componentes se hace con el lenguaje C++, determinando cuestiones como su aspecto o su geometría. La API también permite establecer la orientación y el tamaño de la malla.

¿Cómo se usa Blueprints?

Los nodos de Blueprints son la llave con la que podrás crear dynamic meshes en Unreal desde cero. Estos son algunos de los que tienen que sonarte:

  • Nodos de modificación de malla: para cambiar su geometría en respuesta a interacciones, animaciones y demás.
  • Nodos de transformación: para rotar, escalar o cambiar la posición de los objetos dinámicos.

Recuerda que, independientemente de las técnicas de modelado 3D que elijas, cuentas con la opción de pasar de las mallas dinámicas a las estáticas en cualquier momento. ¿Cómo? Transformándolas mediante la herramienta “Convertir”.

Optimización de rendimiento para dynamic meshes

Como hemos indicado al principio, las dynamic meshes de Unreal consumen más recursos que las estáticas. Al usarlas, por lo tanto, es más probable que el juego “se cuelgue” o no se cargue como debería.

¿Significa eso que debes renunciar a las mallas dinámicas en tus diseños? La respuesta es no. Aquí van una serie de trucos para mejorar la eficiencia cuando las utilices:

  • Crea modelos lo más simples posibles: usa el mínimo de vértices y triángulos, y emplea LODs para saturar menos el equipo.
  • Si no se ve, no se toca: ayúdate del culling para que las mallas que el/la usuario/a no ve no se rendericen. También es importante que limites las actualizaciones de estos elementos.
  • La física, en detalle: cuanto más precises las físicas, menos trabajo tendrá que hacer el software.
  • Analiza el rendimiento de tu juego: con instrumentos como Profiler, para detectar los puntos más problemáticos.

¡Crea experiencias inmersivas!

Configurar videojuegos que parezcan la vida misma. Eso es lo que podrás hacer si dominas las dynamic meshes en Unreal Engine 5. La última versión de este motor gráfico te permitirá generar escenas con un alto nivel de detalle y cinemáticas que entusiasmarán a los/as jugadores/as. El mejor modo de comenzar es prepararte con un programa especializado, que facilite tu entrada en la industria con un periodo de prácticas en empresas de videojuegos.

En Tokio School te ofrecemos hasta 300 horas de experiencia en esta clase de compañías con nuestro Curso de Programación de Videojuegos con Unreal Engine. Adquirirás un perfil con alta demanda y te prepararás para diseñar experiencias emocionantes para todo tipo de plataformas. ¡No te lo pierdas!