Reutilización de materiales con variantes dinámicas en Unity

Reutilización de materiales con variantes dinámicas en Unity, la compañía ha publicado Unity 2022.1, la primera de las dos actualizaciones programadas para el motor de juegos para este año.

Los cambios son de gran alcance, incluidas nuevas opciones para personalizar Unity Editor. Vemos nuevas herramientas para crear perfiles de rendimiento y mejoras de rendimiento en Android.

Uno de los mayores cambios en Unity 2022.1 es el nuevo sistema de variantes dinámicas de materiales; destinado a facilitar la creación de búsquedas de variantes para objetos. Y la reutilización de materiales dentro de un proyecto o entre proyectos.

Disponible para las canalizaciones de renderizado HDRP y URP, permite a los artistas crear plantillas de material. En las que los hijos comparten propiedades comunes con un material primario; y anular solo aquellas propiedades que difieren.

A diferencia de los materiales copiados existentes, las variantes de material se actualizan automáticamente si el padre cambia. Los usuarios podemos bloquear las propiedades individuales del material o volver a separar una variante a un nuevo material principal.

Otros cambios en los materiales: Para los usuarios que crean materiales a través de scripts; la API de Material ahora también admite todas las propiedades de material de Unity. Incluidas las luces IES, los perfiles de difusión de HDRP y los estados de palabras clave.

Reutilización de materiales con variantes dinámicas en Unity
Reutilización de materiales con variantes dinámicas en Unity

Un Tech Stream renovado

Unity ha realizado cambios en su web para darle más valor al Tech Stream. Las versiones de Tech Stream ofrecen la oportunidad de ponerse manos a la obra con las primeras funciones. Proporcionar comentarios y entablar un diálogo sobre cómo creamos herramientas que trabajen más duro. Los Tech Streams se lanzan dos veces al año y aseguran que cuando se publique LTS en 2023 ya estés familiarizado y preparado para incorporar toda la funcionalidad en su nuevo proyecto.

Esta primera versión importante del nuevo ciclo de vida está basada en sus comentarios y sugerencias sobre dónde invertir los recursos de ingeniería de Unity. En esta publicación, compartimos solo algunos de los aspectos más destacados que cubren áreas de enfoque clave. Incluida la interfaz de usuario unificada, la usabilidad del artista, la velocidad de iteración y las mejoras de la plataforma. Siempre puedes obtener más detalles en las notas oficiales de la versión.

Extensible Editor para Unity 2022.1

UI Toolkit es una solución unificada tanto para crear la interfaz de usuario en tiempo de ejecución como para ampliar el editor con herramientas personalizadas. En 2022.1, hemos agregado aún más funciones para los desarrolladores de herramientas que buscan personalizar el Editor para sus equipos con widgets de interfaz de usuario y formas personalizadas.

También han agregado TreeView con soporte de varias columnas, nuevas API de dibujo vectorial para personalizar la apariencia del elemento de la interfaz de usuario. Y están haciendo que progresivamente estén disponibles los menús de propiedades y los atributos de propiedad, empezando con los más utilizados.

En esta versión, hay un nuevo marco para crear Splines. Está diseñado para crear y manipular Splines en el motor, sobre todo al permitir a los programadores ampliar la funcionalidad con herramientas y componentes personalizados. Como por ejemplo crear instancias de geometría y moverse a lo largo de una Spline. Esta característica puede funcionar junto con los nuevos modos de edición y editar puntos Spline y tangentes utilizando las herramientas de edición estándar; y los accesos directos.

También hemos mejorado la creación procedural de materiales. Para los creadores que usan código para generar materiales, se ha extendido la API de materiales a todas las propiedades del material. Ahora admite estados de palabras clave, perfiles de difusión de HDRP y luces IES. Mejorando el uso de material procedural en el editor o en tiempo de ejecución.

Finalmente, han agregado una nueva API para Unity File System, que permite crear herramientas para la visualización y el análisis de Asset Bundle; que ayudan a tu equipo a optimizar el rendimiento.

Extensible Editor para Unity 2022.1
Extensible Editor para Unity 2022.1

Productividad mejorada en Unity 2022.1

