Tutorial de Unity
Tutorial de Unity
Tutorial de Unity
– Interfaz)
MARZO 25, 2013 JOSEOLIVERA123
En esta primera parte del tutorial Unity voy a explicar lo elemental que hay que saber para poder manejar el
programa, y eso sería identificar las diferentespartes de la interfaz y para que sirven cada una de ellas. Explicaría el paso anterior a abrir el
programa, que sería la instalación, pero esta es muy trivial, y con darle siguiente a todo, basta y una aclaración es que se pide registrarse en la web para poder “activar” la
versión de prueba o cualquier otra versión.
A continuación, detallaré toda la interfaz, para ir entonces familizarizandose con la misma, y no tener una mala primera impresión del
programa.
Inicialmente, al abrir el soft, pregunta para hacer un proyecto nuevo, en lo cual se pide el lugar donde se va a guardar y seleccionar unos
paquetes que tienen diversas cosas ya hechas para poder ponerle a nuestro juego/animación que para el fin del tutorial no son
necesarias, así que simplemente completamos con la dirección donde se alojara nuestro proyecto y le damos al botón “Create “.
Siguiente a ello, veremos lo siguiente:
Tal vez la posición de las ventanitas sea distinta y tal vez tengan una más, y todo eso se puede configurar. Personalmente encontré mas
cómoda esa disposición que se ve arriba.
o La mano permite como agarrar la escena (o sea lo que vemos) y moverlo todo simultáneamente. O en
caso de tener seleccionado un objeto, permite mover ese objeto con total libertad.
o El segundo icono que representan como ejes de coordenadas permite , en caso de tener seleccionado un
objeto, moverlo con el mouse con total libertad al igual que en el caso anterior, pero a diferencia, este permite agarrar un “eje” (o
sea, mantener apretado una de las flechitas que aparecerán en el objeto) y desplazar el objeto en sí sobre dicho eje sin moverlo
sobre otro eje.
o El tercer icono hace referencia a la rotación de un objeto. Cuando se selecciona un objeto y se tiene dicha
opción activada, se mostrará una especie de esfera sobre el mismo y con agarrar con el mouse alguna de las líneas de la esfera, se
verá como el objeto rota sobre cierto eje.
o El cuarto icono muestra una caja expandiéndose y lo que hace es permitir agrandar o reducir el objeto en
cualquiera de sus dimensiones o inclusive en todas por igual.
o El botón primer botón, intercambia entre Pivot y Center. Ambos sirven principalmente para las
rotaciones y la utilidad que le ví fue para objetos compuestos. Lo que hace Center es posicionarte el eje de rotación en el centro de
la entidad, y lo que hace Pivot es posicionarte en el centro del objeto padre de la entidad. Por ejemplo (y estaría bueno que lo
prueben) colocas un cubo y una esfera en la escena, luego la esfera la arrastras “adentro” del cubo (dentro de la
ventana Hierarchy que explicaré un poquito más adelante), entonces prueba realizar rotaciones del cubo utilizando Pivot y Center.
Podrás ver que si usa Center, entonces el cubo y la esfera se rotarán sobre un eje imaginario en el centro de ambos, mientras que
si pulsas Pivot, podrás ver que ambos objetos rotaría considerando al centroide del cubo como punto de rotación.
o El segundo ícono, intercambia entre Local y Global. Lo que hace es setearte los ejes del cubo con
respecto a sí mismo (Local) o con respecto al eje de la escena (Global) y en base a ellos realizarás los movimientos necesarios
para poder hacer lo que deseas hacer.
o El botón de play, sirve para lo que cualquier botón de play sirve, para darle vida al juego/animación. Si
se lo pulsa nuevamente vendría a actuar como el botón stop, lo que vendría a reiniciar todo.
o El segundo botón es obviamente el de pausa, y sirve para eso mismo. Pausa el juego en un momento
dejando todo en su lugar y si luego se lo pulsa de nuevo, seguirá el juego desde el estado en que había quedado al haber sido
pausado.
o El tercer botón actúa como un “paso a paso” y permite ejecutar la escena (casi) cuadro a cuadro. Por ahí
sirve mas que nada para debugear el programa y ver que hace en cada instante de tiempo, ver como las variables van cambiando
en cada frame.
o El primer menú desplazable, contiene todas las capas de la escena. La idea de usar capas es para
diferenciar las diferentes componentes de la escena. Por ejemplo se podría tener una capa para el escenario, otra para los
personajes, otra para cosas animadas, etc. Vendría a representar las capas visibles de la escena, como cuando en Photoshop se
trabaja con capas.
o El segundo menú desplazable, posee diferentes disposiciones de las ventanitas “Scene“, “Game“,
“Hierarchy “, etc. en la interfaz.
Como parte de la interfaz, quedan definir las ventanitas internas:
Ventana Scene/Game
La ventana de Scene es en la cual se irán dibujando todos los objetos que conformarán la escena/nivel.
En su parte superior, se pueden ver varias opciones en las cuales especifican la manera en que se verán los objetos, la
activación de la iluminación, de los sonidos, de los efectos visuales. Por otro lado se pueden especificar el tamaño y los gizmos que
hay activados. Y además se puede ver un recuadro de búsqueda de objetos.
Los gizmos se pueden ver en esta ventana (y no en la de Game). Estos son esos gráficos que detallan los ejes (se
puede ver uno en el cubo, que retrata los ejes de coordenadas) sobre los objetos para poder realizar desde allí mismo desplazamientos,
rotaciones, etc., o simplemente para observar el sentido de los ejes. Además, los gizmos representan los diferentes indicadores de, por
ejemplo, un objeto luz, o un objeto cámara, siendo el gizmo el símbolo que los representa, y así muchas cosillas más del entorno de
la Scene.
En la esquina superior derecha se puede ver los ejes en que la escena se está visualizando. Manteniendo apretado el
botón derecho del mouse, se rotará la visualización de la escena; con el botón de la ruedita del mouse, se moverá estáticamente la
escena, y con el botón izquierdo, se realizará la selección de objetos.
Por otro lado, se puede identificar la solapa de Game en la parte superior de la ventana. En esta es donde se ejecutará
la versión jugable del juego o la preentación de la animación. Y en ella se verá tal cual los objetos de tipo “ Camera” ven, y la edición
estará bloqueada al igual que los gizmos.
Ventana Hierarchy:
o Esta ventana nos muestra los objetos que hay en la escena (estén activos o no).
o El nombre de Hierarchy se da por la manera en que se disponen los objetos. Algunos pueden ser parte de
otros y entonces aparecerán uno debajo del otro al estilo árbol. Para establecer esta jerarquía, es tan simple como arrastrar un
objeto a otro y de esta manera el que se encuentre superior en el árbol es el que agrupará a los demás y al mover este, se moverán
todos sus objetos hijos.
Esto es útil para en el caso en que un objeto sea compuesto por varias partes que actúan independiente pero que forman parte de
un todo. Por ejemplo un personaje en que los brazos son independientes de las piernas, pero al mover el personaje, se mueven
todas sus partes por igual.
o Posee un botón de “Create” el cual permite ir agregando diferentes objetos a la escena.
El buscador es útil para cuando tenemos muchos objetos. Es útil asignarles a cada objeto un nombre en particular y que sea un identificativo de tal
objeto, para que entonces no haya lugar a objetos ambiguos.
Ventana Project:
La ventana Project, nos muestra todos los elementos externos al juego en sí como por ejemplo texturas o modelos diseñados por nosotros o
descargados de internet, scripts, etc.
Vendría a ser una especie de almacén de recursos para poder ir usando en la escena. En la primera columna aparecen todas las carpetas en forma
de árbol mientras que en la columna de la derecha aparecerán los archivos que contienen las carpetas.
Con el botón “Create” se pueden crear nuevos assets o de otra manera, con el botón derecho del mouse sobre alguna de las carpetas que figuran
aquí, se pueden importar nuevos assets utilizados en otros proyectos.
Nuevamente tenemos el buscador, ahora con filtros de búsqueda para mejorar los resultados obtenidos.
En la esquina inferior derecha tenemos una especie de botón deslizable. Este sirve para agrandar o achicar los iconos que figuran en la segunda
columna.
Ventana Inspector:
La ventana “Inspector” nos muestra todos los detalles de cada objeto que hay en la escena. Es en ella en la cual se irán agregando los demás
componentes que harán del objeto, algo más útil.
Yendo de arriba hacia abajo podemos ver:
o El nombre del objeto en la escena (donde además podemos cambiarlo por otro), junto a un check box que permite habilitar el objeto
en común, y que simplemente sirve para indetificar y además a la hora de realizar los scripts, poder buscar a los objetos mediante sus tags.
o Layer o capa en la cual se dibujará el objeto.
o Transform: este es un componente esencial para todos los objetos y permite determinar la posición espacial del mismo, junto con
componentes se puede activar (mediante el check-box al lado de su nombre) o desactivar su funcionamiento. Este tipo de componentes no es el único y representa
en este caso un cubo detector de colisiones. Para una esfera, se utilizará por ejemplo, unSphereCollider. Este componente no es indispensable.
o Mesh Renderer: es el encargado de visualizar el objeto en la escena. Se encarga de realizar el rendering del objeto.
o RigidBody: es un componente no indispensable y se encarga de otorgarle física al objeto.
Por último, tenemos el botón Add Component. Desde aquí podemos agregarle componentes sin tener que desplazarnos hasta el
menú Component de la barra de menúes.
Ventana Console:
Por último, dentro de las ventanas más comunes, tenemos la de la consola. En esta ventana podemos ver los errores que surjan de los scripts que se
tengan que ejecutar o aquellos errores durante la ejecución. Al igual que advertencias sobre ciertas cosas de la escena, que son recomendables solucionar para que
durante la ejecución no sucedan errores.
Y aquí concluye la primera parte del tutorial, relacionado al uso de la interfaz de Unity.
Cuando uno inicia un proyecto nuevo, por defecto, posee un objeto ya existente que se puede ver en la Hierarchy, que es la Main Camera.
Este objeto, es clave en cualquier escena y se encarga de “capturar” lo que ve y esta captura será lo que se ve realmente al ejecutar nuestro
juego.
Esta posee el componente que realiza lo dicho anteriormente y este se denomina Camera. Posee dentro de él las siguientes propiedades:
Clear Flags: donde se determinan las partes que no se verán de la pantalla. Y esto sirve más que nada cuando se manejan
múltiples cámaras.
Background: el color que pintará la escena en caso que la cámara vea simple vacío espacial.
Culling Mask: lo que se seleccione acá, no será renderizado (no visualizado) siempre y cuando la cámara no lo vea. Everything,
quiere decir que todo lo que la cámara no vea, no sea renderizado y por lo tanto mejora la eficiencia de la reproducción del juego.
Projection: determina el tipo de proyección que considera la cámara. Para hacerla más fácil, esta tiene 2 opciones, Perspective,
que permite ver en 3D las cosas y Orthographic, que permite tener una visualización 2D de la escena por así decirlo.
Las demás propiedades los invito a que las testeen y sirven para determinar el frustum de captura de la cámara.
Documentación de Unity sobre este componente:
http://docs.unity3d.com/Documentation/Components/class-Camera.html
Directional Light:
A la derecha, se puede en laHierarchy como se agregó esteGameObject, y a su derecha lo que se llama Inspector cuya función como ya he
mencionado es proveer todas las propiedades, y componentes que el objeto seleccionado posee.
En este caso, para la Directional Light, tenemos gracias al componenteTransform que se encuentra en la posición 5 en el eje Y y -5 en el eje
Z con respecto al origen de coordenadas. Además posee una rotación respecto del eje X de 45 grados, y por último, una escala unitaria.
Luego tenemos un componente propio que se encarga de emitir la luz, y como se puede ver, este componente se llama Light. Dentro de sí,
posee el tipo de luz que emitirá, el color de la luz (que se puede modificar tocando en el gotero o simplemente sobre el cuadro ahora blanco),
la intensidad de la luz, y demás propiedades, que tocando un poco podrán saber que hacen.
Por propia convención, dispuse el cubo en la posición (0,0.5,0) mientras que el plano en (0,0,0). El 0.5 en Y del cubo, es para que el mismo
no atraviese el plano y quede perfectamente sobre su superficie, y debido a que el cubo (ahora paralelepípedo) tiene de altura 1, y teniendo en
cuenta que el centro del cubo es el punto de referencia de todas las transformaciones que le haga, entonces si colocase el cubo en la posición
(0,0,0), el plano lo atravesaría a la mitad, y es por esto que lo subí 0.5 unidades. Además tiene una pequeña rotación y un estiramiento.
Una de las cosas que se pueden ver en la pantalla, que antes no he mostrado, es que al seleccionar un objeto de tipo cámara, se puede ver un
pequeño recuadro que nos proporciona la visión de la misma, y otra de las cosas que podemos observar es la proyección del frustum que ésta
captará.
Materials:
Y para ir terminando esta parte del tutorial, les mostraré como colorear los objetos como el cubo o el plano.
Para ello, deberemos crear un Material, que vendría a ser la “pintura” con la que se pintarán los objetos. Entonces vamos al
menú Assets , allí elegimos Create, y luego tocamos en Material.
Se mostrará este nuevo material ya no en la Hierarchy, sino que aparecerá en la ventana de Project . Ya entonces con este nuevo material,
procederemos a asignarle algún color u alguna textura. En primer lugar se deberá seleccionar el shader que uno prefiera para lograr el efecto
deseado, y luego aparecerán varias opciones para modificar a gusto el material. Para hacerlo sencillo, tildamos en Shader -> Diffuse, y luego
en el recuadro de color blanco elegimos un color que nos guste para asignarle al plano. Ya con este nuevo material, lo que hacemos ahora es
arrastrar elMaterial desde Project hacia el Plane que tenemos en Hierarchy o directamente lo arrastramos a la escena, encima del plano y
podremos ver como este toma color.
En caso que deseamos asignarle algún dibujo que tengamos en la PC o alguna textura que hayamos hecho o descargado, primero deberemos
cargar la misma al proyecto y para ello vamos nuevamente al menú Assetsy luego Import New Asset. Aquí buscamos la textura en el
directorio que se encuentra y la cargamos. Una vez que tenemos esto, arrastramos este nuevo asset al Material que habíamos creado a la
recuadro que hay debajo del que seleccionamos el color en un inicio.
Documentación en Unity sobre Material:
http://docs.unity3d.com/Documentation/ScriptReference/Material.html
Y aquí concluye la segunda parte del tutorial, relacionado al manejo básico de objetos de Unity.