# Blender 3D: novato a profesional/Modelando paisajes con mapas de altura

Este tutorial te enseñará a modelar terreno avanzado usando Blender y Gimp o cualquier otro software de edición de imágenes. Blender puede utilizar mapas de altura para crear mallas. Los mapas de altura son imágenes en blanco y negro de forma que el blanco representa el punto más alto y el negro el más bajo.

## Creando el mapa de altura

Si no dispones de software de edición de imágenes para crear el mapa de altura, puedes saltarte esta sección. En la siguiente sección se muestra como crear una textura de "nube" aleatoria en Blender.
Para este tutorial veremos como se crea el mapa de altura en Gimp, pudiendo variar el procedimiento para otros programas.
Para comenzar, abre Gimp. Seleciona Archivo → Nuevo, para crear una imagen con 1600 de anchura y 1200 de altura. Ve a Filtros → Renderizado → Nubes → Plasma. Para este ejemplo puedes utilizar los valores predeterminados. Haz click en Aceptar. Deberias tener ahora una imagen en color, pero lo que buscamos es una imagen en blanco y negro, así que selecciona Colores → Mapa → Mapa de degradado, y convertirá la imagen en blanco y negro.
Salva la imagen como PNG o JPEG.

## Crear la malla y añadirle la imagen como textura

Abre Blender y elimina el cubo por defecto. Crea la malla (Add → Mesh → Grid) con resolución 32x32. No escales la malla, haz zoom si quieres ver más de cerca la malla. Se explicará después porque no se debe escalar la malla ahora.
Haz click en F5 para ir al panel Shading.
De forma predefinida el botón Material (botón con una bola roja) estará seleccionado, sino lo está, haz click en él. Si esta ventana tien una panel Preview que está vacío busca a la derecha el panel Links and Pipeline. Verás un botón Add New debajo de Link to Object, haz click en él. Deberían aparecer 3 paneles más al hacerlo. Ahora debes buscar el botón de Texture, que está justo a la derecha del botón de Material y es amarillo y negro, también puedes hacerlo pulsando F6. En estos momentos apareceráán 2 nuevos paneles llamados Preview y Texture, en el panel Texture encontrarás un botón Add new , hazle click. Donde estaba el botón aparecerá un campo textual con un texto similar a "TE:Tex.001", haz click en el campo textual y sustitúyelo por "altitud". Abajo a la derecha encontrarás un menú desplegable que te permite escoger tipo de textura, selecciona Image. Aparecerán 2 paneles más, siendo el de más a la derecha el panel Image que tendrá un botón Load.
Antes de cargar la imagen echa un vistazo al panel Map Image. En el centro del mismo habrá 5 botones: Extend, Clip, ClipCube, Repeat y Checker. Selecciona Clip o tu mapa de altura puede dar la vuelta alrededor de la malla. Haz click en Load y cargarás el mapa de altura que creaste en tu software editor de imágenes favorito.
Si lo que quieres usar es una imagen tipo nube aleatoria puedes hacerla desde el propio Blender, al añadir una textura, en el menú donde seleccionas Image, selecciona Clouds en vez y altera los parámetros como quieras.
Haz click en el botón Material otra vez (el botón con la bola roja) y mira el panel Preview. Si sólo aparece una bola de color negro haz click en el botón más arriba a la derecha de la bola negra.

## Usar la textura como mapa de altura

Arriba a la derecha en el panel de más a la derecha, la ventana tendrá 3 paneles titulados Texture, Map Input and Map To. Haz click en el panel Map To. Aparecerán un montón de botones:
* Todos los botones deberían estar desactivados, ya que queremos usar la textura para modificar la geometría de la malla, no pintarla.
Ve a la ventana Edit (F9) y entra en modo edición (TAB) si estas en modo objeto. Ve a la vista frontal o lateral para tener una buena visión de lo que haces. Asegurate de que todos los vértices que quieres modificar están seleccionados (tecla A para todos los vertices, podría tener sentido dejar algunos vertices sin marcar, pero normalmente bastaría con dejar la zona del mapa de altura que les corresponde en blanco para conseguir lo mismo). Haz click en el botón Noise en el panel Mesh Tools (está en la esquina superior izquierda del panel) y tu malla empezará a cambiar de forma.
Continúa haciendo click en el botón Noise hasta que el terreno haya alcanzado la altura que quieras y ya habrás hecho un terreno usando mapas de altura. Puede que quieras hacerle subsurf a la malla para conseguir un efecto más suave.

## Notas:

* Si quieres un paisaje más aspero basta con ajustar el contraste en el software de edición de imágenes.
* Una vez hayas acabado de usar el botón Noise del panel Mesh Tools, la textura ya no será necesaria: el efecto sobre la geometría de la malla es permanente. Por lo tanto, si la memoria para texturas es muy limitada, puedes eliminarla. Se aconseja sin embargo conservarla tal cual por si se hace necesario repetir el proceso en el futuro. Si quieres usar otro tipo de texturas (Color, Normal maps ...), puedes usar la imagen como referencia (por ejemplo en una capa de fondo en el programa de edición de imágenes), pero no deberias alterar la imagen.
* Los mapas de altura también se pueden utilizar para hacer paisajes de ciudad. Dibuja cuadrados blancos sobre un fondo negro. Si haces esto asegurate de que los cuadrados son exactamente paralelos a los bordes de la imagen para prevenir fallos en los bordes de los edificios. Puedes usar cuadrados grises para ajustar las alturas de los distintos edificios.
* El botón "Noise" desplaza los vértices sólo en el eje Z del objeto. Para deformar la malla en otras dimensiones, simplemente rota el objeto con "aply rotation" o rota los vértices en el modo edición y aplica ruido (Noise). Rota al acabar para devolver al objeto a su orientación original.
* El botón "Noise" modifica tu malla permanentemente de acuerdo con la textura del material. Cada click modifica más la malla. Para conseguir un efecto temporal, mapea la textura a Displacement para conseguir un efecto que sólo afecte al renderizar (y no pulses para nada el botón "Noise"). En los modos objeto y edición la malla aparecerá normal pero al renderizarla se observarán las deformaciones.