Diferencia entre revisiones de «UNITY El entorno de desarrollo»

De MediaWiki
Ir a la navegación Ir a la búsqueda
 
(No se muestran 55 ediciones intermedias de 2 usuarios)
Línea 3: Línea 3:
 
* En este punto vamos a explicar en que partes está dividida la interfaz del programa.
 
* En este punto vamos a explicar en que partes está dividida la interfaz del programa.
  
[[Imagen:Unity3d_interfaz_1.jpg|400px|center]]
+
[[Imagen:Unity3d_interfaz_1.jpg|600px|center]]
  
  
  
* Y vamos a empezar a explicarlo con las tres ventanas centrales.
+
* Estas son las partes principales en las que está dividida la interface del programa:
:* '''Hierarchy Window''' => Ventana jerárquica
+
:* Parte izquierda: '''Hierarchy Window''' => Ventana jerárquica
:* '''Scene View''' => Vista de escena
+
:* Parte central:
:* '''Window Inspector''' => Ventana Inspector
+
::* '''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.
  
  
 +
 +
*<u>Nota:</u> 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:
 +
[[Imagen:Unity3d_entorno_1.jpg|400px|center]]
 +
 +
 +
:* 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:
 +
 +
<gallery caption="Distribución por defecto" widths="350" heights="300px" perrow="2">
 +
Image:Unity3d_entorno_1b.jpg | Podemos ir por la ToolBar.
 +
Image:Unity3d_entorno_1c.jpg | Podemos ir por la opción de menú Windows.
 +
</gallery>
 +
 +
:: 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.
  
  
  
 
<br />
 
<br />
 +
 
=Ventana jerárquica=
 
=Ventana jerárquica=
 +
 +
* Más información [https://docs.unity3d.com/Manual/Hierarchy.html en este enlace].
 +
  
 
* En inglés: '''Hierarchy Window'''
 
* En inglés: '''Hierarchy Window'''
Línea 27: Línea 54:
 
: Entre estos componentes tendremos:
 
: Entre estos componentes tendremos:
 
:* Cámara.
 
:* Cámara.
:* Personajes del juego.
+
:* Cualquier figura 3D que forma parte del juego (personajes, disparos, enemigos, terreno, casas,...)
:* Efectos de sonido.
 
:* Animaciones.
 
 
:* 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 del Sistema Operativo por medio del programa explorador de windows, es decir, de forma jerárquica.
+
: 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'''.
  
Línea 54: Línea 82:
 
: También podríamos tener escenas por niveles del juego, en el que cada nivel aparezcan escenarios nuevos con nuevos enemigos.
 
: También podríamos tener escenas por niveles del juego, en el que cada nivel aparezcan escenarios nuevos con nuevos enemigos.
  
* Como paso inicial vamos a darle un nombre a nuestra escena. Para ello vamos a presionar la elemento del menú principal '''File''' y escogeremos la opción '''Save Scene as''' o bien podemos pulsar la combinación de teclas '''Mayusc+Control+S'''
 
  
[[Imagen:Unity3d_interfaz_4.jpg|300px|center]]
 
  
: Le damos de nombre '''Escena_1'''.
+
* 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):
 +
[[Imagen:Unity3d_interfaz_3b.jpg|200px|center]]
 +
: 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).
  
  
* Podemos comprobar como la escena guardada aparece en la parte inferior de la interfaz con el nombre que le dimos.
 
[[Imagen:Unity3d_interfaz_5.jpg|300px|center]]
 
  
 +
* Como paso inicial vamos a guardar nuestra escena con un nombre.
 +
<gallery caption="Guardando una escena" widths="350" heights="300px" perrow="2">
 +
Image:Unity3d_interfaz_4.jpg| Para ello vamos a presionar la elemento del menú principal '''File''' y escogeremos la opción '''Save Scene as''' o bien podemos pulsar la combinación de teclas '''Control+S'''. Le damos de nombre '''Escena_1'''.
 +
Image:Unity3d_interfaz_4a.jpg| Pedirá el nombre del archivo físico y un lugar en el S.O. donde guardarla. Por defecto aparecerá la carpeta Assets de nuestro proyecto. Podemos comprobar como la escena guardada aparece en la parte inferior de la interfaz (Project Window) con el nombre que le dimos.
 +
Image:Unity3d_interfaz_5b.jpg| Podemos crear nuevas carpetas dentro de Assets para que quede todo ordenado. Para ello debemos pulsar el botón derecho sobre Assets y escoger '''Create => Folder'''. En nuestro ejemplo vamos a crear una carpeta de nombre '''Scenes'''.
 +
