(+34) 958084455 informacion[arroba]academiaandroid.com
Creando Escena Con Pinceles Terrain En Unity

Creación y configuración de un terreno en Unity 3D

Post Series: Conociendo Unity 3D (III)

Una vez presentados los elementos básicos del motor de juegos Unity (Assets, GameObjects, Componentes), es el momento de ver más detalladamente la configuración de los objetos que utilizaremos en nuestros videojuegos 3D.

Comenzaremos viendo cómo diseñar y construir un escenario, que será el lugar donde se desarrolle la acción de nuestro videojuego. Explicaremos las posibilidades que nos ofrece el objeto ‘Terrain‘ (terreno) de Unity 3D para definir dimensiones, configurar su orografía (montañas) o añadir árboles y vegetación a la superficie. Podemos acceder a él a través del menú GameObject > 3D Object > Terrain.

Ruta en el menú Unity opción Terrain

En la siguiente imagen se mostrará como al seleccionar esta opción, se añade a la escena un GameObject denominado Terrain, que establece la base inicial para la creación del escenario:

Terrain en Unity 3D

Posteriormente, centraremos nuestra atención en la ventana inspector del objeto Terrain, y más concretamente en el componente Terrain (Script), para entender cada una de las herramientas disponibles para la edición del terreno.

Nota: el objeto Terrain aparece etiquetado como (Script) para versiones anteriores de Unity, no para la 5.0

Inspector Terrain

Si posicionamos el cursor sobre el objeto Terrain en la escena, con cualquiera de la siguientes opciones seleccionadas Botones Altura Terrain, se mostrará un foco sobre dicho terreno, que indicará la zona donde se aplicará la herramienta que estamos usando.

Creando escena con pinceles Terrain en Unity

Altura del terreno

A continuación, se describirán las opciones destinadas a cambios en la altura del terreno:

  1. Raise/Lower Height: esta opción permite pintar sobre la superficie, aumentando la altura del terreno a medida que se mueva el cursor sobre la zona con el botón izquierdo del ratón pulsado. Si se desea disminuir el tamaño de una determinada estructura, bastará con pulsar la tecla shift a la vez que se realiza la misma operación descrita con anterioridad. Además es posible cambiar de pincel (brushes) para visualizar efectos variados en la superficie, e inclusive modificar los ajustes del pincel seleccionado para aumentar o disminuir el tamaño o la intensidad del efecto.

Elevar-Reducir alturas del terreno
2. Paint Height: muy similar a la herramienta anterior, pero que proporciona un ajuste para establecer una altura predeterminada, que aplicado a zonas que estén por encima de ese valor se reducirán, y en aquellas que estén por debajo aumentará su altura.

Estableciendo alturas del Terreno
3. Smooth Height: permite suavizar zonas cercanas para visualizar terrenos menos abruptos, proporcionando una superficie más constante. Además, si se diseñan efectos con pinceles más llamativos, esta herramienta permite suavizar los trazos dibujados.

Suavizado de alturas del terreno

Textura del terreno

Como se ha podido visualizar en el apartado anterior, el terreno implementado no tiene ninguna textura asociada a la superficie, por lo que vamos a ver los pasos para asignar una textura disponible en los recursos del proyecto y que podemos ver representados en la secuencia de imágenes de abajo:

  • Desde la herramienta de pincel, y pulsando el botón “Edit Textures”, accedemos a una nueva ventana que permite añadir texturas al terreno implementado
  • Pulsamos el botón “Select” de la casilla “Texture”, y accedemos a las texturas disponibles en el proyecto (dependerá de los Assets que hayamos importado)
  • Una vez se ha localizado la textura que se desea aplicar a la superficie, se pulsa en el botón “Add” para visualizar en la escena el nuevo diseño aplicado.

Asignando texturas al terreno en Unity

Árboles en el escenario

Otra de las herramientas disponibles en Unity para la creación de escenarios, es la opción de poder añadir árboles al terreno creado. Para ello seguimos los siguientes pasos, muy similares a cuando asignamos una textura a la superficie:

  • Activamos la siguiente herramienta Herramienta árbol en Terrain-Unity, y pulsamos el botón denominado Edit Trees.
  • Posteriormente, seleccionamos el icono situado a la derecha del campo Tree (el campo Bend Factor hace referencia al factor de curvatura con el que responderá el árbol ante al viento), mostrando una nueva ventana con los diferentes recursos/opciones que tenemos en el proyecto (dependerá de los Assets que hayamos importado al mismo).
  • Tras seleccionar uno de los elementos disponibles, se pulsará en el botón Add para que esté disponible desde el editor Unity
  • Ya podemos añadir árboles al terreno con tan solo hacer click con el botón izquierdo sobre la superficie.

A continuación, se describirán las diferentes propiedades que permitan controlar como pintar los elementos en el escenario:

Propiedad Función
Brush Size Tamaño del área para el dibujado de árboles.
Tree Density Número de árboles que se dibujarán en una determinada área.
Color Variation Permite definir un rango de valores para el color del árbol.
Tree Height Controla la altura del árbol a dibujar. Se define la propiedad variation para establecer un rango de alturas para el árbol diseñado.
Tree Width Controla el ancho del árbol a dibujar. Se define la propiedad variation para establecer un rango de anchura para el árbol diseñado.