La iteración rápida es un elemento clave de cualquier trabajo creativo; es lo que hace que el desarrollo de juegos sea tan divertido. En Unity están optimizando el núcleo del Editor de Unity para que puedas iterar rápidamente a lo largo de toda la vida útil de tus producciones. Desde la importación de activos, pasando por trabajar en el Editor, hasta la creación e implementación de un juego.

Al mismo tiempo, en Unity han sabido a través del foro de gráficos que los artistas técnicos están buscando herramientas de edición y API adicionales para ayudarlos a dar vida a su visión más rápidamente. Por lo tanto, basándose en los comentarios, han agregado nuevas opciones que ayudarán a cualquier equipo creativo a hacer más en menos tiempo.

La característica más votada de la hoja de ruta pública de renderizado y efectos visuales es la variante dinámica de materiales. Hemos escuchado que a menudo se reutilizan materiales base en diferentes proyectos, escenas o ubicaciones en un entorno. Lo que puede conducir a problemas de creación cuando los materiales se cambian fuera del contexto de su jerarquía implícita.

Esta es una característica crítica para cualquier proyecto más grande si queremos controlar todo el sombreador/material para el juego.

Reutilización de materiales con variantes dinámicas en Unity

La variación dinámica de materiales ofrece un flujo de trabajo integrado y potente para reducir los errores de iteración y autoría. Lo hace reutilizando materiales en equipos donde los artistas administran grandes cantidades de activos.

Ahora disponibles tanto en HDRP como en URP, las variantes de material permiten crear jerarquías de materiales, donde los hijos pueden compartir propiedades comunes con el material primario y anular solo las propiedades que difieren.

Los cambios en las propiedades comunes y no anuladas en el material de la plantilla se reflejarán automáticamente en el material variante. Lo que te ahorrará tiempo y hará que los cambios de material sean mucho más fáciles.

Sabemos que encontrar los elementos correctos en su proyecto puede llevar mucho tiempo, especialmente a medida que escalas. Es por eso que han introducido consultas de búsqueda visual para ayudarlo a encontrar lo que estás buscando más rápido. Además, también puedes crear consultas más complejas y aprovechar el selector de objetos editor para obtener selecciones más precisas para los campos de objetos.

Reutilización de materiales con variantes dinámicas en Unity
Reutilización de materiales con variantes dinámicas en Unity

Mejora para el desarrollo 2D

Para los creadores 2D, hay muchas mejoras en la productividad. En esta versión, nos hemos centrado en mejorar la velocidad de las mejoras en los cimientos; la importación, la animación y la física.

Para empezar, el Sprite Atlas v2 es ahora el predeterminado para todos los nuevos proyectos que ofrecen soporte para Accelerator y para carpetas como objetos que podemos empaquetar. Un aumento de productividad que es muy querido por los creadores de 2D. El trabajo con Adobe Photoshop para 2D se ve mejorado por la compatibilidad con la importación de archivos con la extensión PSD.

Junto con esto, han agregado la administración de capas en el importador PSD 2D, para ofrecer más control sobre qué capas se importan. La función Sprite Swap ahora tiene keyframing y vistas previas optimizadas. Lo que hace que el intercambio de sprites para animación 2D sea más intuitivo.

Para ayudar con la física 2D, Unity 2022.1 presenta la teselación de Delaunay. A menudo, los polígonos pueden ser demasiado delgados o pequeños y son filtrados por el motor de física. La teselación de Delaunay no solo deja de producir polígonos que son demasiado delgados o pequeños; sino que también produce menos polígonos para cubrir la misma área.

También continúan mejorando el administrador de paquetes para mejorar la forma de trabajar en los proyectos para que salgan más rápido. En esta versión, encontrará la capacidad de seleccionar varios paquetes a la vez para que pueda administrarlos de forma masiva. Junto con la opción de controlar la ubicación de las cachés del administrador de paquetes.

La relevancia de aumentar la productividad

Para aumentar aún más la productividad en otra parte del flujo de trabajo, el backend de scripting IL2CPP siempre generará versiones totalmente compartidas de todos los métodos genéricos. Esto permite a los programadores el uso de combinaciones de tipo genérico que no están presentes en tiempo de compilación para evitar toda una clase de errores difíciles de detectar que solo pueden ocurrir en tiempo de ejecución.

