Comenzando con Unity
Spanish (Español) translation by Elías Nicolás (you can also view the original English article)
Unity es una herramienta de desarrollo de juegos multiplataforma, diseñada desde el principio para facilitar la creación, que contiene el motor 3D más poderoso de este lado de un millón de dólares. En este tutorial, veremos cómo comenzar con Unity, desde descargar el software y obtener la introducción al IDE, hasta crear nuestro primer proyecto con nuestro propio terreno personalizado y skybox.
Vista previa del resultado final
Haga clic en la imagen para cargar una demostración de lo que va a crear, luego use el mouse y WASD (o las teclas de flecha) para moverse por el terreno.
¡Bienvenido al mundo de Unity3D!
Unity te permite impresionar e inspirar a tus jugadores con todo tipo de contenidos, desde asombrosos efectos visuales hasta paisajes sonoros ambientales e infunde entusiasmo a tus desarrolladores con una publicación de un solo clic en una amplia gama de plataformas que abarcan web, computadoras de escritorio, dispositivos móviles y consolas.


Para el último lanzamiento importante, Unity 3.0, todo el backend de renderización fue completamente reescrito, trayendo mejoras de rendimiento significativas junto con una tonelada de increíbles efectos de posprocesamiento y la integración del mejor Lightmapper, Beast del mundo. PhysX, el impresionante motor de física de NVIDIA, también se ha integrado completamente proporcionando física compleja con un mínimo de sudor de su parte.
MonoDevelop, el entorno de programación para Unity, sí, todavía hay programación, me temo, proporciona completa autocompletación y un depurador completamente desarrollado que le permite detener el juego y sumergirse para inspeccionar su lógica y variables. Unity admite JavaScript, C # y Boo (Python) como lenguajes de programación y puede interoperar entre los tres en un solo proyecto, lo que permite a los desarrolladores utilizar todas las bibliotecas de código abierto disponibles sin importar en qué idioma estén desarrollando.
Pronto se dará cuenta de que mucho trabajo dentro de Unity tiene que ver con sus activos, es decir, sus modelos, texturas, audio, etc. Además de que existen varias fuentes razonables para los activos en la web, Unity 3.1 ha presentado la Tienda de Activos, una ventanilla única integrada de Activos / Extensiones gratuitas y de pago, algunas de las cuales pondremos en uso más adelante en este tutorial.
La administración de activos dentro de Unity es muy simple: si realiza un cambio externo a su Aaset en Maya o Photoshop, por ejemplo, simplemente haga clic en Guardar y Unity reimporta el activo. ¡También puedes encontrar kits de inicio y activos de juego prefabricados en ActiveDen por tan solo $ 4!
Espero que lo anterior haya despertado tu apetito por esta aplicación increíble, pero estás sentado allí esperando que te pegue con la enorme etiqueta de precio para descalificarte, ¿verdad? ¡Incorrecto! ¡La versión 'indie' de la unidad es GRATIS! Sí, eso no es un error tipográfico, no es una prueba de 30 días, ¡¡¡simplemente GRATIS!! Entonces, ¿qué estás esperando?, ve a la página de descarga de Unity3D y comienza a descargar Unity ahora mismo
(Por supuesto, hay una versión 'Pro' más repleta de funciones que no es gratuita, sin embargo, para esta serie de tutoriales, la edición GRATUITA / 'independiente' es todo lo que necesita).
Introducción a Unity IDE
Unity de forma predeterminada se instalará con un impresionante proyecto de demostración titulado 'Bootcamp', que ahora analizaremos mientras exploramos el camino hacia la interfaz de Unity.
Nota del editor: Desde que se escribió este tutorial, Bootcamp fue reemplazado como el proyecto predeterminado por AngryBoots. Todavía puede descargar Bootcamp desde la Tienda de Activos.
Una vez que haya descargado e instalado Unity, adelante e inicie, y si el proyecto 'Bootcamp' no se carga al inicio, seleccione 'File -> Open Project' y busque la carpeta 'Bootcamp Demo' recién instalada. Para usuarios de Windows, esto debe instalarse en un lugar similar a 'C:\Users\Public\Documents\Unity Projects' y para aquellos en OSX debe ser similar a 'Macintosh HD/Users/Shared/Unity'. Si se ha instalado en otro lugar, una búsqueda rápida de 'Bootcamp Demo' debería ubicarlo de otra manera.
Una vez que se importa el proyecto, lo que puede llevar algún tiempo para proyectos complejos, abra la escena 'bootcamp' dentro de la ventana Project, como se ve a continuación.

Esperamos que ahora estés viendo lo mismo que abajo, ¡así que bienvenido a Unity y la demostración de Bootcamp!


