17 de septiembre de 2018
TUTORIAL: De Revit a Unreal Engine (1ª Parte)
Contenido:
¿Qué posibilidades ofrece Unreal Engine?
En este tutorial (dividido en dos partes) vamos a estudiar las posibilidades que ofrece un software como Unreal Engine dentro de la metodología BIM. De este modo vamos a utilizar un modelo de Revit para crear, mediante Unreal, una serie de renders, vídeos, recorridos 3d en tiempo real e incluso experiencias de realidad virtual. Vais a ver como Unreal puede acelerar nuestro proceso de trabajo, cómo vamos a poder obtener, de forma muy rápida, todos estos recursos y, además, vamos a poder hacer modificaciones en muy poco tiempo.
Espero que esta primera parte del tutorial os sirva de ayuda. ¡No os perdáis la continuación!
MÉTODO DE TRABAJO
1.- Exportar el proyecto (0:01:05)
Vamos a comenzar a crear nuestro proyecto de visualización y el primer paso que vamos a realizar va a ser exportar nuestro modelo 3d de Revit en un formato compatible con Unreal Engine. El formato que vamos a utilizar va a ser el formato *.FBX.
A la hora de exportar nuestro modelo 3D de Revit, en este formato .FBX, vamos a tener en cuenta ciertas consideraciones. Lo primero que vamos a hacer va a ser comprobar las unidades de proyecto, en este caso yo he estado trabajando en metros y os vais a dar cuenta cuando trabajemos en Unreal que Unreal trabaja en centímetros. No va a haber ningún problema en que trabajemos en Revit en metros y en Unreal en centímetros o en Revit en otra unidad ya que Unreal se va a encargar de realizar esa conversión para que podamos trabajar sin ningún problema.
Una vez hemos comprobado las unidades, vamos a venir a la vista 3D y desde aquí vamos a exportar el proyecto. Fijaos, en este caso, va a ser muy importante la caja de sección ya que lo que nosotros veamos en esta vista va a ser lo que se va a exportar a ese formato .FBX. y lo que vamos a introducir dentro de Unreal. De este modo, si por ejemplo yo corto esta vivienda, cuando yo importe este modelo 3d dentro de Unreal, va a aparecer esto. Va a aparecer cortado, no va a aparecer el resto de la vivienda. Con eso tenemos que tener mucho cuidado, ya que si yo tengo algo de este tipo o me interesa hacer una visualización de este tipo, puedo exportar este modelo con estos cortes. También si tengo elementos ocultos en la vista, esos elementos no se van a exportar.
En este caso lo que voy a hacer va a ser ocultar el mobiliario y los aparatos sanitarios que tengo añadidos en este proyecto. Voy a buscar por aquí mobiliario, voy a desactivarlo y lo único que voy a importar va a ser este proyecto totalmente vacío ya que el mobiliario voy a añadirlo después dentro de Unreal Engine. Voy a utilizar una serie de librerías que van a tener unos modelos 3D más realistas que los que he estado yo utilizando en mi proyecto de Revit.
Bien como veis, lo más importante va a ser que esta caja de sección esté perfectamente colocada de tal modo que no me seccione mi proyecto, si esa no es mi intención claro está. Si yo lo que quiero hacer es una visualización en la que tengo esta sección pues dejo dada esa sección y exportó del modelo 3D.
Para exportar nuestro archivo venimos a Archivo/ Exportar y seleccionamos el formato .FBX. En este caso voy a ir trabajando directamente desde el escritorio para ir más rápido. Vosotros podéis trabajar desde una carpeta dentro de vuestro disco duro o desde donde queráis. Voy a crear una carpeta que se llame: modelos 3D. Entro dentro y voy a denominarlo como Modelo3D_01 o como vosotros queráis. Guardamos y si venimos ahora al escritorio, como veis, tengo mi carpeta de modelos 3D y aquí tengo ese archivo en formato .FBX. En este caso, como vamos a exportar a Unreal, voy a utilizar una nomenclatura que me sirva para tener mi proyecto mucho más ordenado. Como voy a trabajar, como esto va a ser un modelo 3d voy a renombrarlo como M de modelo 3d. También podríamos renombrarlo como S, de static mesh. En este caso voy a utilizar M_vivienda para no liarnos. Así, cuando se importen Unreal, si yo busco por la M, van a aparecer todos los elementos del proyecto porque, como veis, aquí tengo un modelo 3d pero este modelo 3d está formado por varios elementos que, cuando importamos en Unreal, nos van a aparecer también por separado como vemos aquí en Revit.
2.- Crear proyecto en Unreal (0:06:00)
Una vez ya tengo mi proyecto exportado, vamos a comenzar a crear nuestro proyecto de Unreal. Vamos a abrir Unreal, una vez se habra Unreal, vamos a venir al panel de New Project, vamos a seleccionar proyecto en blanco y vamos a asegurarnos de que tenemos seleccionada la opción de Starter Content. En este caso vamos a comenzar con una serie de elementos que trae por defecto Unreal como son materiales, modelos 3D… que nos van a servir para crear nuestro proyecto.
Voy a crear una nueva carpeta en el escritorio que sea visualización y aquí dentro voy a ir guardando mis proyectos de visualización. Voy a seleccionar esa carpeta desde esta parte de aquí (barra desplegable de folder) y en este caso voy a llamar a mi proyecto como vivienda_01. Fijaos que no podemos dejar espacios. Así que vivienda_01, podríamos, si vamos haciendo varias versiones, vivienda_02, vivienda_03 … Seleccionamos crear proyecto y vamos a esperar a que se cree que ese proyecto dentro de Unreal.
3.- Navegar por Unreal Engine (0:07:05)
Una vez estamos dentro de Unreal, como veis, aparece una escena por defecto y vamos a aprovechar esta escena para aprender a navegar.
Para navegar dentro de este entorno 3d que vamos a crear nosotros, lo que tenemos que hacer es pulsar el botón derecho del ratón, mantenerlo pulsado y mover el ratón. Fijaos mantengo pulsado el botón derecho del ratón, muevo el ratón y tengo este movimiento de órbita.
Sí mientras mantengo pulsado el botón derecho del ratón, pulso la tecla “W”, voy hacia adelante, si pulso “S”, voy hacia detrás, si pulso “A”, voy hacia la izquierda y “D” hacia la derecha.
Con la “Q” nos movemos hacia abajo y con la “E” nos movemos hacia arriba. Todo el tiempo recordad con el botón derecho pulsado. Fijaos que es muy sencillo. Si queremos ajustar la velocidad de este movimiento, podemos venir aquí a la parte derecha de esta ventana de escena y cambiarlo. Como veis, nos movemos mucho más lento.
4.- Entorno (0:08:20)
Dentro de Unreal vamos a tener esta escena 3d. Vamos a tener este panel derecho, Word Outliner, desde el que vamos a ver todos los elementos que forman esta escena 3d. Si hago clic izquierdo sobre un objeto, fijaos que nos aparecen las propiedades de este objeto, panel de Details. Y vamos a tener en la parte inferior el Content Browser, que lo que nos va a permitir es añadir elementos externos, por ejemplo, nuestro proyecto de Revit.
5.- Nueva Escena (0:08:45)
Para crear nuestro proyecto, lo que vamos a hacer va a ser crear una nueva escena. Venimos a File/New level, seleccionó default y voy a eliminar los elementos que no nos interesan, en este caso, este suelo. Hago clic izquierdo sobre él, presiono suprimir y lo elimino. También este player start y ésta esfera de reflexión, la seleccionó y suprimir. Ya tengo mi escena vacía.
Lo que vamos a hacer ahora, va a ser importar nuestro modelo 3d. Venimos a este Content Browser que, como veis, se va estructuran en carpetas. Voy a hacer clic derecho en esta parte de aquí, New Folder y voy a llamarlo por ejemplo 00_modelos.
Fijaos que tenemos una carpeta que es este Starter Content que, aquí dentro vamos a tener una serie de elementos, como por ejemplo materiales, que nos van a permitir tener un punto de partida. Nosotros también vamos a poder crear nuestros modelos 3d y otros elementos sin ningún problema, pero en este caso, como estamos viendo las posibilidades de Unreal, vamos a utilizar los elementos que ya tenemos.
6.- Importar a Unreal (0:10:00)
Vengo a mi carpeta de modelos, hago clic derecho y selecciono Import. Vengo al escritorio y aquí, en mi carpeta de modelos 3d, tengo mi proyecto de .FBX que viene desde Revit. Selecciono abrir y aquí vamos a tener en cuenta unos aspectos muy importantes que van a hacer que todo nuestro proceso de trabajo funcione sin ningún problema.
Lo primero que vamos a hacer es desactivar las colisiones ya que, si hiciéramos un proyecto más complejo, las crearíamos nosotros mismos.
– Light Maps:
Vamos a abrir las opciones avanzadas y en esta parte va a ser muy importante tener seleccionada esta opción: Generate Light Map UVs. ¿En qué consiste esta opción? pues bien, cuando nosotros tenemos un modelo 3d dentro de un motor de videojuegos como Unreal, esta opción lo que va a hacer es despiezar de forma plana nuestro modelo 3d para que se puedan calcular los Light Maps. Los Light Map básicamente es información de iluminación que nosotros vamos a almacenar en texturas. Las texturas tienen un formato 2d. Como nosotros estamos trabajando en nuestro modelo, en modelos 3d, lo que necesitamos es traducir ese modelo 3d, a un formato 2d. De eso se va a encargar este Light Map. Es algo que nosotros no vamos a ver cuando realicemos este proceso pero es una parte muy importante.
Esos Light Map son imágenes en las que se almacena la información de iluminación de tal modo que, como vamos a trabajar en tiempo real, nos vamos a ir moviendo como en un videojuego, la iluminación no va a tener que estar calculándose constantemente, sino que se va a almacenar en esos archivos de imagen. Para que se pueda almacenar en esos archivos de imagen, lo que tenemos que hacer, es que ese modelo 3d se proyecte en forma bidimensional. De eso se va a encargar esta opción.
– Normales:
Ahora lo que vamos a hacer es modificar las normales. Una normal es la dirección perpendicular a una cara de un modelo 3d. En este caso las normales que tiene Revit y no van a funcionar bien en Unreal y lo que tenemos que hacer es seleccionar Comput Normals, de tal modo que Unreal genere las normales para ese modelo 3d. En este caso estos conceptos que, como veis, vamos a ver muy rápido en esta lección para que nos dé tiempo a hacer muchas más cosas, son dos conceptos avanzados pero que van a ser fundamentales para que nuestro proyecto funcione sin ningún problema.
En este caso lo único que tenemos que hacer es activar Generate Light Map UVs y Comput Normals.
– Unidades:
Después lo que vamos a hacer es seleccionar Convert Scene Unit, que se conviertan las unidades para que tengamos esa conexión perfecta entre el modelo de Revit y Unreal. Para que no tengamos ningún problema con la escala.
Y seleccionamos importar. En este caso, como el modelo 3d tiene muchos elementos, va a tardar unos minutos en importarse.
Fijaos que nos salen una serie de avisos para todos esos modelos, pero en este caso, no tenemos ningún problema. Podemos cerrar aquí y como veis tenemos todos los elementos que forman nuestro modelo 3d.
7.- Componer la escena (0:13:35)
Vamos a añadir todos estos elementos a una escena. En esa escena vamos a crear o dar esa calidad a nuestro modelo.
Unreal Engine trabaja por escenas. Cada escena va a ser una parte de ese, por ejemplo imaginaos en un videojuego, cada una de las pantallas lo interpretaríamos como esa escena. En este caso imaginaos, yo puedo tener la vivienda con una configuración de mobiliario en una escena y en otra escena podría tener otra configuración de mobiliario y dentro de nuestro proyecto podríamos saltar de una escena a otra.
En este caso vamos a trabajar solo con una escena y vamos a añadir nuestro modelo 3d. Voy a hacer clic en el primer elemento. Fijaos que este elemento si veis ahí, en este panel que se despliega nos aparece todo el nombre de esa de esa familia, el tipo de elemento y al final nos aparece la id de ese elemento, esa referencia.
– Añadir elementos:
Seleccione el primero, presiono la tecla mayúsculas izquierda (en la tecla mayúsculas, no la tecla bloq mayús) La tecla mayúsculas, mantengo presionada y hago clic izquierdo sobre el último elemento y como veis se han seleccionado todos los elementos. Lo único que tengo que hacer ahora es pinchar y arrastrar. Suelto y vamos a darle unos unos segundos al ordenador para que realice todo ese proceso de introducir el modelo 3d dentro de nuestra escena.
Una vez se ha introducido el modelo 3d, voy a navegar alrededor y como veis ya tengo mi proyecto.
Lo primero que voy a hacer va a ser alinearlo al punto de origen para que todos los elementos queden perfectamente colocados. Fijaos en el panel derecho, en el Word Outliner, aparecen todos estos elementos y en la propiedad, panel de Details, vamos a moverlos el punto 000 para que todo funcione correctamente.
– Comprobar la escala:
Una vez que hemos introducido el proyecto en nuestra escena vamos a comprobar la escala. Para ello si venimos a Basic, tenemos la opción de Cube. Pincho y arrastro para añadir un cubo. Este cubo estándar de Unreal mide un metro por un metro por un metro. Un metro de largo, un metro de ancho y un metro de alto. De este modo vamos a poder moverlo, fijaos puede utilizar las herramientas de mover y comprobar que esa escala es aparentemente la correcta.
Con Ctrl+C y Ctrl+V puedo duplicar este cubo,otra vez Ctrl+C y Ctrl+V y esta altura que es 2,90m pues bueno como veis ese cubo pierde ahí ese espacio que son unos 10 centímetros y la escala que tenemos en nuestro proyecto es la correcta.
Si no nos funciona esta prueba puede que tengamos que volver a nuestras opciones a la hora de importar y comprobar que hemos hecho todo correctamente. Fijaos que en este caso estamos trabajando con visualización entonces tenemos unas tolerancias bastante altas. Como al fin y al cabo no es un elemento de fabricación, podemos hacer esta comprobación rápida de la escala.
– Ordenar los elementos:
Como veis tenemos aquí este modelo 3d y podemos navegar alrededor. Lo primero que vamos a hacer ya que, fijaos, tenemos aquí un montón de elementos (en el Word Outliner), va a ser ordenarlos dentro de una carpeta. Voy a hacer clic derecho, Create Folder, y lo voy a renombrar como Vivienda. Selecciono el primero, clic izquierdo, vengo hasta abajo del todo, presiona la tecla mayúscula izquierda y hago clic. Ahora pincho y arrastro y suelto dentro de Vivienda. Y como veis puedo abrir y cerrar esta carpeta para tener mi proyecto mucho más ordenado.
Fijaos que tenemos una serie de elementos como luces, una esfera del cielo… y va ser recomendable que tengamos todos estos elementos ordenados.
8.- Añadir materiales (0:18:05)
Una vez ya tenemos nuestro modelo 3d, lo que vamos a comenzar a hacer va a ser añadir materiales.
Fijaos, para no tener que ir objeto a objeto añadiendo materiales, vamos a poder buscar todos los objetos. Por ejemplo, en este caso, yo quiero buscar todos los muros de hormigón. Voy a poner aquí arriba hormigón, le añado la tilde y como veis tengo todos mis elementos de hormigón. Voy a añadir uno de esos materiales que se incluyen en nuestro Starter Content a estos muros de hormigón.Vengo a Starter Content. Fijaos que tenemos Materials y por aquí, tenemos M_ConcretPanels. Pincho y arrastro en la parte de materiales del panel de Details. Y ahí, como podéis ver, a todos esos y elementos de hormigón se les ha añadido este material.
Fijaos que tenemos aquí ciertas cosas raras de la iluminación pero eso se va a solucionar más adelante.
Fijaos que cuando haya importado los modelos he utilizado la nomenclatura m. Fijaos que en este caso para materiales también es la nomenclatura m. En nuestro caso podemos utilizar para los modelos sm o bueno lo que vosotros queráis. Sin embargo fijaos que cuando seleccionó la m en la búsqueda, me aparecen todos esos elementos que contienen la m. Si pongo m_vivienda, sin entrar dentro de la carpeta nos aparecen todos estos elementos.
Después de este pequeño apunte vamos a continuar añadiendo materiales. Voy a quitar esa búsqueda y fijaos que si venimos a materiales dentro de nuestra carpeta de Starter Content, tenemos también otros elementos.
Lo primero que vamos a hacer va a ser añadir al cristal un material de cristal. Vamos a buscar cristal, tenemos aquí todos estos elementos y vamos a añadirle este M_Glass que tengo por aquí y bueno como veis ya tenemos todos estos elementos con ese vidrio.
Vamos a continuar añadiendo materiales por ejemplo esta madera que tenemos aquí. Voy a añadirla a estas paredes, vamos a añadirla por ejemplo a la tabiquería interior. Fijaos aquí me he equivocado le doy a Ctrl+Z y vuelvo hacia atrás ya que a estas paredes le voy a aplicar otro.
Y así podríamos ir sucesivamente a todos los elementos añadiendo estos materiales. Estos materiales también los podríamos crear directamente dentro de Unreal. Vamos a aplicarle también un material a nuestro terreno, vamos a aplicar por ejemplo un material de madera a este suelo que tenemos aquí y al suelo interior le voy a aplicar otro material. Este suelo que tengo por aquí intermedio voy a añadirle unas baldosas.
– Escala de los materiales:
Fijaos que bueno en este momento tenemos lo que parece ser un pequeño problema con los materiales y es que fijaos, la escala que tiene aquí una tabla, en comparación con la escala que tiene que tener nuestro proyecto. Para ello vamos a tener que modificar los materiales.
Antes de continuar fijaos que tengo aquí una malla de referencia que me puede resultar un poco incómoda. Voy a venir a Show, desactivo Grid y ya no tenemos el problema con esa malla.
Continuamos como os decía. Tenemos este problema de escala. Lo que voy a hacer es doble clic sobre este material y voy a ajustar este nodo que tenemos aquí (TexCoord(0)). Fijaos cómo son los materiales dentro de Unreal que funcionan por nodos y para movernos aquí dentro lo que vamos a utilizar va a ser la rueda del ratón (zoom) y el botón derecho (paneo). Mantenemos pulsado el botón derecho y nos movemos. Lo que me interesa es modificar estas coordenadas. Fijaos que ahora están en 0,5, voy a reducirlas para que esas tablas sean mucho más grandes. Vamos a ponerlo en 0,1, vamos a guardar y volvemos a nuestra escena para comprobar. Fijaos cómo ha cambiado ahora el tamaño de esas tablas. Si las queremos más grandes pues bueno 0,8 y guardamos.
– Dirección de los materiales:
También puede que en este punto nos interese que la dirección de la tabla no sea esta sino que sea perpendicular. Para ello vamos a hacer clic derecho y vamos a buscar el nodo CustomRotator, hacemos clic y vamos a conectarlo antes de estas partes que tenemos aquí que hacen referencia a las texturas, se conecten a este nodo. (Conectamos TexCoord(0) con CustomRotator y de este sacamos los enlaces todos los TextureSample )
Fijaos, las texturas desde las que estamos modificando esas coordenadas y el ángulo de rotación está entre 0 y 1, quiero que se rote 90 grados, para ello vamos a buscar Constant. Hago clic derecho y me aparece este panel y en este caso vamos a poner 0.25 en esta parte izquierda. Conectamos a CustomRotator y guardamos. Como veis ya se han rotado esas tablas.
Fijaos que el editor de materiales tienen bastante complejidad ya que podemos hacer materiales con muchísima calidad, reflexiones, transparencias, mezclar varias texturas y mapas de relieve y bueno en este caso básicamente lo que hemos hecho ha sido modificar estas texturas que es lo único que vamos a tener que hacer con estos elementos que vienen en el Starter Content.
Tendríamos que hacer el mismo proceso con estas baldosas, hago doble clic. Si no tenemos esa parte de TexCoordinate podemos hacer clic derecho y buscar TexCoordinate. Aquí lo tenemos y en este caso, este material cuando partimos de la base, esto no se parece nada a esto, ya que no podemos utilizar sistemas muy complejos. Voy a conectar aquí (a TextureSample), vamos a poner en punto 0.1 y 0.1 y fijaos, que en este caso, para que no sean tan diferentes las baldosas, podríamos incluso modificar el color.
También en este caso, como tenemos aquí una textura de normales que va a generar relieve, vamos a tener que conectar este nodo (TextureSample) con esa textura (otro TextureSample).
Guardamos y fijaos que ya tenemos nuestras baldosas con un tamaño mucho más adecuado. También tenemos nodos en los que podríamos incluso modificar el color y a lo mejor yo quiero que una baldosa sea de otro color. Guardamos y ahí tenemos ese efecto. voy a hacer Ctrl+Z para recuperemos ese color y continuamos.
Con lo que ya sabemos, lo único que tendríamos que hacer sería continuar añadiendo materiales e ir haciendo estos ajustes que ya hemos visto, para que cojan la escala o la rotación que nosotros necesitamos.