Saltar al contenido

Carta RAL para Unreal Engine

26 marzo, 2020

Esta es parte de un proyecto de Agosto de 2018 que me he decidido a compartir. En aquel proyecto podía cambiar en Realidad Virtual la pintura de pilonas, impostas, estructura y barreras de un viaducto de estructura metálico.

Puesto que la carta industrial más utilizada con mis clientes de estructuras metálicas es la RAL me decidí a programar un «Blutility» que creara todos los «assets» a partir de la tabla de colores, tabla que no es facilitada por el propietario del standard. Sin embargo, en la red se encuentra de todo y dí con un CSV con un montón de datos, entre ellos el RGB. A mi parecer los datos son fiables puesto que los he comparado de forma aleatoria con un ojo educado en color y coinciden.

RAL

Las «Blutilities» son «Blueprints» para usar en el editor, hoy ya superadas por nuevas clases y «widgets» como son las Editor Utility Widgets y Editor Utility Blueprints.

Quien le baste con la colección de materiales, he de decir que son MIC, Material Instance Constants, basados todos en un mismo padre, otro Material Instance, basado a su vez en un Material Base. El material base tiene cuatro parámetros: Color (Color lineal, Vector 3), Dieléctrico o Metálico, Especularidad y Brillante o Mate (estos tres son escalares). Así, todos los materiales de la carta son creados por defecto con un aspecto ciertamente brillante, pero cambiando cualquiera de sus parámetros podemos obtener acabados diferentes. Ni que decir tiene que los parámetros obedecen al sistema PBR de diseño de materiales. Si no se necesita más, se pueden borrar estos «assets»: BP_Creador_RAL, DS_RAL y DT_RAL_Standard.

A quien le apetezca toquetear el Blueprint lo primero que ha de hacer es habilitar la plugin que posibilita los nodos que uso:

Plugin que hay que activar

Sin esta activación no funciona. Si lo quieres probar, elimina todos los materiales con nombre M_RALXXXX, menos el Base y la Instancia de referencia (sin ellos no funciona), arrastra BP_Creador_RAL a la escena y tendrás un botón en la pestaña Details que dice Crear Carta. En unos instantes tenemos toda la carta RAL si todo funciona como se espera.

Desde un punto de vista de lógica, la Blueprint es bastante sencilla. Lo principal es tener una Data Structure que defina una Data Table cargada con los datos de un CSV preparado ad-hoc. Iterando por toda la tabla componemos el nombre y obtenemos el valor RGB que transformamos a espacio lineal. Inmediatamente vamos creando Materiales Instancia a partir del Material Instancia base e inyectando los cuatro parámetros. Tenía previsto poder ajustar los parámetros Metal y Roughness desde Details y que pudieran ser variables, pero ya se andará.

Blueprint

Quisiera hacer otra versión haciendo uso de lo que he comentado antes, Editor Utility Widgets y Editor Utility Blueprints, para incorporar una funcionalidad que cree sólo el RAL que necesito desde un menú, pero no he tenido tiempo de aprender a hacerlo. Lo que es seguro es que hay que activar otro plugin:

Editor scripting utilities

El contenido del ZIP ha de ponerse como cualquier otro conjunto de assets en la carpeta Content de cualquier proyecto. La descarga, aquí:

Carta RAL para Unreal Engine

No comments yet

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.