Crear terrenos personalizados con Blender y exportarlos al game engine

crear terrenos personalizados con Blender
Tutorial creado por Kaito.

Se utilizaran muchas referencias al inglés, ya que lo generalizado es el uso de anglicismos en foros y tutoriales.

Abreviaturas utilizadas:
Bcr – botón/rueda central del ratón.

Bir – botón izquierdo del ratón, bdr – botón derecho del ratón.

En este ejercicio voy a crear un terreno, desde Blender, dándole diferentes formas para que no sea el característico suelo liso, y posteriormente voy a exportarlo para ser utilizado en un Game Engine.

Voy a utilizar 5 diferentes tipos de texturas para mapear la malla. Para modificar estas texturas he utilizado Paint. Net. Las texturas originales de 1024 por 1024 han sido reducidas a 256 por 256 que consume menos recursos de memoria. Además, el formato original.dds ha sido modificado a (*.bmp).

A continuación comento el proceso. Desde el editor gráfico (en este caso Paint. Net) puedes visualizar varias texturas a la vez utilizando un navegador con vistas en miniatura que lleva incorporado.

Por ejemplo, selecciona con el bir varias texturas.

O imágenes desde el explorador de Windows manteniendo pulsada la tecla control (Control) y pulsa con el bdr sobre la selección para desplegar el menú de opciones donde seleccionamos la opción abrir con el bir.

Pulsa con bir sobre una vista en miniatura, para seleccionar la imagen.


Si mantienes el puntero del ratón sobre la vista en miniatura, aparece el símbolo x para eliminar esa imagen del navegador, sin eliminar el archivo.

Necesitamos configurar todas las texturas al mismo tamaño (en este caso, 256 por 256) para poder combinarlas con mayor facilidad posteriormente. Para esto ejecutamos la orden del menú imagen->cambiar el tamaño. o pulsa Control + r.

En las imágenes inferiores muestro el proceso. Pulsa el botón aceptar para terminar.

Ya podemos guardar la imagen.

En el formato requerido.

Utilizaré como textura principal una porción de otra textura y le aplicaré una distorsión. Paint. Net tiene muchos efectos y ajustes muy intuitivos en su configuración y fáciles de utilizar.

Aplicaré el efecto distorsión–>cristal congelado.

Con la siguiente configuración. Pulsa aceptar para terminar. Si pulsas cancelar vuelve a su estado original y puedes probar otros ajustes o efectos.

Naturalmente hay que establecer su tamaño a 256 por 256 igual que el resto, ¿cómo se ha comentado anteriormente.

Ya podemos comenzar con Blender. Eliminamos el cubo de bienvenida pulsando la tecla suprimir y a continuación la tecla intro para aceptar.

Añadimos al escenario una malla (es decir, Mesh en inglés) del tipo plano (es decir, plane en inglés) que es una forma geométrica compuesta por 4 vértices (vertex en inglés) y una cara (side en inglés).

A continuación, pulsamos la tecla n o menú object->transform properties (es decir, propiedades de transformación) para que aparezca un formulario donde introducir las dimensiones de lo que será el terreno del juego, en este caso 40×40.

Para darle una forma irregular y no sea completamente liso, voy a subdividir la malla varias veces. Para hacer esto, con el objeto seleccionado (el plano en este caso), cambio a modo edición (es decir, Edit Mode) y ejecuto la orden especial llamada subdivide multi pulsando la tecla w para poder seleccionarla. Imagen derecha (algunas órdenes especiales no se encuentran en los barra de menús de la ventana 2).

En este primer proceso voy a hacer una subdivisión para darle una forma general al terreno. Luego iré subdividiendo por zonas conforme sea necesario para no elevar demasiado el número de polígonos. Configuro el número de subdivisiones a 3. (number of cuts, es decir, número de cortes).

Este sería el resultado:

Ahora desde el modo selección de vértices, puedes seleccionar uno a uno (todos los que sean necesarios) o mediante la orden border select pulsando b (o dentro del menú select), y modificar su altura (eje z, representado por la flecha azul). Utiliza el formulario transform properties (pulsa tecla n) para una manipulación más precisa.