Lo primero que probablemente querrá hacer es hacer clic en el gran botón Reproducir brillante ubicado en el centro de la barra de herramientas en la parte superior de la pantalla. Para sacar este impulso de su sistema, siga adelante y dele un clic para jugar y sorprenderse con los asombrosos gráficos que se muestran en este proyecto.
Al presionar la tecla ESC usted puede potencialmente hacer que la escena sea aún más sorprendente al aumentar los niveles de calidad si no están llenos por defecto. Una vez que haya terminado de caminar haciendo 'ooo' y 'awww' suena, haga clic en el botón Play de nuevo para detener el juego.
Por lo tanto, la interfaz de Unity consiste en ventanas o vistas movibles / acoplables que se pueden reorganizar para adaptarse a su flujo de trabajo particular. Acabas de experimentar la favorita de todos, la vista 'Game', donde puedes jugar y depurar tus juegos. Puede tener tantas o tan pocas ventanas / vistas como desee y hay varios diseños integrados, el anterior es el diseño 'wide' ("ancho") predeterminado, así como la capacidad de crear el propio.
Ahora vamos a bucear y echar un vistazo más de cerca a cada una de estas ventanas y algunas de sus características. Le recomiendo encarecidamente que continúe alternando entre el tutorial y Unity mientras lee y explora cada ventana para ayudarlo a familiarizarse con ellas más rápido. No se preocupe por anotar los atajos tampoco; Al final de esta sección hay una Hoja de trucos que está lista y esperando ser su nueva lectura antes de acostarse.
La barra de herramientas
No es exactamente una ventana como tal, pero sí una parte muy importante de la interfaz de Unity. La 'Barra de herramientas' se extiende por la parte superior del IDE y presenta varias herramientas clave para manipular las ventanas 'Scene' y 'Game', así como también el diseño de la interfaz. También contiene el muy importante botón 'Play'.
La barra de herramientas - Herramientas de transformación

El primer componente dentro de la barra de herramientas, ubicada en la esquina superior izquierda, contiene las cuatro "herramientas de transformación" que ahora debe grabar profundamente en la memoria.
De izquierda a derecha estos son:
La herramienta de mano (atajo de teclado: Q)
Por defecto, la herramienta de mano le permitirá hacer clic y arrastrar para desplazarse por la escena. Manteniendo Shift aumentará la velocidad de panning; El uso de combinaciones de Alt, Ctrl, LMB, MMB y RMB le permitirá desplazarse, girar y acercarse a su escena. No se preocupe, explicaremos esto con un poco más de detalle en breve.
La herramienta de traducción (atajo de teclado: W)
La herramienta de traducción proporciona la capacidad de seleccionar GameObjects -más sobre esto más adelante- dentro de su escena (o jerarquía) y luego usar los controles de eje final de flecha para mover ese objeto alrededor de la escena haciendo clic y arrastrando cada mango del eje. También puede mover los GameObjects seleccionados libremente sobre los tres ejes haciendo clic y arrastrando el cuadrado pequeño donde se encuentran los controladores del eje.
La herramienta Rotar (atajo de teclado: E)
La herramienta Rotate proporciona controladores de eje que rodean y rodean el GameObject seleccionado que, al hacer clic y arrastrar, le permiten rotarlo alrededor de su centro o punto de pivote.
La herramienta de escala (atajo de teclado: R)
Muy similar a la herramienta Translate, la herramienta Scale proporciona los controles de eje terminados en bloque que al hacer clic y arrastrar le permiten escalar el GameObject seleccionado en ese eje particular. Para escalar los 3 ejes simultáneamente, simplemente haga clic y arrastre el cubo gris donde se encuentran los 3 mangos del eje.
La barra de herramientas - Transform Gizmo
El siguiente componente dentro de la barra de herramientas, resaltado a continuación, es 'Transform Gizmo', que determina si el objeto seleccionado se gira o escala respecto de su punto central o su punto de pivote, y si se usa la rotación local o global al escalar y rotar el GameObject seleccionado.

La barra de herramientas - Botones de control
El componente dentro del centro de la barra de herramientas controla la vista previa de tu juego dentro de la ventana del juego. Presionando el botón "Jugar" se reproducirá tu juego, haciendo clic en el botón "Pausa", como es lógico, pausarás el juego y el tercer botón te permitirá avanzar por el juego cuando esté en pausa.

La barra de herramientas - Capas y diseño
El menú desplegable 'Capas' ubicado en el lado derecho de la pantalla dentro de la Barra de herramientas le permite activar y desactivar la visibilidad de capas particulares, y el menú desplegable 'Diseño' ofrece opciones relacionadas con el Diseño de las ventanas o vistas en la pantalla. Si crea un diseño personalizado y lo aprecia especialmente, puede usar este menú para guardar su diseño, de modo que no tenga que crearlo cada vez que reinicie Unity.

Así que eso es más o menos para la barra de herramientas, bastante sencillo hasta ahora, ¿verdad?
Vista de escena
La vista Escena es donde pasarás mucho tiempo construyendo y editando los componentes de tus juegos dentro de Unity. Se muestra una "vista previa" en 3D completamente renderizada de la escena actualmente abierta dentro de la ventana donde puede agregar, editar y eliminar GameObjects utilizando sus vistas ortográfica y de perspectiva.
Para aquellos que provienen de un fondo Flash, puede compararlo con el escenario. Todos los objetos dentro de esta ventana se consideran GameObjects activos y se enumeran dentro de la Jerarquía, que veremos en breve.


