Diferencia entre revisiones de «UNITY El entorno de desarrollo»
Ir a la navegación
Ir a la búsqueda
Nota: Recordar que el icono '2d' de la parte superior no debe estar marcado.
Movimiento con la rueda del ratón
Rotación con botón derecho de ratón
Zoom pulsando la tecla ALT más el botón derecho del ratón
Tecla F para situarnos en un objeto
Mostrando la escena a partir de la cámara
Línea 54: | Línea 54: | ||
: Entre estos componentes tendremos: | : Entre estos componentes tendremos: | ||
:* Cámara. | :* Cámara. | ||
− | :* | + | :* Cualquier figura 3D que forma parte del juego (personajes, disparos, enemigos, terreno, casas,...) |
− | |||
− | |||
:* Luces. | :* Luces. | ||
+ | :* Sonidos. | ||
:* Vídeos. | :* Vídeos. | ||
− | :* Y cualquier elemento que incorporemos a nuestro juego. | + | :* Y cualquier elemento que incorporemos a nuestro juego. |
+ | |||
+ | : '''TODOS LOS COMPONENTES QUE APARECEN EN NUESTRO JUEGO CONFORMAN <u>LA ESCENA</u>'''. | ||
* A cada uno de los objetos que se encuentre en la ventana de jerarquía se denomina '''Game Object'''. | * A cada uno de los objetos que se encuentre en la ventana de jerarquía se denomina '''Game Object'''. | ||
− | : Los objetos van a aparecer situados de forma jerárquica de igual manera a como vemos los archivos | + | : Los objetos van a aparecer situados de forma jerárquica de igual manera a como vemos los archivos de un Sistema Operativo por medio del programa explorador de windows, es decir, de forma jerárquica. |
− | * Inicialmente aparece un único gameobject que es la cámara 3D. | + | * Inicialmente aparece un único gameobject que es la cámara 3D, denominada '''Main Camera'''. |
: Como vemos, la cámara se encuentra (en la jerarquía) dentro de un 'icono' con nombre '''Untiled'''. | : Como vemos, la cámara se encuentra (en la jerarquía) dentro de un 'icono' con nombre '''Untiled'''. | ||
Revisión del 10:45 11 ago 2019
Sumario
Introducción
- En este punto vamos a explicar en que partes está dividida la interfaz del programa.
- Estas son las partes principales en las que está dividida la interface del programa:
- Parte izquierda: Hierarchy Window => Ventana jerárquica
- Parte central:
- Tool Bar => Barra de herramientas
- Scene View => Vista de escena
- Game Window => Ventana de juego
- Parte derecha: Window Inspector => Ventana Inspector
- Parte inferior:
- Proyect Window => Ventana de proyecto.
- Console => Ventana de consola.
- Nota: Esta es la distribución por defecto, pero todas las ventanas pueden ser:
- Movidas: Sobre la pestaña que representa la ventana, presionamos el botón izquierdo del ratón y sin soltar, arrastramos la ventana a cualquiera de las partes en las que está dividida la Interface.
- Cerradas: Pulsando el botón derecho del ratón sobre la pestaña de la ventana que queremos cerrar y escogiendo la opción Close Tab.
- Para añadir nuevas ventanas (o volver a visualizar una ventana previamente cerrada) podéis escogerlas en la opción de menú Window de Unity:
- Si queremos volver a dejar el entorno a su distribución inicial podemos pulsar la opción Window => Layouts => Default o también podemos ir por la ToolBar:
- Como podemos observar en los menús anteriores, existen unas distribuciones de ventana ya prefijadas que podemos escoger o bien podemos crear nuestra propia distribución y guardarla para usarla cuando queramos.
Ventana jerárquica
- Más información en este enlace.
- En inglés: Hierarchy Window
- En esta ventana van a aparecer todos los componentes que conforman nuestro juego.
- Entre estos componentes tendremos:
- Cámara.
- Cualquier figura 3D que forma parte del juego (personajes, disparos, enemigos, terreno, casas,...)
- Luces.
- Sonidos.
- Vídeos.
- Y cualquier elemento que incorporemos a nuestro juego.
- TODOS LOS COMPONENTES QUE APARECEN EN NUESTRO JUEGO CONFORMAN LA ESCENA.
- A cada uno de los objetos que se encuentre en la ventana de jerarquía se denomina Game Object.
- Los objetos van a aparecer situados de forma jerárquica de igual manera a como vemos los archivos de un Sistema Operativo por medio del programa explorador de windows, es decir, de forma jerárquica.
- Inicialmente aparece un único gameobject que es la cámara 3D, denominada Main Camera.
- Como vemos, la cámara se encuentra (en la jerarquía) dentro de un 'icono' con nombre Untiled.
- Este icono representa una escena (scene) de nuestro juego.
- ¿ Y qué es una escena ?
- Podemos definirla como un conjunto de objetos que conforman una fase de nuestro juego.
- Imaginemos un juego:
- El comecocos: Este juego tendría una única escena formada por el fondo, los fantasmas y el comecocos.
- Una aventura gráfica: Este juego tendría varias escenas, una estaría en el interior de la nave. Otra escena sería en la superficie del planeta,....
- También podríamos tener escenas por niveles del juego, en el que cada nivel aparezcan escenarios nuevos con nuevos enemigos.
- Para crear nuevas escenas dentro de nuestro proyecto seleccionaremos la opción de menú File de Unity (o pulsamos la combinación de teclas Ctrl+N):
- Para cargar una escena podemos abrirla desde misma opción File de Unity o simplemente pulsamos dos veces sobre al escena la cual aparece en la Proyect Window (explicado a continuación).
- Como paso inicial vamos a guardar nuestra escena con un nombre.
- Nota: Si creamos nuevas escenas (Ctrl+N), tendremos que guardarlas de la misma forma. Al guardar una nueva escena se nos pedirá en que carpeta del S.O. debemos guardarla. Normalmente todas las escenas deberían guardarse en la carpeta Scenes.
- Seguimos con la Hierarchy Window.
- A parte de añadir los gameobjects de nuestro juego, como comentamos anteriormente, esta ventana permite tener una relación de jerarquía entre los objetos.
- ¿ Y para qué nos va a servir esto ?
- Pues resulta que:
- Vamos a poder realizar operaciones que van a afectar a todos los objetos de la jerarquía a la vez.
- Nos permite establecer propiedades de los hijos con valores relativos con respecto a los valores que tenga un objeto padre.
- Imaginemos un caso;
- Un juego en el que queramos que delante de nuestra nave siempre se encuentren 4 escudos protegiéndola. Podemos crear los escudos 'dentro' de la nave en la jerarquía, de tal forma que su posición siempre será relativa a la nave. Si movemos la nave, se mueven los escudos.
Añadiendo objetos
- Sobre esta ventana es donde vamos a añadir todos los componentes que conforman nuestro juego.
- Unity permite añadir figuras 'básicas' de forma muy sencilla.
- En nuestro ejemplo, vamos a añadir un Cubo (Cube) a la Scene de alguna de las formas anteriores.
- Al hacerlo se visualizará un cubo en la ventana central (SceneView, que será explicada posteriormente).
- Nota: Todos los GameObjects que se crean, tienen una 'propiedad' asociada que se denomina Transform.
- Esta tiene tres elementos asociados:
- Position: posición
- Rotation: rotación
- Scale: escala
- Si ponemos un número en la posición estaremos cambiando de sitio el GameObject seleccionado.
- Veremos más adelante como manejar dichas propiedades, pero en este punto indicar que podemos colocar cualquier GameObject en la posición (0,0,0) si pulsamos la opción Reset:
- La Hierarchy Window se comporta como un explorador de archivos de Windows con carpetas. Podemos tener GameObjects unos dentro de otros.
- Si un GameObject está dentro de otro, el GameObject padre tendrá una flecha a su lado y si pulsamos sobre ella, los GameObjects hijos se ocultarán:
- Debéis fijaros en dos cosas:
- El cubo, en la Hierarchy Window debe de estar dentro de la escena, pero a la misma altura que la cámara.
- Si os aparece dentro de la cámara quiere decir que habéis creado el objeto pulsando el botón derecho del ratón sobre la cámara y no sobre la escena. Podéis corregirlo 'arrastrando' el cubo en la ventana de jerarquía (pulsando sobre él con el botón izquierdo y sin soltar) y situarlo encima de la cámara o arrastrarlo a la parte baja donde no haya ningún GameObject.
- En la SceneView (ventana central) os debe aparecer el cubo con una perspectiva 3D. Si no es el caso aseguraros que en la parte superior de la ventana central (el marco) no esté seleccionado la opción 2D (está indicado en la imagen anterior).
Creando gameobjects vacíos
- En Unity también vamos a poder crear GameObjects 'vacíos' que nos van a permitir agrupar otros GameObjects.
- Por ejemplo, podría crear un GameObjet de nombre 'Muralla' y dentro del mismo tener a los GameObjects que conforman la muralla. De esta forma, podría, por ejemplo, hacer visible o invisible a toda la muralla activando o desactivando el gameobjet 'Muralla'.
Podemos comprobar como se crea un gameobject que tiene una posición en el espacio (x,y,z) pero que no dibuja nada. Para cambiar el nombre podemos pulsa una vez con el botón izquierdo del ratón estando previamente seleccionado (en azul) o pulsamos el botón derecho sobre el mismo y escogemos la opción 'Rename'. Cambiaremos su nombre por el de Muralla.
Otras operaciones sobre los gameobjects
- Borrar un gameobject:
- Tecla suprimir
- Botón derecho del ratón sobre el mismo y escoger la opción Delete.
- Duplicar un gameobject (crea otro igual con sus mismas propiedades):
- Seleccionando el objeto, Ctrl+D.
- Botón derecho del ratón sobre el mismo y escoger la opción Duplicate.
- Cambiar el nombre:
- Con el objeto seleccionado, pulsamos una vez sobre el mismo con el botón izquierdo del ratón.
- Botón derecho del ratón sobre el mismo y escoger la opción Rename.
ToolBar
- Más información en este enlace.
- Aquí se encuentran varios grupos de botones:
- Los botones que nos van permitir aplicar diferentes transformaciones sobre los objetos 3D de la escena, como rotarlos, moverlos, escalarlos,...
- Los botones que nos van permitir ver los ejes (x,y,z) de los objetos 3D individuales y agrupados.
- Los botones para iniciar el juego, pausar, o pararlo (si está en ejecución).
- Los botones que nos permiten identificarnos con una cuenta de Unity, crear capas y establecer el aspecto de ventanas del entorno de Unity.
Vista de Escena
- Más información en este enlace.
- En inglés Scene View.
- Esta es una de las ventajas de utilizar un motor de juegos frente a un framework.
- Vamos a poder ver en 'tiempo real' como queda la escena con todos los objetos del juego (gameobject).
- Va a ver una relación directa entre esta vista y ciertas 'propiedades' de la ventana inspector (la ventana de la derecha).
- Esto es así ya que vamos a poder:
- Mover.
- Rotar
- Escalar
- Todos los objetos que conforman la escena y lo vamos a poder realizar desde la 'Scene View' o desde la 'Window Inspector'.
- Podéis consultar en este enlace las teclas y combinaciones de tecla-ratón que se pueden aplicar en esta vista.
- Las más importantes que vamos a utilizar son las siguientes (siempre sobre la ventana de escena):
- Nota: Estas combinaciones están probadas con un ratón de dos botones y una rueda. Con otras combinaciones consultar el enlace anterior.
- Pulsando la rueda del ratón y sin soltar mover el ratón a izquierda-derecha, arriba-abajo: Nos movemos a izquierda-derecha y arriba-abajo pero sin rotar. Tener en cuenta que lo que movemos es la forma en cómo la persona que programa ve los objetos del juego. Pero recordar que como se va a visualizar la escena lo determina la cámara. Lo veremos después.
- Fijarse que en la barra de herramientas se selecciona la mano:
- Pulsa el botón derecho del ratón (o la tecla ALT y sin soltar el botón izquierdo del ratón) y sin soltar mover el ratón a izquierda-derecha, arriba-abajo: La vista 'rota' hacia la izquierda-derecha y arriba-abajo. Fijarse que el icono cambia por un ojo.
- Fijarse que en la barra de herramientas se selecciona un ojo:
- Pulsa la tecla ALT más el botón derecho del ratón y sin soltar mover el ratón a izquierda-derecha o arriba-abajo: Hacemos un zoom sobre la escena, acercándonos o alejándonos.
- Fijarse que en la barra de herramientas se selecciona una lupa:
- Este efecto también lo conseguimos moviendo la rueda del ratón.
- Si al movernos o desplazarnos queremos situarnos rápidamente en el sitio donde se encuentra un 'gameobject', podemos:
- Seleccionarlo en la 'ventana jerárquica' y situándonos sobre la 'ventana de escena' pulsar la tecla F
- Pulsar dos veces seguidas sobra el gameobject en la Hierarchy Window.
- Como comenté anteriormente, no tiene nada que ver la vista del desarrollador con la vista del juego. La vista del juego viene determinada por una cámara. La cámara está situada en una posición dentro de la escena, 'apuntando' hacia un lugar.
- Si en la 'ventana jerárquica' pulsáis sobre la cámara, podéis ver cual será la vista del jugador cuando comience el juego.
- Esta misma vista la podéis conseguir si pulsáis la 'pestaña' Game de la 'ventana de escena':
- En otro punto hablaremos de la cámara, simplemente tened en cuenta que es como un gameobject con las propiedades de los mismos, como posición, rotación,...Podéis utilizar la tecla F para ver la posición de la cámara en la escena, como hicimos antes con el cubo:
- La 'pirámide' que sale de la cámara representa el área de visualización de la misma.
- En el mundo 3D disponemos de tres ejes (X-Y-Z). El icono que está dentro de la 'vista de escena' permite visualizar un objeto situándonos en uno de esos tres ejes.
- Si pulsamos sobre uno de los ejes, nos situaremos en ese eje mirando hacia el objeto.
- El eje X es el que va de derecha a izquierda.
- EL eje Y es el que va de arriba a abajo.
- El eje Z es el que va de dentro a fuera (como si saliera del monitor).
- En este caso no vais a notar la diferencia visualmente al pulsar ya que el cubo no tiene texturas para 'identificar' las caras del mismo. Simplemente veréis que vuestra perspectiva (la del programador) cambia.
- Más información en este enlace.
Ventana Inspector
- Más información en este enlace.
- En inglés Window Inspector.
- En esta ventana vamos a poder:
- Modificar la posición, rotación y escala de los gameobjets que conforman el juego.
- Añadir script's (códigos de programación).
- Añadir componentes como sonidos, efectos, detección de colisiones, gravedad,....
- Cada uno de esos elementos son Componentes que van a afectar al GameObject asociado.
- Más información en este enlace.
Vista de Juego
- Más información en este enlace.
- En inglés Game View.
- A medida que vayamos desarrollando el juego querremos hacer pruebas sobre el mismo. Para poner el juego 'en marcha' debemos de pulsar el botón Play que se encuentra en la parte superior de la 'vista de escena'.
- Si pulsamos el botón de 'play' pasaremos a estar en la pestaña de 'Game' y dentro del Game Window y el juego se estaría ejecutando (ahora mismo no pasa nada ya que no realizamos ninguna acción).
- Si estamos en modo 'Play' podemos pausar el juego pulsando el botón a la derecha del mismo ('Pause').
- Estando en modo 'Pause' podemos pulsar el botón siguiente ('Next Step') para 'avanzar' el juego y volver a estar en 'Pause'.
- Fijarse que a pesar de estar en ejecución podemos modificar los valores de las variables de cualquier GameObject y este las aplicaría inmediatamente.
- Por ejemplo, modificar la posición en la 'ventana inspector' del cubo y veréis como se desplaza en la pestaña de 'Game' en la 'vista de escena'.
- Todas estas modificaciones en ejecución no se guardarán al parar el juego y volverán a sus valores originales.
- Unity nos permite ejecutar el juego y estando en ejecución, modificar los valores de los GameObjets (cambiando su posición, escala, dando valores nuevos a los scripts (programas) asociados a los GameObjets,...). Si realizamos modificaciones estando en ejecución y paramos el juegos, cuando volvamos a ejecutarlo dichas modificaciones se pierden.
- Para distinguir cuando estamos en ejecución (muchas veces pasa que no nos damos cuenta, modificamos parámetros de los GameObjects y al parar volvemos a los valores anteriores) podemos hacer que el entorno nos señale que se encuentra en ejecución.
- Para ello seguimos estos pasos:
- Más información en este enlace.
Proyect Window / Console
- Más información en este enlace.
- En la parte inferior encontramos la Proyect Window.
- En esta ventana se encuentran todos los Assets (son los recursos que vamos a usar para el juego, como gráficos, animaciones, materiales, texturas, sonido,...) organizados como si fueran un sistema de archivos, en forma de carpetas.
- Excepto en algunos casos, podremos organizarlo como queramos, creando nuestras propias carpetas y añadiendo dentro de ellas los recursos que usaremos para desarrollar nuestro juego.
- Nuestro juego también va a tener asociado ciertos programas denominados scripts (existe una carpeta con ese nombre en el árbol del 'Proyect Window'. Si alguno de esos scripts está mal programado, aparecerá el error correspondiente en la parte baja de dicha ventana, como aparece en la captura anterior.
- En la pestaña de Console aparecen los errores que pueda haber en los scripts y también los errores que se puedan producir durante la ejecución del juego.
- También sirve como recurso para los programadores para mostrar los valores de variables utilizadas dentro de los scripts.
- Más información en este enlace.
-- Ángel D. Fernández González -- (2018).