Hay tantas mejoras en la calidad de vida del editor que no podemos enumerarlas todas aquí, pero algunos aspectos destacados incluyen:

  • Información detallada sobre el rendimiento.
  • Mejoras en el administrador de accesos directos.
  • Mejor interfaz de usuario en operaciones de deshacer y rehacer.
  • Botón Cancelar para la ventana de progreso de apertura del proyecto.
  • Más rápido para entrar y salir del modo Play, importar texturas y archivos pequeños (hasta en un 60%) y crear compilaciones.

Sabemos que la elaboración de perfiles de tus juegos y proyectos para obtener información sobre tu rendimiento es fundamental para tu éxito. Por lo tanto, en 2022, han seguido mejorando las herramientas para crear perfiles y análisis para ofrecer información completa sobre la que podemos actuar.

En esta versión, estamos viendo el administrador de temporización de tramas para capturar y acceder a datos de sincronización de tramas por GPU y CPU y marcas de tiempo a nivel granular.

La relevancia de aumentar la productividad
La relevancia de aumentar la productividad – Reutilización de materiales con variantes dinámicas

Frame Timing Manager

Frame Timing Manager está disponible en el editor y permite orientar y ajustar los cuellos de botella de rendimiento en tu proyecto. Independientemente de la plataforma, con más información que nunca sobre el rendimiento de los fotogramas individuales. Juntas, estas características permiten crear herramientas para perfilar e informar sobre tus proyectos en cualquier plataforma.

Al crear o modificar una escena o si estás mejorando u optimizando el contenido, es importante comprender cómo se utiliza la gestión del marco. Agregan un Frame Stats Profiler al depurador de renderizado, disponible tanto en el editor (solo en modo de reproducción) como en un reproductor incorporado. Está implementado en todas las canalizaciones de renderizado mediante Scripts.

Esta herramienta no solo está destinada a desarrolladores; es para cualquiera que quiera identificar si una escena está vinculada a la CPU o a la GPU; y obtener un desglose de los tiempos de los fotogramas.

Optimizaciones de la plataforma Unity 2022.1

Finalmente, hablemos de la amplitud de las plataformas que se implementa todos los días. Es una de las principales razones por las que muchos eligen desarrollar en Unity. Es por eso que continuamos optimizando el soporte de la plataforma para nuevas funciones y las últimas API para impulsar la creatividad.

Para aquellos que buscan impulsar el rendimiento de Android aún más en los dispositivos Samsung, ahora puede aprovechar Adaptive Performance 4.0. Con eso, obtienes cuatro escaladores más que cubren física, calcomanías, personalización y selección de capas; muchos de los cuales incluyen muestras. Un beneficio importante es el soporte para secuencias de comandos visuales que simplifica aún más las secuencias de comandos con Adaptive Performance.

Optimizaciones de la plataforma Unity 2022.1
Optimizaciones de la plataforma Unity 2022.1

Unidades accesibles con Adaptive Performance 4.0 en el sistema Visual Scripting de Unity

Para los juegos de Android dirigidos a dispositivos con chipsets Arm, sabemos que deseas optimizar aún más. Con Unity 2022.1. Puedes acceder a datos de rendimiento de bajo nivel con el paquete System Metrics Mali, que expone métricas que proporcionan información sobre el impacto que producen tus cambios a nivel de hardware.

Instala el ejemplo Read GPU Metric que se incluye con este paquete para ver cómo se puede acceder a las métricas de GPU en tiempo de ejecución. En la plataforma iOS, hemos habilitado la última canalización de compilación incremental. Esto garantiza que solo reconstruya las partes de la aplicación donde ha habido cambios desde la compilación anterior.

La mejora continua de la experiencia de desarrollo de la consola incluye una mayor estabilidad general. Así como soporte adicional para la canalización de compilación incremental para Xbox.

Unidades accesibles con Adaptive Performance 4.0 en el sistema Visual Scripting de Unity
Unidades accesibles con Adaptive Performance 4.0 en el sistema Visual Scripting de Unity

Tienes más artículos sobre Unity aquí. En el foro tienes toda la información agrupada y los comentarios. Sigue leyendo…