Navegando por la vista de escena
Existen varios métodos para navegar por la vista de escena, algunos más adecuados para tareas particulares que otros. Sugiero aprenderlos todos para que pueda navegar de manera rápida y eficiente en su escena, sea lo que sea que esté haciendo.
Una de las características más útiles es la capacidad de enfocarse en cualquier GameObject simplemente seleccionándolo en la Jerarquía y presionando la tecla F. Alternativamente, también puede hacer doble clic dentro de la Jerarquía para la vista de Escena para enfocarse en GameObject seleccionado. Pruebe ambos métodos para enfocarse en "Soldier_Locomotion", similar al anterior.
También puede usar la barra de búsqueda para buscar GameObjects específicos que pueden ser útiles y mucho más rápidos cuando tiene una escena completa. Simplemente escriba el nombre de GameObject en la barra de búsqueda de escenas o jerarquías, que se encuentra en la esquina superior derecha de la ventana, y toda la escena aparecerá atenuada, excepto para GameObject (s) con el nombre buscado, como se muestra a continuación.
La Hierarchy también devolverá todos los GameObjects que contengan la cadena de búsqueda. Intenta buscar 'soldado' en las vistas Scene y Hierarchy ydeberías obtener algo similar a lo que sigue.


Para aquellos que están familiarizados con WASD, les gustará este. Mantenga presionado RMB (botón derecho del mouse) y use WASD y el mouse para recorrer la escena. Para aquellos que se rascan la cabeza en WASD - W es hacia adelante, A está a la izquierda, S está al revés y D es a la derecha. Si deseas volar más rápido, mantén Shift.
Hay bastantes combos de teclado y mouse para navegar por la vista de escena dentro de Unity. Los siguientes son para un mouse de tres botones y se pueden usar cuando se selecciona cualquier herramienta Transform. Estos son cruciales para un flujo de trabajo rápido, así que practícalos mientras duermes.
Para girar alrededor del punto de pivote actual dentro de la escena: Alt + LMB
Para girar en el lugar dentro de la escena: Ctrl + RMB
Para desplazarse por la escena: Ctrl + Alt + LMB / Alt + MMB
Para acercar / alejar la escena: Alt + RMB / Mouse Wheel
Con todo lo anterior, mantenga presionada la tecla Mayús (si puede) para acelerarlos. Si usa un mouse de uno o dos botones, le recomiendo consultar la Documentación de navegación de Unity Scene. También recomendaría obtener un mouse apropiado.
La vista Scene de Unity también presenta un 'Gizmo' en la esquina superior derecha que muestra el ángulo de visión actual y permite una navegación rápida hacia las vistas SUPERIOR (Y) / LATERAL (X) / DELANTERA (Z) y PERSPECTIVA.

Pase unos minutos navegando por la escena usando estos métodos; cuanto más rápido tus dedos los aprendan, mejor.
Trasladar / rotando y escalando objetos del juego dentro de la vista Scene
Al construir tus juegos, probablemente coloques muchos objetos diferentes dentro de tu escena. Para hacer esto, es más fácil usar las herramientas de transformación en la barra de herramientas para traducir, rotar y escalar GameObjects individuales utilizando los controles de ejes que aparecen a continuación.


También puede escribir valores directamente en el Componente de transformación que se muestra en el Inspector, que se muestra arriba.
Barra de control de vista Scene
La barra de control a lo largo de la parte superior de la vista de escena proporciona varios modos de visualización, como textura, estructura metálica y estructura metálica texturizada. También proporciona alternaciones para iluminación, audio y elementos "dentro del juego" como Skyboxes dentro de la vista de escena. La imagen de arriba, por ejemplo, tiene Iluminación y Elementos activados y Audio desactivado.
Así que eso es todo para la vista Scene, echemos un vistazo a la Hierarchy.
Hierarchy
La ventana Jerarquía proporciona una lista de todos los GameObjects dentro de la vista de Escena, es decir, todos los objetos en su escena actual. Cuando se selecciona un GameObject dentro de la jerarquía, también se selecciona dentro de la vista de escena y viceversa. Puede agregar GameObjects nuevos a la Jerarquía a través del menú 'Create' que se muestra a continuación.


Los objetos que tienen hijos, es decir, un objeto principal, tienen un triángulo gris a la izquierda de su nombre que alterna la visualización de sus hijos. Puede cambiar el nombre de un GameObject seleccionándolo dentro de la Jerarquía y presionando F2 o usando el Inspector que se describe a continuación.
Los que se muestran en el texto azul dentro de la Jerarquía son Prefabricados que se explicarán en breve, el resto son simplemente GameObjects, de los que también les explicaré un poco más en breve.
Inspector
El Inspector muestra información sobre el GameObject seleccionado, incluidos todos sus componentes adjuntos y sus propiedades ajustables. Las propiedades se pueden asignar o modificar arrastrando y soltando GameObjects o Prefabs desde las vistas de Jerarquía o Proyecto o simplemente escribiendo valores, casillas de verificación, etc.