Crear árboles en el terreno en Unity

Herramienta de hierba y otros detalles

Desde esta herramienta, es posible crear en la superficie del terreno una capa de hierba o arbustos, que proporcionan mayor realismo a los escenarios. Para ello, realizamos nuevamente los pasos que son similares a los que vimos para texturas o árboles:

  • Activamos el icono Botón para detalles césped en Terrain-Unity y seleccionamos el botón Edit Details… en la ventana inspector.
  • Se mostrará una ventana denominada Add Grass Texture, en la que seleccionaremos el icono situado a la derecha del campo Detail Texture
  • Se nos mostrará una nueva ventana con una colección de texturas 2D (el número y variedad, dependerá de los Assets de texturas que hayamos importado al proyecto), de las que deberemos seleccionar una.
  • Una vez seleccionada, pulsamos el botón Add, y ya será posible realizar click con el botón izquierdo del ratón sobre el terreno para añadir hierba/césped a la superficie.

Crear hierba en Terrain-UnityA continuación, se describirán las diferentes propiedades que pueden definirse para la textura añadida para la hierba:

Propiedad Función
Min Width, Min Height, Max Width y Max Height Valor mínimo y máximo, tanto de la anchura como de la altura asociada a la hierba.
Noise Spread Controla el tamaño aproximado de los parches que se alternarán, a partir de un área seleccionada.
Healthy Color y Dry Color Muestran la salud de las matas de hierba caracterizadas por su color (sanas y secas).
Billboard Al activar esta opción, las imágenes de hierba van a rotar para situarse de frente a la cámara. Es una opción muy útil para mostrar un campo más denso, sin la posibilidad de visualizar las matas de hierba de lado.

Ajustes generales y de renderización

Vamos a ver los diferentes ajustes generales para los elementos que se definen en un terreno:

Settings para elementos de un terreno en Unity

 

Base Terrain

Propiedad Función
Pixel Error Precisión al renderizar los mapas del terreno (texturas, heightmap etc.).
Base Map Distance Distancia máxima para mostrar las texturas completas el terreno. Al superar el valor indicado se utilizarán imágenes de baja resolución para una mayor eficiencia.
Cast Shadows Proyección de sombras en el terreno.
Material Material seleccionado para renderizar el terreno. Se seleccionarán de los recursos disponibles del proyecto. Unity proporciona un editor desde el menú **Assets > Create > Material**.
Physics Material Establece las físicas de fricción y rebote del terreno. Unity proporciona un editor para la creación de físicas propias a través del menú **Assets > Create > Physics Material**.

Tree and Detail Objects

Propiedades asociadas al diseño de árboles en el terreno.

Propiedad Función
Draw Al activar esta opción se dibujan los recursos añadidos al terreno (árboles, hierba/césped etc.).
Detail Distance Distancia a la cámara para eliminar los detalles del árbol.
Detail Density Permite establecer el nivel de detalle asociado a un objeto, que al disminuirlo reduce la sobrecarga de renderización.
Tree Distance Distancia desde la cámara para la eliminación de los árboles.
Billboard Start Distancia desde la cámara para la sustitución de árboles 3D por imágenes planas.
Fade length Distancia en la que se intercambiarán imágenes planas con árboles 3D.
Max Mesh Trees Número máximo de árboles 3D dibujados, que al ser superado se establecerán imágenes planas.

Wind Settings

Propiedades asociadas a la influencia del viento sobre la hierba.

Propiedad Función
Speed Velocidad del viento sobre la hierba situado sobre el terreno.
Size Tamaño de la onda que se genera al incidir el viento sobre la hierba en un determinado área.
Bending Grado de inclinación del objeto hierba al repercutir sobre ellos el viento.
Grass Tint Tono de color aplicado a la hierba cuando se mueve por acción del viento.

Resolution

Propiedades generales del terreno.

Propiedad Función
Terrain Width Tamaño del terreno en su eje X.
Terrain Length Tamaño del terreno en su eje Z.
Terrain Height Tamaño del terreno en su eje Y.
Heightmap Resolution Resolución en pixeles del terreno, cuyo valor deberá ser potencia de dos y sumarle una unidad. Como ejemplo 257 = 256 + 1.
Detail Resolution Define la resolución del mapa para construir áreas más pequeñas y con mayor detalle.
Detail Resolution Per Patch Largo o ancho de la cuadricula en una sola llamada de dibujo.
Control Texture Resolution Resolución que controla el cambio de texturas del terreno.
Base Texture Resolution Resolución básica de la textura a utilizar cuando se supera una determinada distancia definida en la propiedad Base Map Distance.

 

Además desde esta herramienta es posible acceder a los botones Import Raw y Export Raw, que permiten exportar o importar el terreno creado en un archivo con formato RAW (por ejemplo con el software para creación de paisajes 3D Bryce) y poder editarlo con herramientas de terceros (por ejemplo Photoshop o Gimp).

 

En la próxima publicación mostraremos en un video cómo crear un paisaje con el objeto terrain.

 

This Post Has 5 Comments

Comments are closed.