En los últimos años, el arte de los videojuegos se ha desarrollado tanto que los videojuegos se sienten como una experiencia casi real. Los mundos abiertos sin interrupción, los complejos sistemas de animación y los atractivos entornos han convertido a los videojuegos en una verdadera atracción para los jugadores.

Unity es un popular motor de juego multiplataforma utilizado por artistas y desarrolladores de juegos. Para mejorar el rendimiento, como desarrolladores de videojuegos, tenemos que aplicar en nuestros proyectos un conjunto de “buenas prácticas” que a largo plazo nos ahorrarán tiempo y dolores de cabeza. No se trata sólo de hacer una cosa bien, sino de hacer todo lo mejor que podamos.

Esto empieza por entender cómo Unity gestiona los archivos que cargamos en nuestros proyectos: las mallas, texturas y archivos de audio se convierten en algo diferente, y tenemos que saber por qué.

¿Qué hacen los ARTISTAS TECNOLÓGICOS que hace que sean tan importantes?

Versión corta de lo que hacen los Artistas Tecnológicos: racionalizan la forma en que se hace y se introduce el arte en el juego. En detalle, esto significa que construyen herramientas para los artistas, racionalizan el proceso de creación del juego, hacen que exportadores del juego, facilitan la implementación, algunos de ellos trabajan en el contenido del juego y manipulan personajes para la animación. También estructuran los archivos, el control de versiones, la automatización, crean VFX, construyen las interfaces, la interfaz de usuario, etc.

Artista Técnico Banner 1

Gestión de Activos en Unity 2D

1. Quad vs Sprite Renderer

Sprite Renderer es un componente muy importante a utilizar en el desarrollo de proyectos 2D ya que determina cómo se renderiza el Sprite dado. También es un componente esencial para que el sistema Tilemap funcione correctamente. Los Sprites son preferidos generalmente para los juegos 2D ya que pueden tener un empaquetado más ajustado que reduce el sobredibujo en las áreas transparentes.

Aunque Sprite Renderer se prefiere en los juegos 2D, una de las situaciones en las que se desea utilizar un quad es cuando la imagen es cuadrada y cubrirá toda el área en píxeles.

2. El sobredibujo

El sobredibujo es lo que ocurre cuando intentamos dibujar el mismo píxel más de una vez por fotograma, y es uno de los mayores problemas de rendimiento de los juegos de RV y móviles.

Imagen Sobredibujada

Tal vez el método más simple y rápido para tener una idea de los niveles de sobredibujo en las escenas es usar el Modo de Vista de Sobredibujo incorporado en Unity. En este modo, puedes ver el mayor sobredibujado en las áreas con los colores más intensos. Algunas de esas áreas más intensas que encontrarás probablemente estén relacionadas con los efectos de las partículas. Si tienes muchas áreas sobredibujadas, piensa en la causa. Lo más probable es que sean causadas por la representación de elementos semitransparentes.

3. ¡Batch! ¡Batch! ¡Y Batch!

Para que un objeto del juego sea dibujado en la pantalla, el motor tiene que emitir una llamada de dibujo a la API de gráficos (como OpenGL o Direct3D). Pero a menudo, con la API de gráficos haciendo un trabajo considerable para cada llamada de dibujo, este proceso causa una sobrecarga de rendimiento en el lado de la CPU. Para gestionar esto, Unity utiliza 2 técnicas: Batching Dinámico y Batching Estático,

Batching Dinámico: para mallas pequeñas, esto transforma sus vértices en la CPU, agrupa muchos vértices similares, y los dibuja todos de una sola vez.

Batching Estático: combina objetos de juego estáticos (no en movimiento) en grandes mallas, y los convierte de una manera más rápida.

UNITY UI

Con sistemas complejos de interfaz de usuario, debe asumirse que deben hacerse concesiones entre las llamadas de dibujo por lotes, y tanto los desarrolladores como los artistas deben tener en cuenta la importancia de su trabajo para reducir al mínimo el impacto de esta transacción. Este es un tema muy complejo, pero necesitamos entender los fundamentos, especialmente en términos de generación de mallas, clasificación y uso de sistemas de partículas.

Generación de Mallas

Los sistemas de interfaz de usuario dependen de los quads para generar sus mallas, por lo que esto puede llevarnos a un problema de sobredibujado, mermando el rendimiento de nuestra GPU.

Por defecto, Unity renderiza todos los elementos de la interfaz de usuario en la cola de renderizado transparente. Para liberar la tensión de la GPU, evita las transparencias tanto como puedas (aquí no podemos confiar en una malla para recortar el alfa).

El sistema de capas de Unity es sólo un sistema de agrupación, que se utiliza en el sistema de entrada, la selección de cámaras o el juego. Esto determinará el orden de renderización de sus objetos, ni en la interfaz de usuario ni en la escena misma.

Banner de Generación de Mallas en Unity UI

El sistema de clasificación de capas también es un sistema de agrupación, pero en este caso, tiene propósitos completamente diferentes. El primero, como hemos visto antes, es mejorar la agrupación dinámica de la Unity. El segundo es clasificar sus activos en términos de renderización, determinando lo que se muestra delante o detrás de qué.

Partículas

El Sistema de Partículas es un gran añadido a tu kit de herramientas de Unity, puede mejorar drásticamente el aspecto y las sensaciones de tu juego. Una cosa que debes tener en cuenta es que tienes que hacer que tus partículas sean capaces de escalar adecuadamente independientemente de la resolución.

En primer lugar, tienes que decidir dónde se mostrarán estas partículas, si es algo que ocurrirá encima de todo o si, por el contrario, sólo aparecerá en un panel de la interfaz de usuario. Una vez decidido, creas un objeto vacío (siempre llamado VFX) en la raíz donde todo ocurrirá, y lo escalas alrededor de 100. La interfaz es enorme comparada con el tamaño del sistema de partículas por defecto.

Fuentes

Esta es una parte más fácil. Para implementar las fuentes que quieras, puedes usar Text Mesh Pro. Tiene muchas opciones y es muy personalizable.

Nuestra experiencia

El proceso de desarrollo de un videojuego requiere paciencia y una mejora continua, así que si quieres aprender más sobre la gestión de activos y la interfaz de usuario de Unity 2D, mira el vídeo que nuestro talentoso artista VFX, Iontxu Ocasar, ha hecho para ti:

En la industria de los videojuegos, la experiencia y la amplia gama de conocimientos nos convierten en un socio fiable para todos los elementos del proyecto.

Desde 2011, Starloop Studios ofrece servicios de arte y desarrollo de juegos de primera calidad a editores y desarrolladores de juegos. Nuestro equipo está formado por un grupo de experimentados productores, desarrolladores de juegos, diseñadores de juegos y artistas senior que siempre están dispuestos a superarse para ofrecer servicios y productos increíbles.

Conoce más sobre nuestro sistema de desarrollo de juegos y nuestros servicios de subcontratación de arte y cómo podemos llevar tu idea a la realidad.

¿Tienes en mente algunas ideas para subcontratar el desarrollo de tu juego? Si es así, envíanos un correo electrónico a hello@starloopstudios.com. ¡Nos encantaría hablar contigo!

Starloop Studios is proud to be part of the Magic Media group, an international group specialising in entertainment and gaming industry services. Our wide range of offerings includes VFX, blockchain gaming, game art services, and more. Reach out today to avail of our expertise and A-Z services for your projects.