La parte superior del Inspector muestra el nombre de GameObject y, a la izquierda, si está habilitado. En el extremo derecho puede definir si GameObject es estático o no, para fines de iluminación. Debajo del nombre de GameObject está su etiqueta, si tiene una asignada, y la capa de la que forma parte, si ha asignado una. Los componentes de GameObject se enumeran a continuación y son contraíbles a través del triángulo que queda de su nombre.
La casilla de verificación directamente a la izquierda del nombre define si el Componente está habilitado o no, lo cual es muy útil cuando se depura. A la derecha del nombre hay un enlace a la Referencia de componentes, así como un menú para restablecer / eliminar el Componente. También puede hacer clic con el botón derecho en el nombre de un Componente para eliminarlo.
Ventana del proyecto
Cada proyecto de Unity tiene un directorio 'Assets' para todos los modelos, texturas, scripts, prefabricados, etc. utilizados o disponibles para el proyecto. Puede navegar y explorar este directorio dentro de la ventana Proyecto de Unity, así como también crear nuevos subdirectorios y recursos (es decir, scripts) dentro de él haciendo clic derecho o seleccionando 'Create' como se muestra a continuación. Los activos también se pueden buscar utilizando el campo Buscar ubicado en la esquina superior derecha de la ventana. Si vienes de Flash, puedes compararlo con la Library donde guardas todos los recursos de tu proyecto.


Para agregar recursos como modelos y texturas a su proyecto, en el menú superior, seleccione Assets -> Import New Asset, o simplemente arrástrelos desde el sistema de archivos de su sistema operativo a la Vista Project y el activo estará inmediatamente disponible para su uso dentro de su proyecto. Si los activos están alterados, p. editas una textura en Photoshop; cuando guardas y regresas a Unity, automáticamente actualiza el activo por ti. ¿Increíble? ¡Sí!
NUNCA debe mover activos del proyecto utilizando el sistema de archivos de su sistema operativo ya que esto romperá cualquier metadato asociado con el activo, es decir, texturas y materiales aplicados a un modelo, scripts aplicados a un GameObject. SIEMPRE debe usar la Vista proyect para organizar sus activos.
Si desea ubicar un activo en Unity dentro de su sistema de archivos por algún motivo, como editar en Photoshop, puede hacer clic derecho y seleccionar 'Show In Explorer'.
Vista Game
Es probable que la vista del juego se convierta en tu parte favorita de la interfaz de Unity, ya que es donde juegas y pruebas tu juego como si realmente se hubiera publicado.
Cuando ejecutas tu juego, usando el botón Play dentro de la barra de herramientas descrita anteriormente, notarás que los cambios dentro de la vista Game se reflejan tanto en la vista Scene, Hierarchy e Inspector, que aún se pueden editar. ¡Esto te da la gran ventaja de poder editar y modificar tu juego para obtener el mejor resultado mientras se ejecuta! Sin embargo, tan pronto como dejes de ejecutar el juego, todos los cambios se perderán.
Vamos a repetir eso:
TODOS los cambios realizados mientras el juego está TODAVÍA corriendo SERÁN PERDIDOS una vez que el juego deje de correr.
Todos somos víctimas de esto; aprenda rápidamente o corra el riesgo de quedarse calvo rápidamente.


