¡Una nueva versión de Evergine ya está aquí!
- ¡Lo nuevo!
- Principales características
- Generación de recursos usando IA generativa
- Migración completa a .NET 8.0
- Nested Prefabs en MRTK y XRV
- Nuevo Asset para la biblioteca de efectos
- Soporte de vectores de movimiento en el render
- Soporte experimental a WebGPU native
- Soporte simultáneo de manos y controladores en MR
- Soporte variable en la cantidad de pesos por hueso en esqueletos
- Documentación mejorada
- Trabajo en el horizonte
Por fin está aquí, ¡nos emociona presentarles la última versión de Evergine! Aunque seguiremos lanzando versiones menores a lo largo de 2024, esta es la última gran actualización del año. La próxima actualización importante está prevista para febrero-marzo de 2025, siguiendo nuestra hoja de ruta.
Esta nueva versión añade una nueva dimensión a Evergine al integrar modelos de IA que pueden ejecutarse tanto en servicios en la nube como localmente en tu máquina. Estas herramientas de IA permiten generar Assets esenciales para el desarrollo—como modelos, texturas, cubemaps, animaciones y sonidos—directamente desde Evergine Studio. Este es el primer paso en nuestro plan más amplio para mejorar las capacidades de creación de Assets.
Al incorporar modelos de IA en el flujo de trabajo, los desarrolladores podrán aumentar significativamente su productividad y optimizar todo el proceso de desarrollo.
Evergine es un motor gráfico desarrollado por Plain Concepts para impulsar nuestros productos internos, con un compromiso de más de una década con un modelo de licenciamiento fácil de usar:
- Evergine es completamente gratuito para uso comercial
- No se requiere registro
- No monitoreamos tu uso ni actividad (sin telemetría)
- La licencia es válida para todas las industrias.
¡Lo nuevo!
La última versión de Evergine introduce la generación de Assets impulsada por IA generativa como una característica destacada, lo que permite a los desarrolladores aprovechar flujos de trabajo asistidos por IA directamente dentro de Evergine Studio.
En esta versión, hemos migrado con éxito todo el proyecto de Evergine a .NET 8, trasladando todas las bibliotecas desde .NET Standard 2.0. Ahora, todas las plataformas y herramientas se compilan utilizando .NET 8, lo que garantiza un mejor rendimiento y compatibilidad en todos los ámbitos.
También hemos añadido un nuevo Asset para crear bibliotecas de efectos. Esto permite a los desarrolladores escribir código reutilizable basado en HLSL, reduciendo la duplicación de código en los Shaders. Estos Shaders se pueden compilar automáticamente en GLSL, SPIR-V, MSL o WGSL, optimizando el proceso de desarrollo.
Otra característica añadida es el soporte nativo experimental para WebGPU. Hemos implementado un adaptador de bajo nivel utilizando el proyecto wgpu, lo que ofrece una forma rápida y eficiente de aprovechar esta API en Evergine. Este es un paso importante hacia el soporte completo de WebGPU en navegadores, habilitando capacidades de Compute Shaders y ofreciendo mejoras significativas sobre WebGL para aplicaciones web.
¡Y eso es solo el comienzo! Sumérgete en esta nueva versión para descubrir todas las características innovadoras que hemos incluido en Evergine. ¡Qué comience la exploración!
Descarga e Instala:
Principales características
- Generación de recursos usando IA generativa
- Migración completa a .NET 8.0
- Nested Prefabs en MRTK y XRV
- Nuevo asset para la biblioteca de efectos
- Soporte de vectores de movimiento en el render
- Soporte experimental a WebGPU native
- Soporte simultáneo de manos y controladores en MR
- Soporte variable en la cantidad de pesos por hueso en esqueletos
- Documentación mejorada
Generación de recursos usando IA generativa
Esta es la primera versión de Evergine que introduce herramientas de IA para la generación de Assets dentro del flujo de trabajo de Evergine Studio. Este paso inicial permite a los usuarios generar modelos 3D detallados con texturas a partir de texto o imágenes utilizando un servicio en la nube, y planeamos explorar más modelos de IA para permitir a los usuarios generar diferentes tipos de recursos.
También estamos explorando la integración de varios modelos de IA, para ofrecer a los usuarios la capacidad de comparar y elegir la mejor opción para cada tarea, ya sea utilizando modelos de IA locales que se ejecutan directamente en su máquina o modelos de IA basados en servicios cloud que ofrecen actualizaciones de mejora constante.
Ya puedes utilizar las herramientas de IA integradas en Evergine Studio para generar recursos directamente dentro de tu flujo de trabajo de desarrollo. También hemos incluido una galería donde puedes almacenar tus modelos 3D para construir tu propia biblioteca de modelos.
Si te interesa probarlo, en el siguiente artículo te mostramos cómo: Generación de recursos impulsada por IA
Migración completa a .NET 8.0
El ecosistema de .NET está evolucionando rápidamente, y siempre nos esforzamos por ofrecer las APIs recomendadas para proyectos .NET. Como se muestra en la imagen anterior, .NET 7 llegó al final de su soporte en mayo de 2024, y .NET 6 alcanzará el final de su soporte en noviembre de 2024.
Para mantenernos a la vanguardia, hemos migrado todo el framework y las herramientas del proyecto Evergine a .NET 8.0, lo que nos permite aprovechar al máximo las nuevas características de C# 12 y las mejoras de rendimiento. Esto garantiza que nuestros desarrolladores trabajen con una versión estable y compatible para sus productos. Dado que todas nuestras plantillas ya están actualizadas a .NET 8, los desarrolladores no encontrarán grandes dificultadas para migrar sus proyectos.
.NET 8 tendrá soporte oficial hasta noviembre de 2026, por lo que, si estás comenzando un nuevo proyecto hoy, esta es la versión recomendada para ti.
Nested Prefabs en MRTK y XRV
Al igual que en la versión anterior, donde añadimos el soporte para nested prefabs, en esta versión hemos actualizado nuestras dos principales librerías utilizadas para crear experiencias de realidad mixta para aprovechar al máximo esta funcionalidad.
Me refiero a MRTK y XRV. Aunque ya habíamos publicado MRTK en un repositorio público de GitHub, con esta versión también hemos liberado XRV públicamente bajo la licencia MIT.
XRV es una nueva librería construida sobre MRTK que ofrece utilidades de alto nivel para el desarrollo rápido de aplicaciones de realidad mixta. Incluye funciones como menús de mano, temas y localización, diálogos integrados, acceso a almacenamiento en la nube y módulos integrados como Ruler, Painter, Model Viewer y más.
Aquí están los enlaces por si te apetece echarles un vistazo:
MRTK: https://github.com/EvergineTeam/MixedRealityToolkit
XRV: https://github.com/EvergineTeam/XRV
Nuevo Asset para la biblioteca de efectos
Basándonos en los comentarios de los usuarios, hemos mejorado la reutilización y el mantenimiento de los shaders creados con la herramienta Evergine Effect. Esta herramienta ahora permite a los usuarios escribir shaders utilizando HLSL y ejecutarlos directamente en OpenGL, Metal, Vulkan, WebGL o WebGPU. Internamente, el código se traduce automáticamente a GLSL, SPIR-V, MSL o WGSL.
En esta versión, hemos introducido un nuevo Asset llamado Library Effect, que permite a los usuarios escribir código reutilizable que se puede compartir entre varios shaders. Funciones comunes, constantes, variables, estructuras y directivas pueden almacenarse en un único archivo de biblioteca, lo que reduce la duplicidad de código y mejora su mantenimiento. Esto también asegura consistencia entre los shaders que utilizan la misma lógica.
Por ejemplo, si necesitas crear un shader que funcione en WebGL (basado en OpenGL 3.0) y en Vulkan desde compute shaders, puedes usar una library effect para escribir las funciones comunes y compartirlas entre cada plataforma, incluso cuando se utilizan diferentes pipelines de procesamiento.
Si quieres saber más sobre esta feature, hemos escrito un artículo en profundidad: New Library Effect
Soporte de vectores de movimiento en el render
La información de los vectores de movimiento es esencial cuando se trabaja con técnicas como el Anti-Aliasing Temporal (TAA) o el Motion Blur para lograr resultados óptimos. Hemos mejorado ambas técnicas integradas en nuestro postprocessing graph por defecto, añadiendo esta información en una pasada de G-buffer dentro del renderPath siempre que estas técnicas estén activas.
Los vectores de movimiento también son cruciales para integrar nuevas técnicas como la super resolución o la generación de fotogramas basadas en Nvidia DLSS o AMD FSR 3. Sin estos datos, los objetos animados pueden renderizarse con artefactos visuales.
Al incluir la información de los vectores de movimiento render path predeterminado, facilitamos a los desarrolladores su uso como textura en sus shaders sin necesidad de reescribir un render personalizado para ello.
Para implementar esta característica hemos introducido cambios en Transform3D y SkinnedMeshRenderer. Para más información, consulta: Motion Vectors Pass
Soporte experimental a WebGPU native
Esta versión introduce soporte experimental a través de una nueva plantilla para WebGPU, que es una API gráfica que proporciona a los desarrolladores acceso de bajo nivel a la GPU en plataformas web. Se trata de un nuevo estándar web de la W3C, diseñado para ofrecer un mayor rendimiento, características más avanzadas y un acceso más directo a la GPU que el actual WebGL 2.0.
WebGPU utiliza APIs gráficas nativas en diferentes plataformas como DirectX12, Vulkan o Metal, y las principales diferencias frente a WebGL son:
- Rendimiento: proporciona un acceso más eficiente a los recursos de la GPU en comparación con WebGL, lo que conlleva un mejor rendimiento, especialmente en aplicaciones complejas o que consumen muchos recursos.
- Soporte a GPUCompute: introduce soporte a compute shaders, que están ausentes en WebGL. Esto permite que WebGPU maneje tareas más allá del renderizado gráfico.
- Complejidad de la API: es más compleja y requiere una comprensión más profunda de la programación de la GPU que WebGL, pero ofrece un control y flexibilidad significativamente mayores.
La mayoría de los navegadores populares están implementando soporte para esta nueva API, los navegadores basados en Chromium los soportan ya directamente. Para agregar soporte rápidamente a esta API, Firefox creó un proyecto llamado WGPU o WebGPU native, es una librería en Rust multiplataforma basada en el estándar WebGPU pero que se ejecuta en escritorio. Estamos utilizando este proyecto para validar nuestro nuevo adaptador de WebGPU y en la próxima versión queremos publicar la plantilla para web.
¿Interesado en esta nueva API gráfica web? Más información en: Soporte Nativo Experimental para WebGPU
Soporte simultáneo de manos y controladores en MR
La entrada multimodal en aplicaciones de realidad mixta permite el seguimiento simultáneo de ambas manos y controladores, e indica si los controladores están en la mano o no.
Los usuarios pueden sostener un controlador en una mano para realizar acciones precisas, como usar herramientas, mientras mantienen la otra mano libre para interacciones inmersivas con objetos. Es posible alternar entre manos y controladores según la comodidad, lo que ayuda a reducir la fatiga durante sesiones prolongadas.
El sistema admite transiciones instantáneas al detectar cuando los controladores ya no están en la mano, lo que permite un cambio inmediato entre entradas. La entrada multimodal sigue localizando en todo momento a los controladores incluso cuando no se están sujetando, facilitando a los usuarios encontrarlos sin romper la inmersión.
Esta nueva característica en los dispositivos Meta Quest abre un mundo de posibilidades para los técnicos que utilizan estas tecnologías en entornos industriales, donde tanto la precisión como tener las manos libres son esenciales para completar tareas.
Soporte variable en la cantidad de pesos por hueso en esqueletos
La nueva función de soporte para pesos de huesos variables en Evergine mejora el sistema de animación al permitir que cada modelo use un número diferente de pesos de huesos por vértice. Anteriormente, los modelos en Evergine estaban restringidos por un número fijo de pesos por hueso, lo que limitaba la calidad de las animaciones, especialmente en áreas con mucho detalle, como las expresiones faciales. Esta mejora permite trabajar con modelos animados más complejos.
Además de mejorar el sistema de skinning, los shaders se han actualizado para soportar esta función de manera eficiente. El pipeline de renderizado se adapta dinámicamente para manejar los pesos de huesos variables, manteniendo el rendimiento mientras ofrece una calidad visual mejorada.
Esta característica permite a los desarrolladores lograr una mayor fidelidad en las animaciones, proporcionando las herramientas necesarias para crear personajes más expresivos y realistas.
Documentación mejorada
Como parte de nuestro compromiso continuo para mejorar la experiencia de los desarrolladores en Evergine, esta versión incluye actualizaciones significativas en la documentación de nuestro proyecto. Hemos mejorado las secciones sobre meshes y animaciones, XR Passthrough, Library Effect y la extensión de ImGUI.
Estas actualizaciones incluyen ejemplos detallados de uso de nuestras API y consejos prácticos diseñados para ayudar a los desarrolladores a aprovechar al máximo las características de Evergine. La documentación está dirigida a simplificar los flujos de trabajo y proporcionar una guía clara sobre cómo utilizar mejor estas herramientas, garantizando una experiencia de desarrollo más fluida.
Para más detalles, puedes explorar los siguientes enlaces:
Meshes on models: https://docs.evergine.com/2024.10.24/manual/graphics/meshes/index.html
XR Passthrough: https://docs.evergine.com/2024.10.24/manual/xr/passthrough.html
New library effect: https://docs.evergine.com/2024.10.24/manual/graphics/effects/library_effect.html
ImGUI Extensions examples: https://docs.evergine.com/2024.10.24/manual/extensions/imgui/features.html
Trabajo en el horizonte
Esperamos que disfrutes de esta versión mientras seguimos trabajando en la próxima gran actualización, prevista para febrero-marzo de 2025. Como mencionamos anteriormente, la introducción de modelos de IA generativa en Evergine Studio es una dirección emocionante para nosotros, y continuaremos avanzando en esa dirección.
También hemos estado experimentando con Large Language Models (LLMs) como una posible forma de mejorar la documentación Web y acelerar los ciclos de desarrollo. Continuaremos explorando estas tecnologías para integrar más herramientas en futuras versiones.
También me entusiasma compartir que nuestra hoja de ruta incluye más plataformas y características para distintas industrias. Nuestro objetivo es trabajar en estrecha colaboración con muchas empresas, escuchando sus comentarios para reducir el ciclo de introducción de características útiles.
Además, estamos desarrollando un nuevo Pipeline de Renderizado completamente nuevo que nos permita añadir las últimas características de las API gráficas, como Mesh Shaders, lo que nos permitirá maximizar el rendimiento en cada plataforma. También estamos trabajando en nuevas características como un Sistema de Tareas (Job System) para ayudar a los desarrolladores a crear código de CPU multihilo de una manera similar a como lo hacen en compute shaders.
¡Mantente al tanto para más actualizaciones!
Gracias por tu continuo apoyo a Evergine. Estamos emocionados de trabajar junto a ti en la creación de tecnología de vanguardia para tus productos.