Hoy les mostraremos cómo crear una estructura de habitación en Blender con colisiones, que luego importaremos a Unreal Engine. El tamaño de la habitación es 2×2, pero esto dependerá, por supuesto, de las necesidades individuales de tu proyecto.

En nuestro caso hemos elegido este tamaño con fines demostrativos, para explicar diferentes aspectos como el rendimiento y la creación de colisiones.

Creación de una pared

 

Comencemos por la creación de una pared sencilla. Tomando en consideración que el tamaño estándar de una puerta es de 90 cm de ancho por 200cm de alto aproximadamente, crearemos la pared de 3 metros de altura (esto es a gusto personal, y dependerá del tamaño que requieras para tu proyecto). 

Pero antes de crear cualquier geometría nos aseguraremos de tener activada la opción Grid en el apartado de Viewport Overlays (a fin de que la retícula de Blender esté visible en vistas ortográficas), y la herramienta Snap (que nos ayudará a crear mallas con tamaños más exactos). 

Grid and Snap options

Una vez verificadas ambas opciones, procederemos con la creación de un plano. Para ello, utilizamos el atajo de teclado Shift + A y seleccionamos la opción Mesh -> Plane

Plane creation
Plane created

En Edit Mode, presionamos 1 en el teclado numérico para ubicarnos en una vista frontal ortográfica, y rotamos el plano en el eje X 90°.

Plane rotation

Luego, presionando la tecla G movemos el plano en el eje Z para que quede justo encima del eje X

Moving the plane

Posteriormente modificamos su arista superior para llevar su altura a 3 metros.

En Blender, cada cuadrado visiblemente más grande representa 1 metro, mientras que cada cuadradito que lo compone representa 10 cm. Como tenemos activa la opción Snap notaremos que los movimientos de la geometría realizados se ajustan a la cuadrícula siendo estos más precisos.

Displacement of upper edge

Duplicados de la pared

 

De nuevo en Object Mode, duplicamos nuestra pared con el atajo de teclado Shift + D. Y volviendo a Edit Mode, movemos los duplicados hacia un lado.

Duplicates

Creación del espacio para la puerta

 

Una vez que ya tenemos nuestras paredes creadas, es hora de definir la pared correspondiente a la puerta de la habitación.

Para ello, tomamos una de las paredes previamente creadas y le aplicamos algunos Loops con la combinación de teclas Ctrl + R, esto preferiblemente en vista ortográfica para controlar el tamaño del hoyo donde posteriormente estará nuestra puerta.

Wall loops

Hecho esto, seleccionamos la nueva cara creada y presionando la tecla X, elegimos la opción Faces y la eliminamos.

Face deletion

Creación del espacio para la ventana

 

Para ello, tomamos otra de las paredes creadas inicialmente y repetimos el procedimiento anterior.

En la actualidad las medidas de las ventanas son variantes, y los modelos de casa más modernos incluyen ventanales verdaderamente amplios. Sin embargo, para este caso emplearemos las medidas de 120cm de ancho por 120 cm de alto.

Al igual que el paso anterior, eliminamos las caras correspondientes al hoyo de la ventana.

Window face
Window hole

Creación de la habitación

 

Ya estando creadas nuestras 4 paredes,  las movemos y rotamos según corresponda para formar nuestra pequeña habitación.

En este punto podemos hacerlo con la herramienta Snap aún activa, ya que las paredes son del mismo tamaño. Pero en algunos casos en los que las paredes son de diversos tamaños y composiciones, es preferible desactivar esta opción y guiarse con el Grid.

Small Room

Creación del piso

 

Posterior a ello, creamos el piso, para lo cual usaremos nuevamente un plano, asegurándonos que cubra todo el espacio entre las paredes. Presionando 7 en el teclado numérico, obtendremos una vista ortográfica superior donde podemos constatar que el piso encaje correctamente.

Floor creation
Floor location with front view
Floor location - perspective

Creación del techo

 

En este caso, duplicamos el piso y con la vista frontal ortográfica subimos la copia hasta que cubra la parte superior de las paredes.

Moving the ceiling
Ceiling at the top

Verificación de las normales

 

En este punto con la habitación creada, es importante verificar que las caras visibles de las paredes, el techo y el piso, están todas hacia el interior. Esto es importante, ya que no sólo asegura que el jugador dentro del cuarto podrá ver el interior del mismo, sino porque además esto favorece el rendimiento del proyecto.

Imaginemos que estamos creando una casa con diversas habitaciones, sala, comedor y cocina. Haciéndolo de este modo, no habrá geometría innecesaria en escena, ya que las caras posteriores no serán mostradas entre un cuarto y otro, por lo que el número de vértices de la casa completa se reducirá considerablemente.

Para verificar las normales, en el menú Viewport Overlays marcamos la opción Face Orientation. Las caras de color azul serán visibles y las caras de color rojo no se mostrarán.

Face orientation option

Si tenemos alguna cara externa de color azul, bastará con seleccionar la o las caras y  acceder a la opción Mesh -> Normals -> Flip