Barra de control de vista Game
La barra de control en la parte superior de la vista del juego te permite forzar una relación de aspecto en tu juego dentro de la vista del juego, alternar giros, alternar estadísticas y alternar si la vista del juego va a pantalla completa al hacer clic en Play.
Hoja de referencia
Para trabajar de la manera más eficiente posible dentro de Unity, debe comprometer seriamente todos los atajos de teclado a la memoria. Para ayudarlo a aprender más rápido, he creado una Hoja de trucos de Unity que incluye todos los atajos detallados anteriormente, todo en una sola página: descarga de la hoja de trucos de Unity.
Así que eso fue un recorrido muy rápido de las ventanas / vistas principales y más populares dentro de Unity IDE. Hay muchas otras ventanas por las que podríamos pasar, pero seguramente debe tener ganas de comenzar. Vamos a explicar algunos aspectos de la jerga de Unity y luego comenzaremos a ejecutar.
GameObjects, componentes y prefabricados
Es posible que haya notado estos tres términos en las secciones anteriores. GameObjects, Components & Prefabs son conceptos clave para construir juegos dentro de Unity.
GameObjects
Cada objeto dentro de tu juego es un GameObject. Son contenedores que contienen componentes para determinar su comportamiento y apariencia. Cada GameObject tiene un Componente de Transformación por defecto que determina su ubicación, escala y rotación dentro del juego, y se pueden agregar, editar y eliminar más usando el Inspector. Dentro de la Hierarchy, GameObjects son blancos.
Componentes
Los componentes determinan el comportamiento y la apariencia de GameObjects a los que están conectados y son el funcionamiento real de cualquier juego dentro de Unity. Los scripts que desarrolle se pueden adjuntar a GameObjects exactamente de la misma manera que los componentes porque eso es lo que son: componentes. Son componentes que USTEDES desarrollaron. Para agregar Componentes al GameObject seleccionado, use el menú Component.
Prefabricados
Para aquellos que han trabajado con Flash, las Prefab son muy similares al concepto de MovieClips dentro de la Biblioteca. Si nunca has trabajado con Adobe Flash o no entiendes el concepto de MovieClips, entonces ignora esa última frase.
Los prefabricados son GameObjects reutilizables almacenados dentro de la ventana del proyecto junto con todos sus otros activos. Puedes crear tantas instancias de un Prefab dentro de tu juego como se requiera y cualquier alteración al original se reflejará en cada instancia que hayas creado. Esto se llama Herencia. También puede anular los valores predeterminados de una instancia para que se vean más únicos, en lugar de clones del Prefab original.
Cuando crea por primera vez un nuevo Prefab utilizando la Ventana Proyect 'Create -> Prefab', es simplemente un contenedor vacío sin GameObject y, por lo tanto, no puede agregarse a la Hierarchy o Scene. Para crear un Prefab utilizable, debe seleccionar un GameObject dentro de Hierarchy y arrastrarlo y soltarlo en el Prefab recién creado. Una vez hecho esto, el GameObject original ahora es una instancia del Prefab y puedes agregar tantas instancias del Prefab a tu juego como desees. Dentro de la Hierarchy, las Prefabricadas son azules.
Un buen escenario para ayudarlo a entender este concepto es imaginar que está creando un juego de carreras de autos con cuatro jugadores. Quiere que cada jugador tenga el mismo auto pero que sean de diferentes colores. ¿La solución? Prefabricados. Deberías crear un GameObject que será tu automóvil y agregar Componentes que proporcionen el comportamiento de un automóvil. Este GameObject se convertiría a un Prefab y se crearían cuatro instancias dentro de su escena. Luego edita cada instancia para aplicar un color diferente. Fácil, ¿verdad?
De acuerdo, suficiente teoría; empecemos...
Su primer proyecto
Ahora que ha explorado la demostración de Bootcamp y se ha abierto camino en la interfaz de Unity, ¡es hora de crear su primer proyecto! En el menú superior, selecciona File -> New Project.
Primero, seleccione el directorio donde desea guardar su proyecto y luego asegúrese de que tanto el Character Controller como los paquetes Skyboxes estén marcados para su importación al proyecto. Finalmente, selecciona Create.


Una vez que Unity haya abierto su nuevo proyecto, primero debe guardar su escena. Un proyecto Unity puede tener tantas escenas como desee y las escenas se pueden cargar y descargar en tiempo de ejecución. Las escenas pueden ser tan complejas o simples como desees y pueden presentar niveles de juego completos o solo secciones pequeñas o incluso menús.
A medida que su proyecto crezca, es importante mantenerlo organizado, así que primero cree una nueva carpeta dentro de la ventana Proyecto y cambie el nombre de Escenas usando F2. Luego seleccione File -> Save Scene o Ctrl / Comando + S y guarde la escena dentro de la carpeta Escenas como 'game'.

Puede haber notado otra carpeta dentro de la ventana del Proyecto llamada 'Standard Assets'. Gírelo abierto y encontrará los paquetes importados cuando creamos el proyecto que contiene Prefab, Scripts y Shaders que pondremos en uso al hacer nuestra primera escena.
Paso 1: Desarrollando el Terreno
El Terrain Editor de Unity ofrece una variedad de opciones, por lo que la creación de paisajes extensos y terrenos montañosos se vuelve rápida y fácil.
Crea una nueva carpeta y cámbiale el nombre 'Terreno' y desde el menú superior selecciona Terrain -> Create Terrain. Dentro de la ventana Project, cambie el nombre del terreno 'New Terrain' a 'Terrain' y arrástrelo a la carpeta Terrain para mantener el proyecto ordenado.
Ahora necesitamos establecer la resolución de nuestro terreno usando el menú superior, 'Terrain -> Set Resolution'.
Debe recordar hacer esto ANTES de desarrollar la topología del terreno ya que alterarlo más tarde hará que su terreno se reinicie. Haga coincidir sus configuraciones con las de abajo y luego siga leyendo para descubrir lo que realmente significan.


