Читать книгу Unity 3D - Marc Lidon Mañas - Страница 10
Оглавление1. Importación de Assets
La presente obra viene acompañada de material adicional con todo lo necesario para que puedas seguir los proyectos y aprender sin que pierdas detalle. Una de las primeras cosas que vas a tener que aprender es la importación de assets, que es el material necesario para seguir los proyectos de este libro.
En todo proyecto de Unity encontrarás una carpeta llamada Assets. Esta carpeta contiene varias carpetas en su interior en donde se guardan los objetos del juego, scripts, materiales, texturas, etc.
En este capitulo he creado un paquete de assets para que puedas trabajar con las distintas ventanas que se explican.
Para importar el paquete de assets de este capítulo primero ten localizado el material adicional del libro y la ubicación de la carpeta de este capítulo. Luego crea un proyecto nuevo y dale el nombre que quieras. Todos los proyectos serán en 3D siempre que no se diga lo contrario.
Accedemos al menú principal y nos dirigimos a Assets > Import Package > Custom Package y buscamos dentro del material del libro en el proyecto 2 el archivo Capitulo_2.unitypackage.
Fig. 2.1
Si todo es correcto, verás que en la ventana Projects te aparecen una serie de carpetas que comentaremos a continuación.
2. Ventana Proyectos (Project)
Esta ventana es un reflejo de las carpetas que constituyen tu proyecto y que se encuentran organizadas en tu ordenador, es decir, cada vez que creemos un archivo o una carpeta, esta se creará automáticamente en la carpeta de Assets de tu disco y viceversa.
Fig. 2.2
1.Este menú nos permite crear una gran variedad de elementos para el proyecto. Una muy utilizada es la creación de carpetas.
2.Esta sección tiene dos elementos: la carpeta Assets en donde añadirás nuevas carpetas para ordenar los elementos de tu proyecto y una sección de favoritos que te permite buscar por temática dentro de la carpeta misma.
3.Esta sección te muestra el contenido de las carpetas e irás cambiando según qué carpeta tengas seleccionada.
4.Este tirador permite cambiar el tamaño de los elementos que se muestran en la sección 3.
5.Este menú contiene una caja de textos para poder introducir el nombre del elemento que estás buscando. También puedes hacer búsquedas según el tipo de elemento, el label que tengan asignado o si se han guardado como favoritos.
6.En esta sección tenemos dos símbolos: un candado que bloquea esta ventana para que no se pueda modificar. El otro símbolo es un menú que podemos utilizar si queremos añadir una pestaña nueva con otro tipo de ventana.
Si has importado los assets anteriores verás que disponemos de tres carpetas: Escenas que contiene una escena llamada mi primera escena: la carpeta materiales que contiene 5 materiales; y una última carpeta que contiene una textura.
Fig. 2.3
Ahora vamos a crear una carpeta nueva que la vamos a llamar Prefabs primero asegúrate de que tienes seleccionada la carpeta Assets y luego, accediendo al menú Create > Folder. Seguidamente aparecerá una carpeta nueva a la que debes ponerle un nombre. Para borrar la carpeta simplemente selecciona la carpeta, haz clic con el botón derecho del ratón y seleccionar la opción Delete.
Fig. 2.4
Ahora para hablar de la siguiente ventana primero vamos a acceder a la carpeta Escenas y hacemos doble clic con el botón izquierdo encima de la escena con nombre Primera escena. Se abrirá una escena con varios objetos en la ventana View.
3. Ventana Escena (Scene View)
La ventana escena, o también podemos llamarla vista escena, es la parte de la interfaz en la que interactuaremos con el mundo que estamos creando. Esta ventana la utilizaremos para crear nuestras escenas para seleccionar y posicionar personajes, cámaras, luces y todos los demás tipos de objetos de nuestro juego. Poder seleccionar, manipular y modificar objetos en la vista de escena son algunas de las habilidades básicas que vas a aprender para comenzar a trabajar en Unity.
Fig. 2.5
Voy a mostrarte una imagen con todos los objetos básicos que podemos encontrarnos en una escena para que puedas identificarlos cuando los nombre.
Fig. 2.6
Primero vamos a aprender como navegar por el espacio tridimensional. Si haces clic encima del botón de navegación que se encuentra representado por una mano y luego posicionas el cursor encima de la ventana pulsando con el botón izquierdo del ratón podrá desplazar la vista de derecha a izquierda. Esta herramienta tiene tres estados:
1. Mover: haciendo clic con el botón izquierdo y arrastrando encima del visor
2. Orbitar: pulsando Alt+ botón izquierdo del ratón podrá orbitar alrededor del espacio 3D.
3. Zoom: pulsando Alt + botón derecho del ratón podrá acercarse o alejarse de la escena. Si dispones de una rueda en el ratón también puede hacerla girar para hacer zoom. En el caso de Mac y Linux Comando (Control) + Shift y el botón derecho del ratón.
En la parte superior derecha de la ventana nos encontramos con un Gizmo. El gizmo nos muestra la dirección en que se encuentra nuestra cámara visor escena. También podemos interactuar con el gizmo. Este objeto te permite visualizar en todos los ejes de coordenadas y también permite ver en dos modos; perspectiva y ortográfica. Si pulsas en el cuadro interior del gizmo, representado en las siguientes imágenes con un color amarillo, podrá cambiar la vista de perspectiva a ortográfica.
Fig. 2.7
Si pulsas en los conos de colores la vista te mostrará en modo 2d la proyección del eje que haya seleccionado. Por ejemplo, si pulsad en el cono rojo este representa el eje X y te mostrará la vista desde este punto como se muestra en la siguiente imagen. El color verde representa el eje Y y el color azul representa el eje Z.
Fig. 2.8
Otro elemento que debes conocer es el menú de escena. El primer menú desplegable te muestra distintos modos de representar la escena dividida en sectores. Te recomiendo que hagas la siguiente prueba: accede al menú Shaded y escoge la opción Shaded Wireframe; la escena se representará mostrando una vista de alambre dibujada encima del material como se muestra en la siguiente imagen.
Fig. 2.9
Al lado del menú anterior dispones de una serie de botones que activan y desactivan opciones de la ventana escena. El 2D activa o desactiva esta vista, el botón con el símbolo del sol hace referencia a las luces de la escena, el símbolo del altavoz para el sonido y el botón con el símbolo de la foto alberga un submenú donde puedes marcar o desmarcar una serie de elementos que se desactivan o activan cuando pulsas este icono.
Fig. 2.10
Para finalizar este menú dispones de otra opción con el nombre gizmos que también te permite activar o desactivar elementos de la escena. Al lado de esta opción dispones de un buscador, que puede resultarte muy útil cuando trabajes con escenas muy grandes, con múltiples objetos.
Fig. 2.11
4. Ventana Juego (Game View)
Esta ventana es donde podemos ver el resultado de nuestra escena. Es donde se muestra la compilación de todos los objetos, comportamientos, iluminación y todo ello renderizado desde la cámara que tengas dentro de la escena.
Fig. 2.12
Barra de herramientas del Game View
Tenemos varias opciones para controlar cómo se muestra la imagen final de nuestra escena desde el visor Game. A continuación te detallo algunos aspectos que debes tener en cuenta.
Fig. 2.13
Display: contiene un menú desplegable para escoger la vista de la cámara que contiene la escena, por defecto está configurado para el Display 1.
Free Aspect: disponemos de una serie de valores predefinidos para probar cómo se vería nuestro juego en distintos formatos.
Scale: es un tirado que nos permite hacer zoom en la pantalla de juego para ver con más detalle nuestro juego o ver en modo global como se ve desde lejos.
Maximize on Play: al tener activada esta opción, cuando ejecutemos el juego en Modo Play la ventana Game se maximizara para que juegue en pantalla completa.
Mute audio: si activamos esta opción silenciaremos cualquier audio que haya dentro del juego cuando entremos en modo Play.
Stats: este botón activa o desactiva la ventana de estadísticas. Esta ventana nos ofrece información del renderizado gráfico y audio mientras esta en modo Play.
Gizmos: este botón activa o desactiva la visibilidad de cierto tipo de gizmos o iconos que veríamos en la ventana escena.
Play Mode
Estos botones de la barra de herramientas nos sirven para controlar el modo de reproducción del editor y ver cómo se reproduce el juego en la ventana Game. Un aspecto muy importante a tener en cuenta cuando trabajamos con este visor es que en modo de reproducción, los cambios que realicemos serán temporales es decir cuando paremos la reproducción de nuestro juego, todos los cambios que hayamos realizado se restablecerán a como estaban antes de entrar en modo de reproducción. La interfaz de usuario del editor se oscurece para advertirte de que estas en modo reproducción.
Fig. 2.14
5. Ventana Jerarquía (Hierarchy window)
La ventana Jerarquía contiene una lista de todos los GameObject (objetos,luces,cámaras) que encontramos en nuestra escena. Cuando agregamos un objeto a la escena este aparecerá en la lista y cuando eliminemos un objeto este también desaparecerá de esta lista. La lista se crea en el orden que vamos añadiendo o creando objetos. Puedes ver en la escena que tenemos en el proyecto como están organizados los objetos.
Fig. 2.15
En esta ventana también podemos efectuar varias acciones. Podemos cambiar el orden de nuestros objetos de la lista. Para cambiar el orden debemos seleccionar un objeto de la lista por ejemplo el ultimo elemento que es Cylinder y arrastrarlo hacia arriba hasta el tercer lugar que quede entre Directional Light y Plane.
Fig. 2.16
Otra acción que podemos hacer es emparentar objetos. Para que quede más claro vamos a coger dos objetos, la esfera y el cubo. En este ejemplo vamos a hacer que la esfera sea el hijo y el cubo el padre, esto quiere decir que cuando movamos el cubo la esfera también se moverá. Selecciona de la lista la esfera y arrastrarla encima de Cubo. Automáticamente se creará en cubo un subobjeto que es esfera.
Fig. 2.17
Un objeto padre puede tener varios hijos, y a su vez los hijos pueden ser padres y tener hijos como te muestro a continuación
Fig. 2.18
En la imagen anterior puedes ver cómo el objeto Cube tiene como hijos a Plane Cylinder y Sphere, y a su vez Sphere es padre de Capsule.
También podemos cambiar el nombre de los objetos primero un clic para seleccionar y luego otro clic encima del nombre del objeto, este se convertirá en una caja de textos donde puedes escribir el nombre.
6. Ventana Inspector y creación de un GameObject
En realidad todo lo que contiene una escena son GameObjects. Todos estos GameObjects disponen de características distintas, y por ese motivo voy a mostrarte cómo se crean, cómo se manipulan y cómo puedes ver sus características.
Para crear un GameObject puedes hacerlo de muchas formas distintas una de ellas es en el menú principal acceder a GameObject>3D Object> Cube, se creará un objeto llamado Cube que podrás ver en la ventana Hierarchy o Jerarquía.
Fig. 2.19
En las imágenes anteriores he decidido utilizar un cubo solo y no la escena completa que tenemos para que se entienda mejor, si lo deseas puedes seleccionar el cubo que tienes de la escena y seguir las explicaciones. Si seleccionas el GameObject Cube en la ventana Hierarchy, veras que en la ventana inspector aparecen las propiedades de este objeto. A continuación voy a explicarle las características de este GameObject.
Fig. 2.20
Esta ventana tiene una parte superior y a continuación en su parte inferior se divide en paneles o componentes que se pueden colapsar mediante una flecha en la parte superior izquierda.
En la parte superior de la ventana Inspector puedes realizar las siguientes acciones:
El primer elemento es un cubo de colores que en realidad es una herramienta que te permite asignar un icono al objeto para diferenciarlo en una escena del resto de objetos. Por ejemplo en una escena muy grande poder encontrar al jugador.
Fig. 2.21
Al lado del selector de iconos dispones de una caja selectora que desactiva el objeto cuando la de seleccionamos y activa el objeto cuando está seleccionada. A su lado puedes cambiar el nombre al objeto, en este ejemplo por defecto llamado Cube.
Fig. 2.22
La opción Static hace referencia a si un objeto es estático o no es estático, esta característica se utiliza según el tipo de iluminación utilicemos y qué función va a realizar este objeto en la escena. En estos momentos déjalo desactivado.
Fig. 2.23
Para terminar esta sección tenemos dos menús el Tag (etiqueta) y el Layer (capa). Estos menús te permiten poner etiquetas a los objetos y determinan a qué capas pertenecen. Son herramientas muy útiles en programación cuando queremos llamar a un objeto en concreto.
Fig. 2.24
El siguiente componente es el Transform y te permite manipular el objeto en el espacio 3D. Debes tener en cuenta que los ejes de coordenadas son los que están representados por colores en el guizmo de la ventana escena.
Fig. 2.25
Esta característica te ayudará a identificar hacia dónde quiere realizar la transformación. Si realizas la prueba y cambias de valores los siguientes parámetros verás que el objeto Cube cambia de posición (position), de rotación (rotation) y de tamaño (scale).
Fig. 2.26
Seguramente que mover objetos en una escena de este modo puede ser una tarea muy complicada. Por ese mismo motivo dispones de una serie de herramientas que no se han explicado anteriormente porque tiene más sentido verlas en este contexto.
En la ventana escena dispone de 3 botones para realizar estas mismas transformaciones en un objeto de una forma más intuitiva.
Fig. 2.27
Estas acciones puedes activarlas seleccionando el objeto y pulsando la tecla W para mover el objeto tecla E para rotarlo y tecla R para escalarlo. Para realizar una acción de transformación seleccionas uno de los ejes y pulsando y, manteniendo pulsado el botón izquierdo del ratón, arrástralo para poder desplazar, rotar o escalar el objeto.
Fig. 2.28
En la imagen anterior verás el resto de componentes del GameObject:
1.El componente Mesh es el encargado de darle una malla al objeto.
2.El componente Collider es una caja que delimita mediante cálculos físicos que superficie del objeto impactará con los otros objetos. Este parámetro se explica con mayor detalle en ejemplos posteriores.
3.El componente Mesh Renderer es un conjunto de parámetros que permiten que el objeto pueda ser renderizado por Unity.
4.Los GameObjects por defecto como este se les aplica un material por defecto que puede ser configurado posteriormente.
Ahora que has visto los distintos componentes que tiene un GameObject vas a crear uno totalmente de 0.
Primero en la ventana Hierarchy (Jerarquía) en la opción Create selecciona la opción Create Empty. Te aparecerá el nombre de GameObject en la ventana Jerarquía y en el inspector también tendrás el componente Transform pero en la ventana escena no tendrás ningún objeto. Eso se debe a que todavía no le has asignado los componentes que se te han mostrado anteriormente y que son necesarios para tener un GameObject en condiciones mínimas.
Fig. 2.29
Antes de añadir los componentes le ponemos un nombre en la caja de textos superior.
Fig. 2.30
Para añadir los componentes que necesitamos pulsamos en el botón Add Component. Se te abrirá un menú con muchas opciones, selecciona la opción Mesh>Mesh Filter
Fig. 2.31
Este componente te permite seleccionar que tipo de superficie tendrá el GameObject, para seleccionar el tipo de superficie pulsa en el punto que se encuentra al lado de la caja de textos y en el menú que aparece selecciona el tipo de superficie como se muestra en la siguiente imagen.
Fig. 2.32
El siguiente paso consiste en que el GameObject pueda ser renderizado por Unity, vuelve a pulsar el botón de Add Component>Mesh>Mesh Renderer. Verás que en la ventana aparece el objeto pero tiene un color rosado, esto sucede porque no tiene ningún material aplicado. Para proporcionarle un Material por defecto accede desde las opciones del componente Mesh Renderer>Materials que puedes desplegar mediante la flecha que tienes al lado haciendo clic encima de ella y se desplegaran las opciones de esta sección.
Para seleccionar el material pulsa en el punto al lado de la caja de texto de Element 0. Se te aparecerá una ventana donde puedes seleccionar varios materiales, escoge uno.
Fig. 2.33
Para finalizar todo el proceso de creación de un GameObject debes añadir el collider accediendo a Add Component>Physics>Capsule Collider. En la siguiente imagen se muestra el proceso, en este caso selecciona la opción que tiene la forma de cápsula, por comodidad, pero eso no quiere decir que no pueda poner ningún otro tipo, puedes experimentar todo lo que desees.
Fig. 2.34
En este primer capítulo no quiero entrar en mucho detalle en las opciones porque es mucho contenido para asimilar sobre todo si empiezas desde cero. Para finalizar este capítulo de introducción voy a proponerte un proyecto final en donde vas a poner en práctica todo lo que has visto en los distintos ejercicios.
•Crear un proyecto nuevo.
•Importar los assets del capitulo
•Guardar el proyecto y la escena.
•Crear GameObjects desde cero: 1 cubes, 1 esferas, 1 plano
•Poner nombre a los GameObjects.
•Mover, rotar y escalar GameObjects.
•Poner materiales básicos a los GameObjects.
Cuando hayas terminado con esta actividad pasa al siguiente capítulo.