En el ejercicio voy a seleccionar con la orden border select los vértices centrales y voy a desplazarlos ligeramente hacia abajo (eje z).


Ahora desde modo selección de aristas, puedes desplazar las aristas para crear superficies más amplias donde colocar edificios o cualquier otra cosa relacionada con el juego. Modificamos el eje X (de color rojo) o el eje y (de color verde). Puedes hacerlo con el puntero del ratón directamente.

Sin necesidad del formulario.

También, voy a crear un acantilado por la parte oeste en el perímetro del terreno. Para hacer la subdivisión voy a utilizar la orden Knife subdivide (es decir, subdividir a cuchillo) donde es necesario tener seleccionadas las aristas en las que se realizara la subdivisión con anterioridad.

Seguimos en modo selección de aristas. deselecciono todo pulsando a para utilizar la orden borden select pulsando b. Imagen siguiente.

Ejecutamos la orden desde el menú Mesh->Edges->Knife subdivide o pulsa mayúsculas+k.

A continuación, saldrá un menú de opciones (no muevas el ratón demasiado rápido o desaparecerá) y seleccionamos el tipo de corte (es decir, Cut Type) línea exacta (es decir, exact line).

La imagen muestra el producto final.

Es opcional, pero voy a redondear el ángulo de una arista. Desde modo selección de aristas selecciono la arista a modificar y le aplico la orden especial subdivide multi con un parámetro de 3 cortes. Luego desde modo selección de vértices desplazo la posición en el eje X o y de los vértices recién creados. Este sería el resultado.

Ahora para formar el acantilado selecciono desde modo selección de caras las caras que ocupan la zona exterior del acantilado, seleccionándolas una a una con el bdr mientras mantenemos pulsada la tecla mayúsculas. Imagen inferior.

Después, invertimos la selección ejecutando la orden del menú select->inverse o pulsa Control + i.

Ya tenemos seleccionado lo que será la meseta. Sólo falta realizar una extrusión.

La selección la he realizado de este modo porque me parecía más sencillo así. Y también, para ver más funciones de Blender.

Antes de realizar la extrusión, voy a abrir el formulario transform properties para ver la posición de la selección, porque la extrusión no será vertical totalmente, sino inclinada porque el punto medio de la selección coincide con una cara de la malla con pendiente (probar y ver imagen para entender mejor).

Pulsamos e para extruir y a continuación seleccionamos la opción region en el menú de opciones que, aparece (este proceso ha sido tratado en otros ejercicios). Este sería el resultado:

En la extrusión sólo debería cambiar el valor de z (la altura o nivel), pero en este caso por la razón que se ha comentado anteriormente también se ha modificado x e y. Copiamos los valores iniciales de x e y al formulario.

Seguidamente, voy a redondear el borde del acantilado creando un bisel. Para esto desde el modo selección de aristas selecciono las aristas de dicho borde, mediante la orden border select (pulsa b) desde la vista front. Imagen inferior:

Apreciaras, que al mover el ratón para ajustar el biselado las variaciones son poco precisas y cuesta ajustar el bisel. Para remediar esto mantén pulsada la tecla mayúsculas mientras mueves el ratón y las variaciones serán más pequeñas permitiendo modificar con mayor precisión el bisel. Este sería el resultado:

Vuelvo a seleccionar las aristas del borde del acantilado para bajarlas de nivel o altura. Imagen inferior.

Elimino las caras laterales del terreno producidas durante la extrusión. Selecciona desde modo selección de caras y pulsa la tecla X o suprimir. A continuación, en la lista de opciones selecciona Faces (es decir, caras).

Ahora voy a realizar el surco de un camino que llegara hasta el emplazamiento del pueblo. Primero selecciono las caras del terreno por dónde pasara el camino. Y luego, con la orden Knife subdivide cómo se ha comentado anteriormente trazo las direcciones del camino.

Desde modo selección de aristas selecciono las aristas recién creadas para aplicarle un biselado (comentado anteriormente).