Entonces, los primeros tres deberían ser bastante obvios y son el ancho, la altura y la longitud del terreno (en metros). Si intentas construir un terreno por encima de esta altura, simplemente se nivelará.
La resolución HeightMap es la resolución de la textura que almacena Unity para representar el terreno. Debe ser una potencia de dos más uno, como 513 o 1025, debido a la forma en que se almacena. La resolución de detalles determina con cuánta precisión puede colocar detalles tales como plantas, rocas, etc. en el terreno. Cuanto menor sea este número, mejor será el rendimiento.
La resolución de textura de control es la resolución de las texturas pintadas en el terreno y, por lo tanto, controla los detalles de esas texturas. Para el rendimiento, mantendremos este valor en 512. La resolución de textura base es la resolución de la textura compuesta que se representa en lugar del mapa de splat a ciertas distancias (carteles publicitarios) para mejorar el rendimiento.
Si no puede ver su terreno una vez que lo ha creado, use una de las técnicas mencionadas anteriormente para centrarse en él. Es posible que haya notado que con el terreno seleccionado, la ventana del Inspector ahora proporciona varias opciones para editar el terreno. Vamos a echarles un vistazo.
La herramienta Raise / Lower (Método abreviado de teclado: Shift + Q)
Para construir y desarrollar su terreno, seleccione la herramienta Raise / Lower que se encuentra abajo y haga clic y arrastre por el terreno para comenzar a desarrollarlo. Puede seleccionar entre una variedad de pinceles, tamaños de pincel, opacidad (suavidad) mientras eleva su terreno. Si desea bajar el terreno, simplemente mantenga presionada la tecla Shift mientras hace clic y arrastra.

Diviértete con diferentes pinceles y opacaties para generar un terreno montañoso como el que se muestra a continuación, no te preocupes si no es exactamente lo mismo, no dudes en usar tu licencia artística y enloquece.
Solo tenga en cuenta que no desea que el terreno sea demasiado empinado, ya que su jugador tendrá dificultades para navegar, a menos que esté haciendo una sección de su terreno a propósito que sea inaccesible para el jugador.


Empecé con un pincel grande con una opacidad suave para generar algunas áreas lisas de la colina antes de reducir el tamaño del pincel y aumentar la opacidad para intensificar las áreas particulares.
La herramienta Paint Height (atajo de teclado: Shift + W)
Ahora seleccione la Herramienta Paint Height, una a la derecha desde la herramienta 'Raise / Lower'. Esto es idéntico a la herramienta anterior, excepto que usted especifica la altura máxima a la que puede elevar el terreno, que si se excede, hace que el terreno se aplana. También puede hacer Shift + Click para establecer la altura a la del terreno donde se encuentra actualmente su mouse.


Puedes ver dónde utilicé esta herramienta para cortar caminos hacia y a través de las 'Mountains' de arriba. Úselo para un efecto similar o para crear una meseta en algún lugar de su terreno. También utilicé la herramienta Raise / Lower para crear picos más prominentes para las montañas.
La herramienta Smooth Height (Atajo de teclado: Shift + E)
Luego seleccione la herramienta Smooth Height, la siguiente a lo largo de la herramienta 'Paint Height'. Esto suaviza su terreno haciendo que las superficies sean mucho más suaves para que los personajes / vehículos naveguen. Usa la herramienta Smooth Height en tu terreno para suavizar las áreas dentadas, si encuentras áreas más adelante que no puedes acceder al jugar, siempre puedes volver y usar esta herramienta para suavizar esas áreas un poco más.


Así que ahora debes tener una topología encantadora para tu terreno, aunque parece un poco soso...
Paso 2: Texturizando Terreno
Ahora que hemos desarrollado la topología para nuestro terreno, busquemos algunas texturas y detalles para darle vida. Para encontrar rápidamente algunos de los Activos, vamos a utilizar el Almacén de Activos, una característica recientemente introducida en Unity 3.1.
Para abrir la Tienda de Activos, seleccione 'Window -> Asset Store' en el menú superior. Para usar el Almacén de Activos, debe tener una cuenta para registrarse tan rápido (es gratis) y habilite su cuenta haciendo clic en el enlace del correo electrónico que le envían. Una vez que se active su cuenta, haga clic en el enlace 'Open Asset Store' que se encuentra en la página de esta página para abrir el almacén de activos en el paquete de activos de terreno GRATIS de Unity.
Haga clic en 'Download' para comenzar a descargar el paquete (~ 35mb).


Cuando se complete la descarga, Unity mostrará el contenido del paquete, como se muestra a continuación, lo que le permite seleccionar solo los Elementos que desea importar. Simplemente haga clic en 'Import' para que tengamos todo disponible para nosotros.


Dentro de la ventana de su proyecto, ahora verá una nueva carpeta, 'Terrain Assets', que presenta bastantes texturas y modelos para que usemos, ¡increíble! ¡Vamos a pintar!
La herramienta Paint Texture (atajo de teclado: Shift + R)
Vuelva a seleccionar su terreno y seleccione la Herramienta Paint Texture, la siguiente herramienta a lo largo, y debajo de los pinceles de la derecha seleccione Edit Textures -> Add Texture Haga clic en el pequeño círculo junto a 'None (Texture 2D)' para buscar y buscar las texturas disponibles. Por ahora, seleccione 'Forest Floor' y haga clic en 'Apply'

Whoa! ¡Hay musgo verde y tierra por todos lados! ¡¿Lo que acaba de suceder?!


