<< Volver al inicio
bg2 engine - composer

$ bg2 engine - composer_

Herramienta de edición del motor gráfico bg2 engine. Permite crear y editar escenas, assets, materiales y bibliotecas de assets y materiales de bg2 engine. Importa archivos en formato FBX y OBJ para incorporarlos en las escenas, o exportarlos posteriormente como assets del motor gráfico.

Captura de pantalla de la aplicación Composer

Captura de pantalla de la aplicación Composer

Capturas de pantalla del editor de assets y escenas bg2 engine - composer

La herramienta permite también añadir metadatos a los assets. Los assets de tipo modelo 3D están a su vez compuestos por varias mallas, que entre todas forman el modelo 3D completo. Por ejemplo, en el caso de un asset que represente sofá, cada una de las piezas del sofá se corresponde con una malla de vértices en 3D con su material correspondiente. Podemos añadir metadatos también a nivel de malla. Siguiendo el ejemplo del sofá, se pueden usar estos metadatos para, por ejemplo, identificar el tipo de pieza que se corresponde con cada malla: patas, cojines, base, brazos, etc.

Editor de bibliotecas de materiales

Asignación de macros a nivel de sub malla

La aplicación incorpora también un editor de biblitotecas. Las bibliotecas de bg2 engine definen una estructura de árbol formada por grupos, nodos de tipo modelo 3D y nodos de tipo material. Las bibliotecas están definidas en formato JSON, por lo que pueden ser utilizadas para cargar los datos a través de un API REST, o directamente a través del propio fichero de biblioteca.

Editor de bibliotecas de materiales

Editor de bibliotecas integrado en Composer

Descripción

El desarrollo comenzó en primer lugar como una aplicación C++ que utilizaba el API nativa de bg2 engine, y la biblioteca QT para la creación de la interfaz de usuario. Esta aproximación tenía un problema: resultaba bastante complicado conseguir que la imagen renderizada fuera exactamente en el editor que en la aplicación web final.

Por ese motivo, cuando se publicó el proyecto Electron.js, decidí volver a implementar el editor utilizando esta tecnología. Electron.js permitía crear aplicaciones de escritorio mediante tecnologías web. Esto se consigue porque Electron en realidad es una ventana de Chromium, así que tenemos acceso a todas las APIs que podemos utilizar en un navegador web. Por lo tanto, la versión 2 del editor se desarrolló desde cero utilizando Electron, con AngujarJS para la interfaz de usuario y las APIs de bg2 engine - web para la vista 3D.

Para realizar la importación y exportación de modelos en formato FBX, es necesario utilizar las bibliotecas oficiales de Autodesk FBX. Por este motivo, la aplicación incluye una utilidad desarrollada en lenguaje C++, que al invocarla extrae la información del fichero FBX a un fichero JSON. Ya desde la parte de JavaScript, se cargan los datos en formato JSON para importarlos a la escena.

Destacado

La aplicación incluye un API para la creación de plugins. Los plugins se implementan en lenguaje JavaScript, y pueden incluir elementos de interfaz de usuario, nuevos scripts para herramientas del editor y archivo de código del motor gráfico, por ejemplo, para añadir nuevos componentes.

Disponibilidad

El ejecutable de la última versión estable del editor se puede obtener desde la sección de descargas del sitio web principal del proyecto:

bg2 engine - descargas

Proyectos relacionados

<< Volver al inicio