Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Game Development
  2. Unity
Gamedevelopment

Herramientas del motor Unity Terrain

by
Difficulty:BeginnerLength:LongLanguages:

Spanish (Español) translation by Luis Chiabrera (you can also view the original English article)

Final product image
What You'll Be Creating

Unity es un motor de juegos multiplataforma desarrollado por Unity Technologies y se utiliza para crear videojuegos y aplicaciones para una multitud de dispositivos (PC, consolas, dispositivos móviles e incluso sitios web). Las principales ventajas de Unity son su robustez y portabilidad; Unity se dirige a varias API conocidas, como Direct3D, OpenGL, OpenGL ES y el reciente Vulkan.

Debido a las características antes mencionadas, Unity se ha vuelto cada vez más popular entre las casas de desarrollo de software de AAA y los aspirantes a programadores de juegos.

Unity admite varias tecnologías y componentes. Uno de los componentes clave es el sistema de motor de terreno. El sistema de terreno de Unity le permite crear vastos paisajes para sus juegos o aplicaciones. Puede usar una selección de herramientas disponibles para crear terrenos fácil y rápidamente.

Este tutorial se centrará en explicar cómo funcionan las herramientas de motor de terreno y cómo usarlas para crear entornos de terreno extensos y ricos.

Pre-requisitos

Primero, asegúrese de tener la última versión de Unity. En este tutorial estamos usando la versión 5.6. Asegúrese de estar utilizando la última versión de Unity; de lo contrario, puede encontrar pequeñas diferencias después del tutorial y el uso de las articulaciones físicas.

Para este tutorial, no usará ningún archivo de inicio. El objetivo es crear un nuevo proyecto y realizar el tutorial desde allí.

Las herramientas del terreno

El primer paso es crear un nuevo proyecto de Unity. Ahora agregue una nueva escena (Archivo> Nueva escena). La nueva escena ha sido creada con dos objetos de juego, la cámara principal y una luz direccional (Unity 5 agregará automáticamente una caja de cielo en la escena).

Ahora, para agregar un objeto de juego de terreno, ve al menú de GameObject y selecciona Objeto 3D> Terreno. Esto agregará un plano plano (llamado Terreno) en su escena. Este plano es la malla que vamos a esculpir para crear su terreno llano.

Terrain Tools - New Terrain

Si revisa su directorio de Activos (parte inferior de Unity), verá que se creó un archivo New Terrain.

Seleccione el Terreno y mire la pestaña Inspector. Verá que el relieve tiene tres componentes: Transformar, el guión de Terrain y el componente Terrain Collider.

Terrain Tools - Terrain Inspector

El componente de terreno le proporciona las herramientas que necesita para editar su terreno. Todas las herramientas en la barra de herramientas, a excepción de la herramienta de colocación de árbol y el panel de configuraciones, proporcionan un conjunto de "pinceles" y configuraciones para el tamaño y la opacidad del pincel, al igual que las herramientas de pintura de un editor de imágenes normal. Esto le permite esculpir su terreno de manera similar a una herramienta de pintura.

Si selecciona un pincel debajo del componente Terreno y el mouse sobre el terreno, verá un área azul proyectada en el terreno. Esto le permite conocer el área del terreno que afectará su pincel.

Como ya habrás notado, el Terreno es bastante grande. Para navegar por la escena, puede usar el mouse y el teclado. Dentro de la pestaña Escena, mantenga presionado el botón derecho del mouse (el cursor debe cambiar a un ojo).

Mientras mantienes presionado el botón del mouse:

  • Puede cambiar el ángulo de su vista moviendo el mouse.
  • Use las teclas W, S, A, D para moverse por la escena 3D.

Antes de comenzar a explorar las herramientas de terreno, echemos un vistazo a las propiedades del terreno. El último botón del componente Terrain (dentro del Inspector) le mostrará los parámetros básicos del terreno.

Terrain Tools - Terrain Properties

Las propiedades están divididas en secciones:

  • Terreno base
  • Objetos de árbol y detalle
  • Configuraciones de viento para hierba
  • Resolución
  • Mapa de altura

Dentro de la primera sección Base Terrain, encontrarás varias propiedades y parámetros.

La opción Draw activa o desactiva el renderizado del terreno. El error de píxel representa el valor de precisión de la asignación entre los mapas de terreno (por ejemplo, texturas, altimáps y terreno generado). Los valores más altos representan una menor precisión, y los valores más bajos darán como resultado una sobrecarga de procesamiento. Es su responsabilidad equilibrar este valor para crear un ambiente agradable y rico.