Como esta es la primera textura aplicada a este terreno, todo el terreno está texturizado ya que esta es la textura de la capa base para el terreno. Ahora puede superponer más texturas agregándolas y pintándolas sobre el terreno con el mouse usando varios tamaños de pincel y opacidades. Si desea cambiar una textura, puede hacerlo simplemente haciendo doble clic en ella. Para eliminar una textura simplemente selecciónela y haga clic en Edit Textures -> Remove Texture. La textura que está seleccionada actualmente será la que está pintada.
Continúa y agrega tantas texturas como desees, experimentando con diferentes configuraciones de pincel y opacidad para hacer que tu escena aparezca como quieras. Utilicé las siguientes texturas, aplicando el suelo del bosque como textura base, seguido por el acantilado (hierba), luego el acantilado (roca en capas) y finalmente la nieve para los picos de las montañas.


Por lo tanto, nuestro terreno ahora parece bastante bueno, pero podría hacerlo con más detalles...
Paso 3: Detallando el Terreno
Unity tiene dos herramientas integradas para agregar detalles a un terreno; echemos un vistazo a ellos.
La herramienta Colocar árboles (atajo de teclado: Shift + T)
La herramienta Place Trees, la siguiente herramienta junto a la herramienta Paint Tool, no tiene nada que ver con la ubicación de los árboles, ¡quién lo hubiera adivinado! La herramienta funciona de manera muy similar a la herramienta 'Paint Texture', en lugar de seleccionar una textura, selecciona un modelo de árbol usando el menú 'Edit Trees' y luego lo pinta en el terreno.
Notarás que hay bastantes configuraciones más esta vez como 'Tree Density' que controla el porcentaje de árboles dentro del área del pincel y 'Tree Height / Width Variation' que hará que tus árboles se vean un poco menos idénticos aleatorizando el ancho / alto de los árboles que colocas.

También hay una opción para la colocación masiva de árboles dentro del menú superior, Terrain -> Mass Place Trees, donde puedes especificar un número y Unity colocará muchos árboles sobre tu terreno, eligiendo al azar entre los que has agregado dentro de Place Trees.


Utilicé el Árbol de Aliso dentro de mi mapa y lo pinté con un tamaño de pincel mediano y alta densidad. Solo hice clic una vez en cada extremo de mi nivel para producir lo anterior.
La herramienta Colocar plantas (atajo de teclado: Shift + Y)
También puede colocar detalles más pequeños usando la herramienta Place Plants de una manera idéntica a la herramienta Place Trees.

Utilicé Add Grass Texture y seleccioné Fern (Helecho) y lo pinté alrededor del centro de mi mapa usando un tamaño de pincel bastante pequeño con movimientos mínimos para producir lo siguiente.


Al hacerlo, tenga en cuenta que al pintar desde la distancia, el detalle NO aparecerá y muchos detalles afectarán el rendimiento. Si no parece estar pintando, amplía aún más.
El último botón dentro del Componente del terreno dentro del Inspector le permite controlar factores tales como qué tan lejos de la cámara se dibujan los detalles y a qué distancia aparece el anuncio publicitario (el proceso de sustitución de mallas con imágenes). También puede determinar la velocidad del viento dentro de la escena y cuánto se inclinará la hierba en el viento. Puede establecer cuánto doblarán los árboles cuando agregue o edite un árbol con la herramienta Place Trees.
Afortunadamente, su terreno se ve muy bien con algunos árboles y detalles, así que agreguemos un jugador para que podamos explorar lo que acabamos de hacer.
Paso 4: El controlador de primera persona prefabricado
Dentro de la ventana Project, gire abierto Standard Assets y luego Character Controllers. Arrastre el controlador de primera persona a la vista de escena desde la que desea comenzar a jugar, asegurándose de que se coloca sobre el terreno con la herramienta Transform. Dentro de la barra de herramientas, haga clic en el botón Play.


Es de esperar que ahora puedas correr alrededor de tu terreno, pero dependiendo de si tienes habilitada la iluminación del juego dentro de tu vista de Escena, ahora puede verse un poco más oscura de lo esperado, como se muestra a continuación.


Si miras en la parte inferior de la pantalla, también notarás un mensaje de advertencia. Detenga el juego haciendo clic en el botón 'Play' de nuevo y luego haga clic en el mensaje de error para que aparezca la consola.


Entonces, ¿qué es este mensaje de advertencia? La advertencia es porque tenemos '2 audio listeners in the scene (2 oyentes de audio en la escena)'. Espera un minuto, no agregamos ningún oyente de audio, ¿verdad? En realidad, ya había uno y simplemente agregamos involuntariamente otro, así que echemos un vistazo más de cerca a lo que realmente está dentro de nuestra escena.
Paso 5: ¿agregamos otro oyente de audio?
Dentro de la jerarquía, seleccione la cámara y luego eche un vistazo dentro del Inspector. ¿Notar algo?
Mira sus componentes... ¡uno de ellos simplemente es un oyente de audio!
El oyente de audio recibe la entrada y la fuente de audio en la escena y la reproduce al usuario, por lo que tiene sentido que se adjunte a la cámara. Notarás que no tiene propiedades, solo tiene que agregarse al trabajo y la cámara tiene una conectada por defecto.
Entonces, nuestra advertencia es que tenemos dos oyentes de audio dentro de la escena, ¿dónde está el otro? ¿Qué hemos agregado a la escena? Veamos más de cerca el Controlador en primera persona (FPC).
A primera vista, al seleccionar el FPC y mirar dentro del Inspector, no parece tener un Escuchador de audio; sin embargo, dado que es un GameObject, puede tener hijos, así que échale un vistazo.