Hay que terminar de seleccionar manualmente las aristas que forman el camino una a una hasta obtener un aspecto parecido a éste (con mayúsculas+bdr).

Entonces ya podremos bajar su altura o nivel. También se puede ajustar la altura de algunos vértices (señalados en la imagen inferior) desde modo selección de vértices para suavizar la forma de la malla y evitar demasiado aspecto filoso.

Finalmente, crearé una cordillera. Habrá que realizar numerosas subdivisiones en las caras que ocupen las montañas o colinas para evitar el aspecto filoso todo los posible sin elevar demasiado el número de polígonos. Utilizaré la función subdivide multi comentada anteriormente.

Para crear montañas o colinas se utiliza la función proportional edit fall of (es decir, edición proporcional de caída). Existen varios tipos de edición proporcional para dar forma al relieve.


Desde modo selección de vértices, selecciono el tipo root fallof (ver imagen superior). Selecciona el vértice que ocupara el eje central de la colina o montaña con el bdr. A continuación, selecciona con el bir la flecha azul que representa el eje Z y desplázalo hacía arriba. Luego, girando la rueda central del ratón se establece la base.


He utilizado casi todos los tipos de fallof (el random, sphere y linear fallof) y el resultado ha sido este:

He reservado un espacio para posibles acciones del juego donde se pueden reducir el número de polígonos seleccionando grupos de vértices y aplicando la orden del menú Mesh->Edges->
Collapse (es decir, colapsar). Primero seleccionamos los vértices internos.

Luego se seleccionan los vértices situados en el borde.


También he situado los 4 vértices del nuevo área creada al mismo nivel (valor eje z) desde el formulario transform properties, pulsa n.

Al biselar (bevel) se suelen generar vértices dobles, que deben ser removidos o eliminados. Para esto, selecciona toda la malla (pulsa a) y ejecuta la orden del menú Mesh->vértices->remove doubles (es decir, remover dobles).

Durante este proceso se han eliminado 8 vértices.

Antes de seguir con el mapeado, vamos a crear un material desde el panel de la ventana 3 Shading->material.

Y marcamos la opción Textface para asignar al material la textura del mapeado.

Para realizar el mapeado (es decir, UV unwrap) cambio una de las vistas a la ventana UV/Image Editor.

A continuación, debemos seleccionar toda la malla (pulsa a hasta seleccionar todo) para aplicar el mapeado desde la vista top (sitúa el puntero del ratón en la vista top y pulsa la tecla u). Selecciona en la lista que aparece la opción Project from view (Bound).

Ahora, desde la ventana del UV/Image Editor abrimos la textura principal, con la orden del menú image->open.

Ya tenemos mapeada con la textura principal toda la malla. Para aplicar diferentes texturas en diferentes partes de la malla, voy a pintar el contorno de las diferentes zonas del terreno para después desde el Paint. Net mezclar las diferentes texturas en una sola.

Durante este procedimiento debemos estar en modo edición y con toda la malla seleccionada para que se muestre dibujada todas las aristas sobre la textura en la ventana UV/Image Editor. Luego pinchamos sobre el botón enable image painting (es decir, activar pintado de imagen). Éste sería su aspecto.

Al activar la función de pintado sobre la textura, las aristas de la malla son de color grisáceo y no se distinguen bien entre la textura. Existe un botón que muestra el canal alpha de la textura y ayudará a solucionar este problema.

Iremos pintando en la ventana del uv/editor, y observando los cambios en la vista top. Naturalmente, puedes desactivar mostrar canal alpha y pintar desde el modo normal (pulsa con el.

Bir en el botón

Que se encuentra a la izquierda del botón que muestra el canal alpha).

Si te equivocas, éste proceso no se puede deshacer y deberemos volver a abrir la textura con la orden del menú image->reload (es decir, recargar), con lo que perderemos todos los cambios.

Para evitar pérdidas de tiempo innecesarias, conforme vayamos trazando iremos guardando los cambios en la textura con la orden del menú image->save (es decir, guardar), que también se observa en la imagen superior. Aunque con la práctica casi no lo necesitaras.