Image:Unity3d_interfaz_5c.jpg| Arrastramos la escena guardada a la carpeta creada. Esto se traduce en que físicamente el archivo guardado anteriormente en Assets pasa a estar en Assets/Scenes/
 +
Image:Unity3d_interfaz_5d.jpg| En cualquier momento podemos ver donde se encuentra físicamente el archivo creado pulsando el botón derecho sobre cualquier elemento de la 'Project Window' y escogiendo la opción '''Show in Explorer'''. Si realizamos cambios a nivel del Sistema Operativo, moviendo archivos o creando carpetas, estos se visualizarían inmediatamente en la 'Project Window'.
 +
</gallery>
  
  
 +
:<u>Nota:</u> 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'''.
  
  
* A parte de añadir los gameobjects de nuestro juego, como comentamos anteriormente, tendremos una relación de jerarquía entre los objetos.
+
 
 +
 
 +
 
 +
* 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 ?
 
: ¿ Y para qué nos va a servir esto ?
  
Línea 84: Línea 123:
 
* Sobre esta ventana es donde vamos a añadir todos los componentes que conforman nuestro juego.
 
* 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.
 
: Unity permite añadir figuras 'básicas' de forma muy sencilla.
: Basta con pulsar el botón derecho sobre la escena y en el menú emergente escoger '''GameObject''' => '''3D Object''' => Y ahora podemos escoger una de las figuras que incorpora el Unity.
+
<gallery caption="Añadiendo figuras básicas a la escena" widths="350" heights="300px" perrow="2">
: En nuestro caso, un Cubo (Cube).
+
Image:Unity3d_interfaz_7b.jpg| Podemos pulsar el botón derecho sobre la '''Hierarchy Window''' y en el menú emergente escoger '''GameObject''' => '''3D Object''' => Y ahora podemos escoger una de las figuras que incorpora el Unity.
 +
Image:Unity3d_interfaz_7c.jpg| En al misma '''Hierarchy Window''' podemos pulsar sobre la opción '''Create'''.
 +
Image:Unity3d_interfaz_7d.jpg| En el menú superior de Unity, podemos escoger la '''opción de Menú GameObject'''.
 +
</gallery>
 +
 
 +
 
  
 +
 +
* 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).
 
: Al hacerlo se visualizará un cubo en la ventana central (SceneView, que será explicada posteriormente).
  
 
[[Imagen:Unity3d_interfaz_7.jpg|400px|center]]
 
[[Imagen:Unity3d_interfaz_7.jpg|400px|center]]
 +
 +
 +
* <u>Nota:</u> 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''':
 +
[[Imagen:Unity3d_interfaz_7a.jpg|400px|center]]
 +
 +
 +
 +
 +
* 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:
 +
[[Imagen:Unity3d_interfaz_7e.jpg|300px|center]]
 +
 +
 +
  
 
: Debéis fijaros en dos cosas:
 