EL Base Map dist. es la distancia máxima a la que se mostrarán las texturas del terreno a máxima resolución. Puede activar o desactivar las sombras seleccionando Fundir sombras.

A continuación, tenemos material. Aquí configura el material que se va a utilizar para representar el terreno. Esto afectará cómo se interpretan los canales de color de una textura de terreno. Puedes elegir:

  • Built In Standard representa el material de Renderizado Físico que se introdujo en Unity 5. Si selecciona esta opción, para cada capa de splat, puede usar una textura para albedo y suavidad, una textura para normal y un valor escalar para ajustar la metalismo. Tenga en cuenta que si se selecciona "Sobrescribir suavidad", en lugar de leer los mapas de textura, la suavidad de todo el terreno se controlará únicamente por el valor de Suavidad.
  • Built-in Legacy Diffuse representa el material de terreno incorporado heredado de versiones anteriores de Unity (Unity 4 y versiones anteriores). Utiliza un modelo de iluminación Lambert y tiene soporte de mapa normal opcional.
  • Built-in Legacy Specular utiliza el modelo de iluminación Blinn-Phong (consulte este tutorial Unity 5 sobre rayos anterior), y tiene soporte de mapa normal opcional. Esta opción también le permite especificar el color especular general y el brillo del terreno.
  • La opción personalizada usa un material personalizado de su elección para renderizar el terreno. Este material debe ser un sombreador orientado a la representación del terreno. Esta es una opción que solo recomiendo a los usuarios avanzados. Sin embargo, si quieres probarlo, eche un vistazo al código fuente de algunos de los sombreadores de terreno incorporados y realice modificaciones sobre ellos.

También puede establecer Reflection Probes para algunos materiales, pero solo se usarán cuando utilice un material estándar incorporado o un material personalizado que admita la representación con reflexión. Las opciones para las sondas de reflexión son:

  • Desactivado: las sondas de reflexión están deshabilitadas, y solo se usará el skybox para la reflexión.
  • Sondas de mezcla: las sondas de reflexión están habilitadas. La mezcla ocurre solo entre las sondas. La reflexión predeterminada se usará si no hay sondas de reflexión cerca, pero no habrá mezcla entre la reflexión predeterminada y la sonda.
  • Mezcla de sondas y Skybox: las sondas de reflexión están habilitadas. La fusión se produce entre las sondas o sondas y la reflexión predeterminada.
  • Simple: las sondas de reflexión están habilitadas, pero no se producirá ninguna fusión entre las sondas cuando haya dos volúmenes superpuestos.

Finalmente, el último parámetro en esta sección es Grosor. Este valor especifica cuánto debe extenderse el volumen de colisión del terreno a lo largo del eje Y negativo. Los objetos se consideran colisionar con el terreno desde la superficie hasta una profundidad igual al espesor. Esto ayuda a evitar que los objetos en movimiento de alta velocidad penetren en el terreno sin usar costosas detecciones continuas de colisión.

La siguiente sección de configuraciones es Tree & Detail Objects.

La primera opción es dibujar. Aquí, puede establecer el dibujo de los detalles dentro o fuera. Básicamente, le dice al motor si quiere que dibujen árboles y hierba o no. A continuación, tiene Bake Light Probes para árboles. Si habilita esta opción, Unity creará sondas de luz en la posición de cada árbol. Las sondas se aplicarán a la representación de los árboles. Si deshabilita esta opción, los árboles seguirán siendo afectados por las sondas de grupos de luz. Tenga en cuenta que esta opción solo está disponible para árboles que tienen sondas de luz habilitadas en sus prefabricados.

La Distancia de detalle es la distancia desde la cámara más allá de la cual se eliminarán los detalles. La densidad de detalle representa la cantidad de objetos de detalle en una unidad de área determinada. Tree Distance representa la distancia desde la cámara más allá de la cual se eliminarán los árboles. El inicio de la cartelera es la distancia desde la cámara en la que los objetos del árbol 3D serán reemplazados por imágenes de la cartelera. La longitud de fundido representa la distancia sobre la cual los árboles harán la transición entre los objetos 3D y las vallas publicitarias. Finalmente, Max Mesh Trees es la cantidad máxima de árboles visibles que se representarán como mallas 3D sólidas.

Continuando, verás la sección Wind Settings for Grass.

