| Back Up Blog |
Tokiers

Mejora el rendimiento con instanced mesh en Unreal Engine 5

Unreal Engine

Ana Arias | 11/04/2024

La malla es un elemento crucial para cualquier construcción y proyecto modelado en 3D. Por eso, la mayoría de profesionales con un Curso de Programación de videojuegos con Unreal Engine saben cómo sacarle partido y optimizar su uso con funcionalidades como instanced mesh.

Descubre qué es, ejemplos gráficos y el paso a paso para crear instanced mesh en Unreal Engine 5. ¡Vamos allá!

Qué son los instanced meshes y cómo pueden transformar tu proyecto

Para conocer qué es un instanced mesh, conviene centrarse en la segunda palabra y la importancia en el modelado 3D.

Un mesh -según la biblioteca de JavaScript Three.js- es una clase que representa objetos a través de una malla poligonal triangular. Es decir: la base para crear objetos en tres dimensiones.

Instanced mesh transforma el proyecto cuando trabajas con objetos con una misma geometría y material que tendrán distintas transformaciones.

¿Pero qué pasa cuando, en vez de un único objeto, tu creación necesita varias copias al momento y sin que explote el ordenador renderizándolos?

Ahí es donde entra el intanced mesh que optimiza el rendimiento con Unreal Engine multiplicando varios objetos estáticos con la misma geometría y material, para luego poder aplicarles distintas transformaciones y/o animaciones dentro del universo en tres dimensiones.

Ejemplos visuales de instanced mesh: sal del papel

Cuesta visualizar con áreas tan prácticas leyendo la teoría en papel, por eso te facilitamos representaciones visuales de distintas aplicaciones de instanced mesh que te ayudarán a salir de dudas.

  • Con las copias de objetos en instanced mesh puedes desarrollar varios elementos que tendrán distintas animaciones, creando patrones. A estos movimientos se conocen como dynamic mesh y la librería Three.js recoge este ejemplo de varias caras de monos, ¡y hasta tiene un control para que aumentes o reduzcas el número de cabezas que saldrán en la pantalla!
  • Utilizando las mismas cabezas de monos, Three.js también muestra una animación de instanced mesh pero en clave de performance. Es decir: los elementos se desplazan sin rotar sobre sí mismos, como sí hacían en el ejemplo anterior. Además, podrás cambiar el contador e incluso probar no solo el instanced, también el merged o naive y ver como altera el resultado.
  • Este tercer ejemplo, también extraído de la webd e Three.js, no tiene movimiento, pero cambia la naturaleza de los elementos y es con el raycast. Como podrás apreciar, es un bloque de bolas están sin color hasta que haces hoover por encima. Puedes alterar el contador.

Creando tu primer instanced mesh en UE5: una guía paso a paso

Conociendo las aplicaciones de instanced mesh, ¿cómo crearlas en Unreal Engine 5? Te facilitamos el paso a paso general para poder instanciar tu malla en la mayoría de los proyectos. ¡Empezamos!

Importa la malla

Una vez tengas la malla –o mesh- lista para instanciar, tienes que importarla al siguiente proyecto. Esto es lo que debes hacer:

  • Abrir el proyecto en UE5.
  • Vete al contenido del proyecto y haz clic en el botón derecho del ratón.
  • Selecciona la opción de “importar” y asegúrate de que el archivo está en un formato compatible a donde lo vayas a importar.

Prepara la malla para realizar el instanced

Antes de importar la malla, debes asegurarte de que todo está en orden en la creación para evitar errores que repercutan en todo el proceso. ¿Cómo hacerlo?

  • Selecciona la malla.
  • Abre la malla en el editor de malla.
  • Asegúrate de que la malla:
    • Tenga una estructura simple.
    • No contengan animaciones.

Crea un blueprint de instanced mesh

Si está todo en orden después de revisar el paso anterior, llega el momento de crear un blueprint en Unreal con los assets dentro del editor del motor de videojuego. Para ello:

  • Selecciona el contenido y haz clic en el botón derecho.
  • Clica en “Blueprint Case”.
  • A continuación, selecciona “Instanced Static Mesh”.
  • Una vez creado el nuevo blueprint con la instancia de malla, asígnala al Blueprint.

Agrega instancias de malla al nivel

Una vez creado el blueprint de instanced mesh, debes colocarlo en el nivel que estés editando para aportarle todas las funcionalidades. Se hace simplemente arrastrándolo.

Configura las propiedades de la instanced mesh

Una vez posicionado el blueprint instanced mesh sobre el nivel, tienes que configurarlo para amoldarlo a la creación. Se hace:

  • Selecciona el blueprint de instancia de malla.
  • Ve al panel de detalles, situado a la derecha.
  • Selecciona los detalles del objeto.
  • Comienza la edición. Tienes múltiples posibilidades, como:
    • Tipos de rotación.
    • Ubicación de los objetos.
    • Ajustar la ubicación.
    • Etcétera.

Opcional: agregar más instancias de malla

¿Necesitas añadir más instanced mesh al nivel? No tienes más que arrastrar ese mismo blueprint desde el contenido y cuidar la configuración acorde a las necesidades del proyecto.

Editar las instanced mesh

Puede que cada instanced mesh necesite sus propios ajustes, arregla cada una de ellas dentro del nivel en el que estés trabajando desde el panel de “detalles”.

Optimiza el proyecto

En el modelado 3D nunca puedes perder de vista el rendimiento, que repercutirá en la experiencia del user en el videojuego –o en cualquier otro soporte-.

Asegúrate de optimizar tus trabajos para agilizar la carga y evitar errores en el resultado final con un buen rendimiento.

Guarda durante el proyecto y al final

Cualquier despiste o fallo puede terminar con horas de trabajo por no guardar a medida que avanzas en el proyecto.

Grava todas las actualizaciones que puedas para ahorrarte estos disgustos y guarda el resultado final una vez lo tengas listo.

Técnicas avanzadas para manejar instanced meshes eficientemente

¿Qué puedes hacer para llevar un paso más allá las funcionalidades de instanced meshed? Tienes múltiples opciones y pasamos a describirte algunas de ellas para notar optimizaciones en tus resultados.

  • La gestión de instancias de malla puede ser un quebradero de cabeza, por eso te recomendamos que apliques una organización jerárquica para reducir el trabajo de renderizado.
  • Por defecto, el renderizado puede abarcar todos los elementos, incluidos los que no están visibles para el usuario. Evita este trabajo extra aplicando culling y reduce el nivel de detalle en el renderizado de elementos que están más distantes en la pantalla.
  • Unifica los movimientos, animaciones y respuesta de las instancias de malla con instancias de malla dinámicas.

¡Lleva tus creaciones a la pantalla!

Las posibilidades que ofrece el instance mesh en UE5 son tantas como te puedas imaginar –o más-. Es una parte integral en el desarrollo de videojuegos en tres dimensiones, ¡fórmate a fondo para dominarla al nivel de cualquier profesional!

El Curso de Programación de Videojuegos con Unreal Engine de Tokio School te ayudará a explorar todas las áreas y adquirir las competencias más buscadas en los entornos profesionales. ¡Y con un programa 100% online!

¡Rellena el formulario y da el primer paso para redirigir tu trayectoria hacia la industria gaming!

Recibe información gratis sin compromiso

¡Te preparamos!

Programación de Videojuegos con Unreal Engine

"*" señala los campos obligatorios

Este campo es un campo de validación y debe quedar sin cambios.

También te puede interesar...