Sin duda, tiene dos hijos, 'Gráficos' y 'Cámara'. Los 'Gráficos' son simplemente una Malla, sin embargo, 'Cámara' es una Cámara con, como lo adivinó, un oyente de Audio. Esta cámara dentro de la FPC es la cámara real en la que se está procesando nuestro juego, por lo que no queremos comenzar a eliminar componentes de ella.
La otra cámara en la escena, sin embargo, no se está utilizando en absoluto, así que simplemente borrémosla. Haz clic en Play nuevamente y ya no deberías tener ningún mensaje de error.
Ahora iluminemos nuestra escena un poco.
Paso 6: Iluminando la escena
Hay tres tipos diferentes de iluminación dentro de Unity: Point, Spot y Directional.
Para iluminar nuestro mapa usaremos una luz direccional, así que ve y agrega uno a la escena desde el menú superior seleccionando GameObject -> Create Other -> Directional Light.


Puede notar una diferencia tan pronto como se agrega la luz dependiendo de su dirección, pero recoloque usando las herramientas Transformar y Rotación para iluminar su escena correctamente. Puede ser útil utilizar las vistas ortográficas, especialmente TOP para posicionar y SIDE para rotar como se muestra arriba.
Afortunadamente ahora, cuando juegas, la escena se ilumina un poco mejor que antes.
Paso 7: Agregar un destello de lente
¡Ahora agreguemos un efecto de bengala a nuestra luz direccional!
Importe el paquete 'Light Flares' usando el menú superior Assets -> Import Package. El paquete se encuentra dentro del directorio de instalación de Unity.
Dentro de Windows esto es algo así como 'C:\Program Files (x86)\Unity\Editor\Standard Packages', y usar OSX es algo así como '/Applications/Unity/Standard Packages'.
Una vez que haya localizado el directorio, seleccione el paquete Light Flares, y cuando aparezca el diálogo Importar paquete dentro de Unity, haga clic en Importar para importar todas las bengalas disponibles en nuestro proyecto.
Para aplicar la bengala, seleccione la luz direccional y observe que tiene una propiedad 'Flare' dentro del componente Light.

Navegue dentro de la ventana Proyect a 'Standard Assets/Light Flares' y, con la luz direccional aún seleccionada, arrastre y suelte Sun Flare sobre la propiedad Flare dentro del Inspector.
Este es un método alternativo ya veces más rápido para asignar una propiedad que seleccionarlo de la lista que aparecerá cuando haga clic en el círculo al lado de la propiedad.


Haga clic en "Play" y ahora, cuando mira en la dirección de la luz, debería aparecer el destello de la lente.
Paso 8: Agregar un Skybox
Con suerte, su nivel se ve bastante bien ahora, excepto cuando mira hacia el horizonte azul muy aburrido. Vamos a arreglarlo con un Skybox (una serie de seis imágenes, mapeadas en un Cube) para que el mapa se vea más grande de lo que es sin una gran cantidad de procesamiento innecesario.

Para aplicar un Skybox, abra la Configuración de renderizado en el menú superior seleccionando Edit -> Render Settings. Aquí puede editar varias configuraciones como niebla, luz ambiental y el material Skybox.
El paquete de activos estándar que importamos cuando creamos nuestro proyecto presenta varios Skyboxes así que asigne uno arrastrándolo al material de Skybox. Haga clic en "Play" y disfrute de la vista con más inspiración.
Si ha elegido un palco con un regalo de sol, puede que tenga que modificar la posición de su luz direccional para que la bengala se alinee con el sol del Skybox.
Si desea cambiar el skybox, simplemente arrastre un skybox diferente a la propiedad Material de Skybox para sobrescribir el skybox asignado actualmente.


¡Su mapa debería verse muy bien ahora que abrió su Unidad por primera vez hace solo un par de horas!
Paso 9: publica tu juego
Así que puedes ir y mostrar tu juego a tu madre, vamos a publicarlo para que podamos jugarlo fuera del Unity IDE.
En el menú superior, selecciona File -> Build Settings.


Seleccione Agregar actual para agregar la escena actual a la compilación y seleccione Web Player en la lista Platform para publicar en la web.
Finalmente, seleccione Build And Run y seleccione una carpeta para los archivos de compilación a exportar. Unity ahora exportará sus archivos de compilación y pronto abrirá su navegador con su juego en todo su esplendor. ¡Sal y comparte!
Conclusión
Espero que hayan disfrutado de esta introducción a Unity y puedan ver el potencial que tiene, a pesar de que apenas hemos arañado la superficie.
En futuros tutoriales presentaremos UnityScript, Detección de colisión para árboles y límites de nivel y mapeo ligero. También crearemos algunas pastillas para que nuestro jugador las recopile contra un temporizador con UnityScript.