La velocidad define la velocidad del viento cuando sopla hierba. El tamaño representa el tamaño de ondulación en áreas cubiertas de hierba. Doblar le permite definir el grado en que los objetos de hierba se doblan por el viento. Grass Tint le permite seleccionar el tinte de color general aplicado a los objetos de césped.

Dentro de la sección Resolución, encontrará varias propiedades de resolución, a saber, Ancho del terreno, Longitud y Altura. Los tres son muy explícitos de su significado. La resolución del mapa de altura es la resolución de píxeles del mapa de altura del terreno. Debería ser una potencia de 2 más 1, por ejemplo, 513, donde 512 es una potencia de 2, y se agrega 1.

La Resolución de detalles le permite definir la resolución del mapa. Las resoluciones más altas le darán parches de césped más pequeños y detallados. La resolución de detalles por parche establece la longitud y el ancho del cuadrado de parches procesados en una sola llamada de extracción. La resolución de textura de control es la resolución del mapa de splat que controla la combinación de las diferentes texturas del terreno. Finalmente, la resolución de textura base establece la resolución de la textura compuesta utilizada en el terreno cuando se ve desde una distancia superior a la distancia del mapa base.

La última sección es Heightmap. Aquí puede importar un archivo rawmap raw o exportar su terreno actual en un archivo rawmap raw. Esto puede ser muy útil si desea utilizar un software externo de terceros para interactuar con su aplicación o juego.

Herramientas de altura

Antes de pasar a las herramientas de altura, recuerde que primero debe establecer la configuración de resolución. De lo contrario, si intentas cambiarlos más tarde, se perderá toda la escultura del terreno.

Las primeras tres herramientas en la barra de herramientas de Terrain Inspector son las herramientas de altura. Estas herramientas se utilizan para pintar cambios de altura en el terreno.

Height Tools - Terrain Options

Proporcionan un conjunto de "pinceles" con configuraciones para Tamaño de pincel y Opacidad; estas herramientas son muy similares a las herramientas de pintura de cualquier editor de imágenes. Esto le permite pintar detalles en el terreno, como si estuviera pintando una imagen.

Height Tools - Brushes options

Si mueve el cursor a la pestaña Escena, verá un área azul proyectada en el terreno. Esto le permite conocer el área del terreno que afectará su pincel.

Height Tools - Cursor on the floor

La primera herramienta es subir / bajar la altura. Al pintar con esta herramienta, la altura del terreno aumentará a medida que pasa el mouse sobre ella. Si mantiene el mouse en un área en particular, la altura se acumulará. Tal efecto se puede visualizar en la siguiente imagen.

Height Tools - Raising the terrain

Para bajar el terreno, solo mantenga presionada la tecla Shift mientras pinta con la herramienta, y esto reducirá la altura de su terreno.

The second tool on the terrain editor is Paint Height. This tool is used to set a specific height for an area of the terrain.

Height Tools - Selection of STAR brush

Funciona de manera similar a la herramienta Subir / Bajar, pero tiene una propiedad adicional para establecer la Altura del objetivo. Puede seleccionar la Altura deseada al cambiar el valor del parámetro Altura. El botón Aplanar junto a la propiedad de altura nivelará todo el terreno a la Altura elegida.

Height Tools - Selection of STAR brush - Lowering terrain

Finalmente, la tercera herramienta es Smooth Height. Esta herramienta no aumentará o disminuirá drásticamente la altura del terreno; en su lugar, suavizará el paisaje y reducirá la apariencia de cambios abruptos. Esta herramienta es particularmente útil cuando ha pintado detalles usando uno de los cepillos más ruidosos, ya que estos cepillos tienden a crear rocas afiladas y dentadas en el paisaje, y puede usar esta herramienta para suavizarlos.

Height Tools - Soften tool

Ahora es el momento de tomarse un tiempo y crear su propio terreno esculpido. Intenta usar las tres herramientas antes mencionadas para crear un buen terreno de montaña.

Herramienta de textura de pintura

Con el terreno esculpido, es hora de texturizarlo.

Paint Texture - Texturing the terrain

Antes de continuar, debe importar los activos de entorno que están disponibles con Unity 5. Para hacerlo, seleccione Activos> Importar paquete y seleccione Entorno. Haga clic en Importar para importar todos los activos ambientales.

Terrain Tools - Importing Assets

Unity te permite pintar tus terrenos con texturas. Puedes pintar tu terreno con diferentes texturas en diferentes áreas. Por ejemplo, puede tener una textura para roca, otra para arena y otra para hierba. Las texturas se pueden aplicar con diferente transparencia, lo que significa que puede tener transiciones suaves entre dos texturas. Para lograr los mejores resultados, debe pintar su terreno con texturas perfectas.

