
Soporte a nuevos Evergine Runtimes
Con la llegada de la nueva versión estable de Evergine, hemos trabajado en ampliar la capacidad de importación de formatos de archivo del motor.
Gracias a ello, se han incorporado nuevas bibliotecas Evergine.Runtimes, junto con un nuevo ejemplo de uso: “Evergine Runtime Lab”.
Esta versión incluye los siguientes paquetes NuGet:
- Evergine.Runtimes.OBJ
- Evergine.Runtimes.USD
- Evergine.Runtimes.IFC
- Evergine.Runtimes.CAD
Con este lanzamiento, buscamos facilitar la integración de nuevos formatos de modelos 3D (OBJ y USD), así como formatos orientados al diseño industrial y arquitectónico, como IFC y CAD.
Evergine.Runtimes.OBJ
Hasta ahora, Evergine ofrecía soporte para los formatos GLB y STL.
Con la incorporación de la nueva biblioteca Evergine.Runtimes.OBJ, ampliamos las capacidades de carga del motor, añadiendo compatibilidad con uno de los formatos 3D más utilizados en la industria: OBJ.
Características principales de Evergine.Runtimes.OBJ
- Soporte a geometrías simples (triángulos y quads).
- Compatibilidad con materiales básicos y PBR.
- Soporte para texturas en formatos PNG, JPG y BMP.
- Compatibilidad con nubes de puntos.
Evergine.Runtimes.USD
¿Qué es USD?
Universal Scene Description (USD) es un formato abierto y una tecnología desarrollada por Pixar para describir, intercambiar y trabajar con escenas 3D complejas. No es solo un formato de archivo, sino también una estructura modular y escalable para gestionar contenido 3D en proyectos de grandes dimensiones.
Características clave de USD
- Escena única e interconectada. Permite una representación común de la escena, facilitando la integración de datos de diferentes fuentes.
- Eficiencia y escalabilidad. Permite manejar escenas extremadamente grandes sin perder rendimiento.
- Flexible y extensible. Soporta una gran variedad de datos 3D, incluidos modelos, texturas, iluminación, animaciones y más.
- Interoperabilidad. Compatible con una variedad de herramientas, como Maya, Houdini, Blender y otros softwares populares en la industria.
Gracias a las ventajas que ofrece, se creó la ‘Alliance for OpenUSD’, una iniciativa en la que empresas como Pixar, Apple, Adobe, NVIDIA y Autodesk se comprometieron en impulsar y promover el formato. Hoy en día, USD se ha convertido como el formato principal en proyectos 3D para softwares de estas empresas, como es en el caso de NVIDIA Omniverse o, en el de Apple, donde se utiliza para el contenido de realidad aumentada (AR) en sus dispositivos.
Características de Evergine.Runtimes.USD
Con el creciente impulso de USD en la industria, y el compromiso del equipo de Evergine con la innovación y la mejora continua del motor, hemos incorporado un nuevo runtime que permite a Evergine cargar este tipo de formatos en tiempo real.
Para ello, tras investigar distintas API para la carga de archivos USD, nos decantamos por OpenUSD, la API oficial desarrollada por Pixar, escrita en Python. Evergine.Runtimes.USD utiliza CSnake para generar un entorno Python con el módulo usd-core (OpenUSD), lo que posibilita la carga de archivos USD en tiempo real en .NET.
Características principales de Evergine.Runtimes.USD
- Soporte para todos los tipos de formatos USD: .usd, .usdz, .usda y .usdc.
- Compatibilidad con geometría simple (triángulos) y compleja (quads, N-gons).
- Soporte para materiales básicos y PBR.
- Compatibilidad con texturas en formatos PNG, JPG y BMP.
Evergine.Runtimes.IFC
La nueva biblioteca Evergine.Runtimes.IFC proporciona una solución potente y eficiente para la carga dinámica de modelos IFC en tiempo de ejecución.
Está diseñada para aplicaciones 3D en tiempo real y se integra de manera fluida en tus proyectos desarrollados con Evergine.
¿Qué es IFC?
Industry Foundation Classes (IFC) es un estándar abierto e independiente de proveedor para el intercambio y la compartición de datos BIM (Building Information Modeling).
IFC especifica un esquema de datos neutro que describe entidades, atributos y relaciones de un modelo de información de construcción, permitiendo que distintas aplicaciones importen y exporten información de forma interoperable.
Características:
- Interoperabilidad: IFC actúa como “lenguaje común” dentro del flujo de trabajo BIM, asegurando que la información generada en una etapa o disciplina pueda ser utilizada por otros agentes y herramientas sin pérdida de datos ni ambigüedades.
- Colaboración: permite que arquitectos, ingenieros y constructores trabajen sobre un modelo vivo, en el que los cambios se reflejan automáticamente en vistas, planos y presupuestos.
- Estandarización: BIM define el proceso, mientras que IFC proporciona la norma técnica para estructurar y transferir la información entre sistemas. Sin IFC, el alcance colaborativo y la coherencia del modelo BIM quedarían muy limitados.
Dadas estas características que presenta el estándar IFC, su papel dentro de la metodología BIM es fundamental para garantizar la interoperabilidad y la colaboración entre las distintas disciplinas del ciclo de vida de un proyecto.
Actualmente, IFC es ampliamente utilizado en los principales softwares de arquitectura e ingeniería, como Revit or ArchiCAD, entre otros, donde actúa como el formato común para el intercambio de modelos y datos constructivos.
Con la incorporación de soporte nativo para IFC, Evergine da un paso importante hacia la integración de flujos BIM en entornos 3D en tiempo real.
Siendo un motor especialmente orientado al desarrollo de aplicaciones industriales, esta mejora supone un avance significativo, ya que permite a desarrolladores y profesionales del sector visualizar, interactuar y experimentar con modelos BIM directamente dentro del motor, sin necesidad de conversiones intermedias ni pérdida de información.
Características de Evergine.Runtimes.IFC
Durante el desarrollo de Evergine.Runtimes.IFC, el equipo de Evergine investigó distintas librerías para estandarizar la lectura de archivos IFC.
Tras evaluar varias opciones, se optó por XBimGeometry, una librería que permite la lectura y procesamiento de archivos IFC, transformándolos en estructuras de datos con geometría legible por Evergine.
Características principales de Evergine.Runtimes.IFC
- Soporte para IFC2x3 e IFC4.
- Renderizado de sólidos CAD y mallas 3D.
- Renderizado de materiales por color de vértices.
- Renderizado de materiales translúcidos.
- Generación de normales suaves y duras.
- Batching eficiente de geometría por materiales.
Evergine.Runtimes.CAD
Además de la biblioteca para carga de archivos IFC, hemos incorporado un nuevo cargador: Evergine.Runtimes.CAD, que permite cargar archivos CAD (DXF y DWG) en tiempo real dentro de proyectos con Evergine.
¿Qué son archivos CAD, DXF y DWG?
Los archivos CAD contienen geometría vectorial, capas y metadatos usados para dibujos técnicos y modelos en ingeniería y arquitectura.
· DWG es el formato binario propietario de Autodesk, ampliamente usado para almacenar dibujos completos con alta fidelidad.
· DXF es el formato de intercambio de Autodesk (habitualmente ASCII, existe también en versión binaria) diseñado para compartir datos entre aplicaciones.
Ambos almacenan entidades como líneas, arcos, textos, bloques y hatches, y se usan en diseño, fabricación y documentación técnica.
Características de Evergine.Runtimes.CAD
Tras analizar distintas opciones, nos decantamos por ACadSharp, una librería desarrollada en C# para la lectura y escritura de archivos CAD.
ACadSharp ofrece soporte para una amplia gama de versiones DXF y DWG, y destaca por su interfaz sencilla, alto rendimiento y robustez, factores clave para estandarizar la carga de archivos CAD en Evergine.
Características principales de Evergine.Runtimes.CAD
- Soporte DXF. Versiones desde R12 hasta R2024 (ASCII & Binario).
- Soporte DWG. Versiones desde R14 hasta R2024.
- Representación de las principales estructuras geométricas 2D que componen los documentos CAD.
Sample “Evergine Runtime Labs”
Para mostrar el potencial de cada uno de los runtimes de Evergine, hemos desarrollado Evergine Runtime Lab, un sample que puedes descargar directamente desde el Evergine Launcher. Con este ejemplo, podrás probar de manera rápida y sencilla la carga y visualización de cada uno de los formatos admitidos por los Evergine Runtimes.
Documentación
Para documentación técnica detallada e información sobre la implementación de cada uno de estos runtimes, por favor consulta la documentación oficial de Evergine.
Conclusiones
Desde el equipo de Evergine seguimos trabajando para mejorar continuamente nuestro producto, ampliando su compatibilidad con una amplia variedad de formatos 3D.
Con esta actualización, incorporamos soporte tanto para formatos clásicos como OBJ, nuevos estándares como USD, y formatos orientados al diseño industrial y arquitectónico como IFC y CAD.
Nuestro objetivo es facilitar el trabajo de los desarrolladores y ofrecerles un entorno cada vez más flexible, potente y adaptado a las necesidades actuales del sector 3D.