: Debéis fijaros en dos cosas:
:* El cubo en la jerarquía está dentro de la escena, pero a la misma altura que la cámara.  
+
:* 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.
+
:: 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).
+
:* 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 ([https://wiki.cifprodolfoucha.es/images/c/c5/Unity3d_interfaz_7.jpg está indicado en una imagen anterior]).
 +
 
 +
 
 +
<br />
 +
 
 +
===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'.
 +
 
 +
<gallery caption="Creando un gameobject vacío" widths="350" heights="300px" perrow="2">
 +
Image:Unity3d_interfaz_7f.jpg| Pulsamos el botón derecho del ratón sobre la ventana '''Hierarchy Window''' y escogemos la opción '''Create Empty'''.
 +
Image:Unity3d_interfaz_7g.jpg| Escogemos la '''opción de menú GameObject''' => Create Empty (o la combinación de teclas Ctrl+Shift+N).
 +
Image:Unity3d_interfaz_7h.jpg| Podemos comprobar como se crea un gameobject que tiene una posición en el espacio (x,y,z) pero que <u>no dibuja nada</u>. 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.
 +
Image:Unity3d_interfaz_7i.jpg| En otras secciones veremos que operaciones podemos hacer sobre los GameObjects, pero adelantando algo, estando seleccionado el gameobjet Muralla, cambia la propiedad '''Transform''' => '''Position''' => '''x''' por el valor -5. Al hacerlo podrás comprobar como la posición de 'Muralla' cambia.
 +
Image:Unity3d_interfaz_7j.jpg| Sobre el objeto Muralla, vamos a crear dos gameobjects nuevos: un cilindro y un cubo. Podemos comprobar como se crean en la 'posición' del gameobject 'Muralla' (fijarse como los dos objetos están dentro de la jerarquía de 'Muralla', lo sabemos por la flecha.
 +
Image:Unity3d_interfaz_7k.jpg| Si cambiamos la posición de 'Muralla' podemos comprobar como todos los gameobjects que cuelgan de él se desplazan al mismo lugar.
 +
</gallery>
 +
 
 +
 
 +
 
 +
 
 +
<br />
 +
===Operaciones de visualización-selección===
 +
 
 +
* En la parte izquierda de cada GameObject aparecen dos iconos que podemos activar-desactivar:
 +
:* Icono para visualizar: Si lo desactivamos el GameObject no aparece en la escena.
 +
:* Icono para seleccionar: Si lo desactivamos, no podremos seleccionar el GameObject desde la Scene Window.
 +
 
 +
 
 +
<gallery caption="Creando un gameobject vacío" widths="350" heights="300px" perrow="2">
 +
Image:Unity3d_interfaz_7l.jpg| Esta desactivado el icono de selección, por tanto aunque pulsemos encima dell cubo desde la Scene Window, el cubo no se selecciona.
 +
Image:Unity3d_interfaz_7m.jpg| Está desactivado el icono de visualizar, por lo que el cubo no aparece en la Scene Window, '''pero sí en la Game Window'''.
 +
</gallery>
 +
 
 +
 
 +
 
 +
 
 +
<br />
 +
===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'''.
 +
 
 +
 
 +
 
 +
<br />
 +
 
 +
=ToolBar=
 +
 
 +
* Más información en [https://docs.unity3d.com/Manual/Toolbar.html este enlace].
 +
 
 +
[[Imagen:Unity3d_ToolBar_1.jpg|1000px|center]]
 +
 
 +
* 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.
 +
 
 +
 
  
  
 
<br />
 
<br />
 +
 
=Vista de Escena=
 
=Vista de Escena=
 +
 +
* Más información [https://docs.unity3d.com/Manual/UsingTheSceneView.html en este enlace].
 +
  
 
* En inglés '''Scene View'''.
 
* En inglés '''Scene View'''.
Línea 112: Línea 252:
  
  
* Va a ver una relación directa entre esta vista y ciertas 'propiedades' de la '''ventana inspector''' (la marcada como el número 3 al principio de este punto).
+
* 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:
 
: Esto es así ya que vamos a poder:
 
:* Mover.
 
:* Mover.
Línea 140: Línea 280:
  
  
:* Pulsa el botón derecho del ratón (o la tecla ALT) y <u>sin soltar</u> 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.
+
:* Pulsa el botón derecho del ratón (o la tecla ALT y sin soltar el botón izquierdo del ratón) y <u>sin soltar</u> 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:
 
:: Fijarse que en la barra de herramientas se selecciona un ojo:
 
:: [[Imagen:Unity3d_w_escena_8.JPG|500px|center]]
 
:: [[Imagen:Unity3d_w_escena_8.JPG|500px|center]]
  
 
::<gallery caption="Rotación con botón derecho de ratón" widths="350" heights="300px" perrow="2">
 
::<gallery caption="Rotación con botón derecho de ratón" widths="350" heights="300px" perrow="2">
Image:Unity3d_w_escena_3.JPG| Pulsamos el botón derecho del ratón (o la tecla ALT) y sin soltar...
+
Image:Unity3d_w_escena_3.JPG| Pulsamos el botón derecho del ratón (o la tecla ALT y sin soltar el botón izquierdo del ratón) y sin soltar...
 
Image:Unity3d_w_escena_4.JPG| Movemos a izquierda-derecha y arriba-abajo provocando una rotación.
 
Image:Unity3d_w_escena_4.JPG| Movemos a izquierda-derecha y arriba-abajo provocando una rotación.
 
</gallery>
 
</gallery>
Línea 154: Línea 294:
 
:: Fijarse que en la barra de herramientas se selecciona una lupa:
 
:: Fijarse que en la barra de herramientas se selecciona una lupa:
 
:: [[Imagen:Unity3d_w_escena_10.JPG|500px|center]]
 
:: [[Imagen:Unity3d_w_escena_10.JPG|500px|center]]
 +
:: Este efecto también lo conseguimos moviendo la rueda del ratón.
 +
  
 
::<gallery caption="Zoom pulsando la tecla ALT más el botón derecho del ratón" widths="350" heights="300px" perrow="2">
 
::<gallery caption="Zoom pulsando la tecla ALT más el botón derecho del ratón" widths="350" heights="300px" perrow="2">
Línea 162: Línea 304:
  
  
* Si al movernos o desplazarnos queremos situarnos rápidamente en el sitio donde se encuentra un 'gameobject', solo tenemos que seleccionarlo en la 'ventana jerárquica' y <u>situándonos sobre la 'ventana de escena' '''pulsar la tecla F'''</u>
+
* 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 <u>situándonos sobre la 'ventana de escena' '''pulsar la tecla F'''</u>
 +
:* Pulsar <u>dos veces seguidas sobra el gameobject</u> en la Hierarchy Window.
 +
 
 
::<gallery caption="Tecla F para situarnos en un objeto" widths="350" heights="300px" perrow="2">
 
::<gallery caption="Tecla F para situarnos en un objeto" widths="350" heights="300px" perrow="2">
 
Image:Unity3d_w_escena_13.JPG| Hemos perdido al objeto o queremos situarnos donde se encuentra.
 
Image:Unity3d_w_escena_13.JPG| Hemos perdido al objeto o queremos situarnos donde se encuentra.
 
Image:Unity3d_w_escena_14.JPG| Seleccionamos el objeto en la 'ventana jerárquica'.
 
Image:Unity3d_w_escena_14.JPG| Seleccionamos el objeto en la 'ventana jerárquica'.
Image:Unity3d_w_escena_15.JPG| Ponemos el ratón sobre la 'ventana de escena' y pulsamos la tecla F.
+
Image:Unity3d_w_escena_15.JPG| Movemos el ratón sobre a 'ventana de escena' (<u>pero sin pulsar el botón sobre ella</u>) y pulsamos la tecla F.
 
</gallery>
 
</gallery>
  
Línea 210: Línea 355:
  
 
=Ventana Inspector=
 
=Ventana Inspector=
 +
 +
* Más información [https://docs.unity3d.com/Manual/UsingTheInspector.html en este enlace].
 +
  
 
* En inglés '''Window Inspector'''.
 
* En inglés '''Window Inspector'''.
Línea 226: Línea 374:
  
  
* Más información [https://docs.unity3d.com/Manual/UsingTheInspector.html en este enlace].
 
  
  
 
<br />
 
<br />
  
=Iniciar-Pausar-Parar el juego=
+
=Vista de Juego=
 +
 
 +
* Más información [https://docs.unity3d.com/Manual/GameView.html 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'.
 
* 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'.
Línea 237: Línea 390:
 
[[Imagen:Unity3d_entorno_jugar_0.jpg|500px|center]]
 
[[Imagen:Unity3d_entorno_jugar_0.jpg|500px|center]]
  
: Si pulsamos el botón de 'play' pasaremos a estar en la pestaña de 'Game' y el juego se estaría ejecutando (ahora mismo no pasa nada ya que no realizamos ninguna acción).
+
: 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').
 
:* 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'.
 
:* Estando en modo 'Pause' podemos pulsar el botón siguiente ('Next Step') para 'avanzar' el juego y volver a estar en 'Pause'.
Línea 249: Línea 402:
  
  
* 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).
+
* 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:
 
: Para ello seguimos estos pasos:
  
Línea 257: Línea 412:
 
Image:Unity3d_entorno_jugar_3.jpg| Ahora al presionar 'Play' todo el entorno tendrá el color elegido en el paso anterior y sabremos que estamos en ejecución.
 
Image:Unity3d_entorno_jugar_3.jpg| Ahora al presionar 'Play' todo el entorno tendrá el color elegido en el paso anterior y sabremos que estamos en ejecución.
 
</gallery>
 
</gallery>
 +
 +
 +
 +
* Más información [https://docs.unity3d.com/Manual/GameView.html en este enlace].
  
  
 
<br />
 
<br />
 +
 
=Proyect Window / Console=
 
=Proyect Window / Console=
 +
 +
* Más información [https://docs.unity3d.com/Manual/ProjectView.html en este enlace].
 +
  
 
* En la parte inferior encontramos la '''Proyect Window'''.
 
* En la parte inferior encontramos la '''Proyect Window'''.
Línea 270: Línea 433:
 
: 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.
 
: 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.
+
* Para crear una carpeta haremos como si estuviéramos en un explorador de archivos, pulsando sobre una carpeta con el botón derecho del ratón y escogiendo la opción '''Create''' => '''Folder''':
 
+
[[Imagen:Unity3d_entorno_proy_1b.JPG|500px|center]]
 
 
* 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 [https://docs.unity3d.com/Manual/ProjectView.html en este enlace].
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
  
  
 +
* Nuestro juego también va a tener asociado ciertos programas denominados '''scripts''' (normalmente crearemos 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.
 +
[[Imagen:Unity3d_entorno_proy_1c.jpg|500px|center]]
  
  
  
 +
* 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.
 +
[[Imagen:Unity3d_entorno_proy_1d.jpg|500px|center]]
  
  
  
 +
<br />
 +
[https://wiki.cifprodolfoucha.es/index.php?title=Programacion_de_videojuegos_con_UNITY3D#UNIDAD_1:_Instalaci.C3.B3n Enlace a la página principal del curso]
  
  

Revisión actual del 09:02 19 ene 2024

Introducción

  • En este punto vamos a explicar en que partes está dividida la interfaz del programa.
Unity3d interfaz 1.jpg


  • 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:
Unity3d entorno 1.jpg


  • 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


  • En inglés: Hierarchy Window
Unity3d interfaz 2.jpg


  • 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.
Unity3d interfaz 3.jpg


  • 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):
Unity3d interfaz 3b.jpg
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).
Unity3d interfaz 7.jpg


  • 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:
Unity3d interfaz 7a.jpg



  • 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:
Unity3d interfaz 7e.jpg



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 una 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'.




Operaciones de visualización-selección

  • En la parte izquierda de cada GameObject aparecen dos iconos que podemos activar-desactivar:
  • Icono para visualizar: Si lo desactivamos el GameObject no aparece en la escena.
  • Icono para seleccionar: Si lo desactivamos, no podremos seleccionar el GameObject desde la Scene Window.





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

Unity3d ToolBar 1.jpg
  • 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


  • En inglés Scene View.
Unity3d sceneview 1.jpg
Nota: Recordar que el icono '2d' de la parte superior no debe estar marcado.


  • 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:
Unity3d w escena 7.JPG
  • Movimiento con la rueda del ratón
  • Pulsamos la rueda del ratón y sin soltar...

  • Movemos a izquierda-derecha y arriba-abajo


    • 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:
    Unity3d w escena 8.JPG
  • Rotación con botón derecho de ratón
  • Pulsamos el botón derecho del ratón (o la tecla ALT y sin soltar el botón izquierdo del ratón) y sin soltar...

  • Movemos a izquierda-derecha y arriba-abajo provocando una rotación.


    • 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:
    Unity3d w escena 10.JPG
    Este efecto también lo conseguimos moviendo la rueda del ratón.


  • Zoom pulsando la tecla ALT más el botón derecho del ratón
  • 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.


    • 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.
  • Tecla F para situarnos en un objeto
  • Hemos perdido al objeto o queremos situarnos donde se encuentra.

  • Seleccionamos el objeto en la 'ventana jerárquica'.

  • Movemos el ratón sobre a 'ventana de escena' (pero sin pulsar el botón sobre ella) y pulsamos la tecla F.


    • 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.
    Unity3d w escena 16.JPG
    Esta misma vista la podéis conseguir si pulsáis la 'pestaña' Game de la 'ventana de escena':
  • Mostrando la escena a partir de la cámara
  • Pulsamos sobre 'Game'.

  • Vemos como queda el juego desde el punto de vista de la cámara.


  • 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:
    Unity3d w escena 19.JPG
    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.
    Unity3d w escena 20.JPG
    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.








    Ventana Inspector


    • 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,....


    Unity3d w inspector 1.JPG


    • Cada uno de esos elementos son Componentes que van a afectar al GameObject asociado.




    Vista de Juego


    • 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'.
    Unity3d entorno jugar 0.jpg
    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:




    Proyect Window / Console


    • En la parte inferior encontramos la Proyect Window.
    Unity3d entorno proy 1.JPG


    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.
    • Para crear una carpeta haremos como si estuviéramos en un explorador de archivos, pulsando sobre una carpeta con el botón derecho del ratón y escogiendo la opción Create => Folder:
    Unity3d entorno proy 1b.JPG


    • Nuestro juego también va a tener asociado ciertos programas denominados scripts (normalmente crearemos 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.
    Unity3d entorno proy 1c.jpg


    • 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.
    Unity3d entorno proy 1d.jpg



    Enlace a la página principal del curso





    -- Ángel D. Fernández González -- (2018).