Como habrá notado en la pestaña Inspector, la herramienta Pintar textura tiene varios pinceles y le permite cambiar el Tamaño del pincel, la Opacidad y la Intensidad del objetivo.

Paint Texture - Texturing with brushes

La primera vez que use la herramienta Textura de pintura, no habrá ninguna textura para elegir. Lo primero que debe hacer es agregar una nueva textura en su palet. Para hacer esto, haga clic en el botón Editar texturas y seleccione Agregar textura. Una ventana nueva aparecerá.

Texture Tool - New Texture

Como puede ver, en esta ventana puede seleccionar la textura que desea usar y su mapa normal, si tiene uno. Haga clic en el cuadrado debajo de la textura y seleccione su textura. Aparecerá una ventana para que pueda seleccionar la textura. Seleccione la textura SandAlbedo y haga clic en Agregar.

Texture Tools - Selecting the SandAlbedo Texture

Tu terreno ahora debe tener un aspecto de arena. Tenga en cuenta que siempre puede modificarlo en la opción editar textura, o eliminarlo.

Paint Texture - Textures

La primera textura que cree siempre debe ser la textura base para el terreno. La lista completa de texturas utilizadas en este ejemplo es:

  1. SandAlbedo
  2. GrassHillAlbedo
  3. GrassRockAlbedo
  4. MudRockyAlbedo
  5. CliffAlbedo

Todos ellos son parte de los activos importados del medio ambiente y se pueden encontrar de la misma manera que la textura SandAbedo. Adelante e importarlos a todos.

Paint Texture - Multiple textures types

Cuando tenga todas las texturas importadas, es hora de texturizar su terreno como lo desee. Selecciona una textura y pinta el entorno deseado. Un ejemplo de un mapa con textura es el siguiente.

Paint Texture - Preliminary textured terrain

Cuando esté satisfecho con el resultado, pase a la siguiente sección.

Herramienta de pintura de árbol

Ahora que tiene su terreno pintado, es hora de agregarle algunos árboles. Unity 3D le permite colocar árboles en su terreno de la misma manera que pintó las texturas. Mediante la configuración de carteles para árboles distantes, Unity mantiene un buen rendimiento de representación, permitiéndole tener bosques densos con miles de árboles.

Para comenzar a pintar árboles, seleccione su Terreno en la pestaña Jerarquía, y en la pestaña Inspector, seleccione el quinto botón.

Paint Tree - Paint tree tool

Similar a las texturas, también necesitas agregar los árboles. Haga clic en Editar árboles> Agregar árbol.

Unity le preguntará por el prefabricado del árbol que desea usar. Haga clic en el círculo pequeño y aparecerá otra ventana. Esta vez, le mostrará todos los prefabricados que tiene en su proyecto.

Trees - Select the prefab

Seleccione el árbol prefabricado Broadleaf_desktop y haga clic en Agregar. Esto cerrará la ventana prefabricada y agregará el árbol seleccionado al proyecto.

Paint Tree - Trees selection

Ahora puede seleccionar la palmera para pintarla en su terreno.

En la Configuración, encontrará varios parámetros que puede ajustar mientras coloca árboles en su escena. El Tamaño del pincel define el área que pintará, mientras que la Densidad del árbol define la cantidad de árboles que tendrá en el área pintada. Los valores altos significarán más árboles. Tree Height le permitirá definir cómo cambia la altura. Puede establecerlo al azar y usar un intervalo de valores, o puede establecer un valor específico. Puede bloquear ancho a alto de los árboles, para que tengan la misma relación de aspecto. También puede aleatorizar la orientación de rotación del árbol usando la opción de rotación aleatoria del árbol. Además, la rotación del árbol se puede configurar de forma aleatoria.

Dentro de la sección de Iluminación puedes establecer cómo se generan los mapas de luz para tus árboles.

Paint Tree - Baked lightmaps

Para pintar los árboles en el terreno, mueva el mouse hacia la vista de escena. El área azul representa el pincel. Con un tipo de árbol seleccionado, presione el botón izquierdo del mouse sobre el terreno y comience a crear árboles.

Paint Tree - Example of trees on terrain

Para borrar árboles de un área determinada, mantenga presionada la tecla Mayús y use el botón izquierdo del mouse. Esto limpiará todos los árboles en el área del pincel. Si solo quieres borrar un cierto tipo de árbol, mantén presionado Control en lugar de Shift. Esto borrará solo el tipo de árbol seleccionado.