Al finalizar, guardamos los cambios con la orden save anterior. Este sería el resultado:

Volvemos al editor gráfico Paint. Net donde abrimos la textura principal. Seguidamente, seleccionamos con la varita mágica (tiene ese nombre) el trazado blanco realizado, para poder eliminarlo pulsando la tecla suprimir.

Al suprimir el área seleccionada obtendríamos éste resultado. Aprovecho para presentar la ventana de gestión de capas, que será utilizada para fusionar las diferentes texturas.

Empezaré por texturizar la zona del acantilado. Seleccionamos del mismo modo con la varita mágica (en todo momento se a aplicado con la tolerancia del 50% por defecto, puede ocurrir que en diferentes texturas haya que modificar éste parámetro).

Para abrir la textura del acantilado ejecutamos la orden del menú capas->importar desde archivo.

Observamos que la imagen importada se encuentra en otra capa, y se ha colocado encabezando la lista. Hay que situarla detrás de la textura principal.

Este no es el resultado que estamos buscando, hay que seleccionar la parte de textura que no se necesite y eliminarla. Para ver solo la textura de fondo, desmarcamos la capa que contiene la textura principal.

Entonces sí podremos continuar.

Eliminamos la zona seleccionada (pulsa tecla suprimir). Marcamos la capa que contiene la textura principal para ver el resultado de la combinación. Para deshacer los cambios pulsa Control +z.

Una vez conseguida la forma necesaria, combinamos ambas texturas seleccionando la primera capa (la capa seleccionada tiene un fondo azul) como muestra la imagen inferior.

Conociendo esto, continuamos aplicando el resto de texturas. No voy a comentar el resto del proceso, tan sólo incluiré imágenes.


La zona que comprende las montañas del terreno voy a suprimirlas manualmente con la función borrador. Puedes hacer un zoom manteniendo pulsada la tecla control mientras giras la rueda del ratón o pulsando con el bir sobre , para borrar con mayor precisión.

Este sería el resultado una vez combinadas todas las texturas. Finalmente, han sido 6 texturas.

Para suavizar los contornos que separan todas las texturas puedes aplicar un efecto o ajuste general o aplicarlo por zonas. Si se aplica por zonas, se pueden utilizar 4 tipos diferentes de selección: rectangular, del tipo lazo, circular o elipse, de color(varita mágica). También es aconsejable realizar un zoom sobre la textura para mayor precisión.

Mantén pulsada la tecla control mientras realizas las diferentes selecciones hasta completar todos los contornos de las texturas, si se produce un error de selección, pulsa Control + z para deshacer el último cambio.

He aplicado el efecto cristal congelado visto anteriormente.

Guarda los cambios realizados en Paint. Net para finalizar con el editor gráfico.

Volvemos a Blender. Si has mantenido abierto todo este tiempo Blender deberás ejecutar la orden del menú image->reload (es decir, recargar) desde la ventana del UV/Image Editor.

Si cerraste Blender y ahora lo has vuelto a abrir el proyecto ya se habrá aplicado la textura principal.

Todavía podemos mejorar el proyecto retocando la cima de las montañas. Para esto, cambiamos al modo texture Paint (es decir, pintar textura).

Aquí os dejo una imagen descriptiva.

Desde este modo sí que se pueden deshacer los cambios.

Para guardar los cambios en la textura hay que ejecutar la orden image->save desde la ventana del UV/Image Editor cómo se comentó anteriormente. (sale un mensaje de confirmación save over, es decir, guardar encima).

Antes de finalizar con el modo texture Paint, comentar que si pulsas con el bdr sobre una parte del terreno o textura se selecciona ese color automáticamente, y es utilizado mientras pintas con el bir. También puedes configurar manualmente el color y otros parámetros desde el panel editing de la ventana 3, en la pestaña Paint.

Sólo falta exportar el modelo 3d al formato DirectX (.x) reconocido por la mayoría de Game Engines.

Importante: guardar el archivo (.x) en la misma carpeta donde se encuentre la textura principal.

Ver más sobre el tema y los comentarios en el foro