Flip option
Correct orientation

Renombrado y ubicación

 

Es importante colocar un nombre a cada pieza de nuestra habitación, así sabremos a qué parte corresponde cada  geometría. En nuestro caso, uniremos las piezas que corresponden a las paredes y dejaremos por separado el piso y el techo.

Así, en Object Mode seleccionamos las paredes y presionamos el atajo de teclado Ctrl + J. Y lo renombramos “walls”

Joining walls

Luego, renombramos los planos correspondientes al techo y al piso.

Geometry renaming

Adicionalmente, será importante ubicar el modelo justo en el centro del pivote. Así aseguramos que al exportarlo a Unreal Engine toda la geometría mantendrá su posición. 

Center Pivot

Creación de colisiones

 

Para crear las colisiones, crearemos una nueva colección llamada Collisions. Y en Object Mode seleccionaremos todos los elementos de la estructura de la casa y los duplicaremos. Ese duplicado lo moveremos en su totalidad hacia la nueva Colección creada.

Collision collection

Ahora bien, para que Unreal Engine reconozca las colisiones cada elemento que forma una pieza debe estar separado, y además cada uno de ellos debe ser renombrado con el prefijo UCX seguido de underscore ( _ ), el nombre de la pieza tal cual como se llama en la estructura que acabamos de duplicar, otro underscore ( _ ) y por último un número consecutivo comenzando en 1.

Para separar cada parte, en Edit Mode seleccionaremos cada cara y luego presionaremos la tecla P

Face separation
Top face separation
Renaming of all separated faces

Si no se hace de este modo, y utilizamos la colisión que Unreal Engine crea por defecto al importar el objeto, toda la casa será tomada como un gran cubo, donde todas las paredes formarán una colisión sólida sin considerar el espacio de la puerta.

Aplicando el modificador Solidify

 

Una vez renombrada cada pieza, como el propósito de éstas es que cada una sirva de muro invisible, agregaremos un poco de espesor a cada una.

Para ello, seleccionamos la primera pieza de la colección Collisions y le asignamos el modificador Solidify, cuyo parámetro de espesor lo dejaremos como viene por defecto.

Item selection
Solidify modifier

Luego, con la tecla Shift presionada, seleccionaremos todas las piezas restantes de la colección, asegurándonos que a la que le agregamos el modificador, sea la última en seleccionar. Ésta deberá mostrarse con un borde amarillo, mientras que el resto lo tendrá naranja.

Selecting all remaining parts

Posteriormente, usamos el atajo de teclado Ctrl + L  y seleccionamos la opción Copy Modifiers. De este modo, cada una de las piezas habrá adoptado el modificador Solidify.

Copy modifier

Exportación del archivo FBX

 

Para exportar la habitación, estando en Object Mode, y manteniendo presionada la tecla Shift seleccionamos todos los elementos que componen nuestro cuarto, incluyendo los duplicados para las colisiones.

Select all items

Seguidamente,  accedemos a la opción File -> Export -> FBX (.fbx)

Export FBX option

En la ventana que se despliega, seleccionaremos la ruta destino,  le daremos un nombre y en el apartado Include marcaremos la opción Limit to Select Object, además en el área Object Types marcaremos la opción Mesh.

Finalmente presionamos el botón Export FBX

Export options

Importación a Unreal Engine 5

 

Con el motor abierto, y habiendo seleccionado un entorno de desarrollo (en nuestro caso seleccionamos el de tercera persona para demostrar el funcionamiento de las colisiones), creamos una carpeta para importar nuestro objeto.

New folder

Seleccionamos dicha carpeta y hacemos clic en el botón Import.

Import Assets

En la ventana desplegada, seleccionamos el archivo a importar.

File selection

Al hacer clic en el botón Abrir se mostrarán las opciones de importación, con el objetivo de mantener las colisiones previamente creadas en Blender, lo más importante será desmarcar la opción Generate Missing Collision que estará marcada por defecto. Posterior a ello, hacemos click en Importar.

Generate missing collision option

Una vez importados nuestro objeto, podemos hacer doble clic sobre el static mesh «room_walls« para inspeccionarlo.  

En la ventana que se despliega, seleccionamos la opción Show -> Simple Collision y podremos notar como se ha respetado el espacio de la puerta en nuestras colisiones. 

Simple collision option
Collision door hole

Posteriormente, cerramos la ventana anterior y arrastramos los objetos importados a la escena, para finalmente hacer clic en el botón Play.

Drag mesh and play

Hecho esto y al desplazarnos por el escenario; notaremos que las colisiones funcionan, logrando acceder al cuarto solamente a través del agujero de la puerta. Además, el interior de la habitación es la única parte visible.

Testing

Y eso es todo, esperamos que este pequeño tutorial sirva de introducción a la creación de estructuras más complejas y que los pasos aquí explicados hagan más sencillo el proceso.

Acá dejamos el video con el proceso completo:

Gracias por leernos, hasta una próxima entrega.