Siempre puede cambiar o eliminar un tipo de árbol seleccionándolo y haciendo clic en el botón editar árbol. Para modificar un árbol, haga clic en editar, y para eliminarlo, haga clic en quitar.

Finalmente, observará que dentro del componente Terrain Collider, tiene un campo llamado Enable Tree Colliders. Al seleccionar esta opción, está habilitando colisiones entre otros objetos del juego y los árboles.

Paint Tree - Terrain Collider

Si no desea pintar los árboles de forma manual, puede usar el botón Árboles de lugar masivo. Si hace clic allí, aparecerá una nueva ventana. Unity le pedirá una cantidad de árboles para crear. Establezca el número de árboles y haga clic en Colocar. La unidad colocará aleatoriamente los árboles en su terreno.

Paint Tree - Mass Place Trees

El siguiente paso es ser creativo y poblar su terreno con árboles. Para crear diferentes árboles, también puede agregar árboles nuevos como Palm_Desktop, Broadleaf_Mobile y Conifer_Desktop. Para eso, use la opción Editar árboles en el menú Árboles (dentro de Inspector).

Puede crear algo como la siguiente imagen (o algo completamente diferente).

Paint Tree - Preliminary terrain with trees

Cuando esté listo, puede pasar al siguiente paso.

Herramienta de detalles de pintura

La unidad permite que los terrenos tengan cúmulos de hierba y otros objetos pequeños, como rocas, que cubren su superficie. La hierba se representa con imágenes en 2D, mientras que otros objetos suelen ser mallas estándar.

Para agregar detalles al terreno, seleccione su objeto de terreno desde la jerarquía. Dentro de la pestaña Inspector, haz clic en el sexto botón, el que tiene las flores.

Paint Details Tools

Como puede ver, ahora tiene una interfaz similar a las herramientas de altura. Aquí también tiene un conjunto de pinceles que puede elegir para pintar una lista de detalles.

Como no tiene detalles de ningún objeto seleccionado, añádalos haciendo clic en Editar detalles> Agregar textura de hierba.

Esto abrirá una ventana donde puede establecer varias propiedades para su césped. Detalle Textura le permite definir la textura que usará para su césped. También puede definir varias propiedades como Ancho máximo, Ancho mínimo, Altura máxima, Altura mínima, Extensión de ruido, Color saludable, Color seco y Cartelera. Todas estas propiedades definirán cómo se verá su césped.

Para este tutorial, puede dejar las opciones predeterminadas o cambiarlas según su voluntad.

Haga clic en el círculo delante del campo Textura de detalle. Esto abrirá una nueva ventana. Busque GrassFrond01AlbedoAlpha, selecciónelo y haga clic en Agregar.

Paint Details - Grass tools

Al igual que para los árboles, puedes usar varios pinceles para pintar el césped. Puede establecer diferentes tamaños de pincel y cambiar la opacidad del pincel y la resistencia del objetivo.

Ahora es el momento de ser creativo y pintar césped en el terreno.

Paint Details - Grass details

Si desea agregar una malla para pintar detalles en su terreno, por ejemplo, rocas, necesita repetir el mismo proceso que realizó al importar el césped. Sin embargo, esta vez, cuando haga clic en Editar detalles, elija Agregar malla de detalles. Esto abrirá una ventana donde puede especificar varios parámetros de la malla de detalles, muy similar a la que usó para importar el césped.

Lamentablemente, los activos del entorno no incluyen ninguna piedra prefabricada, por lo que no podrá pintar rocas directamente. Sin embargo, puede buscar algunas rocas en la tienda de Unity Asset Store, ya que es un gran lugar para encontrar activos gratuitos.

Coclusión

Esto concluye el tutorial sobre Unity Terrain Tools. Aprendió sobre varias herramientas y configuraciones de terreno. Con este conocimiento, ahora puede crear, modificar y mejorar los terrenos actuales o nuevos para su próximo juego o aplicación de vanguardia.

La unidad tiene una economía activa. Hay muchos otros productos que lo ayudan a construir su proyecto. La naturaleza de la plataforma también la convierte en una excelente opción desde la cual puede mejorar sus habilidades. En cualquier caso, puede ver todo lo que tenemos disponible en Envato Marketplace.

Si tiene más preguntas o comentarios, como siempre, siéntase libre de escribir una línea en la sección de comentarios.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.