
Crearemos y guardaremos layout personalizados para trabajar lo más cómodo posible dentro de Unity
Configurar entorno de desarrollo a nuestra medida
Veremos cómo cambiar de plataforma, para publicar nuestros desarrollos en ellas
Crear una estructura de proyecto para tener todos los recursos organizados y saber localizarlos rápidamente
Crearemos un fondo para nuestro juego y crearemos un efecto para que se mueva de forma cíclica creando un llamado Infinite Background
Crearemos un fondo, complementario al anterior, basado un la creación de varias salas que iremos poniendo una a continuación de la otra. Podremos usar tanto esta técnica, como la anterior, como ambas combinadas en cualquier proyecto 2D que hagamos.
Crearemos un script para dar el comportamiento de movimiento de las salas del fondo.
Probaremos el funcionamiento de nuestros fondos y los adaptaremos a cómo mejor nos guste :)
Veremos qué es un PREFAB, cómo crearlos y la utilidad que tienen para reutilizar objetos dentro del proyecto
Crearemos un script para generar objetos aleatoriamente dentro de la pantalla, con parámetros configurables para que nos sirva para cualquier proyecto.
Probaremos nuestro generador de objetos y lo adaptaremos a nuestro proyecto.
Crearemos a nuestro personaje principal. Lo tenemos por partes que montaremos para darle el aspecto final. Veremos conceptos como las layers y su utilidad a la hora de ordenar objetos en profundidad
Crearemos varias animaciones para distintos estados de nuestro player desde la pestaña Animation de Unity y veremos cómo funciona esta funcionalidad.
Veremos cómo funciona la pestaña Animator de unity y la emplearemos para organizar las diversas animaciones del player y definiremos las condiciones para pasar de una a otra.
Testaremos rápidamente las animaciones que hemos creado y que pasan bien de una a otra. lo haremos rápidamente desde un script.
Haremos que nuestro player responda a los fenómenos físicos, le añadiremos fuerzas, movimientos y veremos cómo responde y cómo adaptarlas correctamente a nuestro proyecto.
Haremos que nuestra cámara siga a nuestro player para tenerlo siempre visible en pantalla en la posición que queramos.
Controlaremos a nuestro player para hacer que se comporte de diferentes formas dependiendo de su posición en pantalla.
Veremos la forma de controlar que el player interactúe con los objetos repartidos por el escenario, así como con el escenario en sí
Ajustaremos los parámetros de las interacciones de los objetos del escenario
Crearemos un script para gestionar la reproducción de sonidos en nuestro proyecto, de modo que podamos reproducir un sonido desde cualquier punto de una manera rápida y sencilla, con una simple llamada a nuestro script de apoyo.
Crearemos un script para gestionar la reporducción de efecto especiales en nuestro proyecto, de modo que podamos crear un efecto especial desde cualquier punto de una manera rápida y sencilla, con una simple llamada a nuestro script de apoyo.
Crearemos un objeto que nos va a servir como proyectil, para que nuestro player los dispare y se defienda de los objetos negativos del juego.
Añadiremos físicas a nuestro proyectil para que salga disparado!! :)
Veremos la forma de generar en tiempo real proyectles (Instanciación de objetos) y que nuestro player los dispare mediante alguna acción (pulsando una tecla, haciendo click en pantalla....)
Ya que Unity no trae la funcionalidad de controlar un doble click de ratón, en esta clase crearemos un script para crear un doble click y emplearlo para el disparo de nuestro player.
A partir de ahora, podemos incorporar a nuestros proyectil este script y así ya tenemos la funcionalidad del doble click implementada de una manera fácil.
Ajustaremos el comportamiento de nuestro proyectil, para hacer que impacte contra ciertos objetos y explote en ese impacto y que otros objetos no interactúe con ellos.
Añadiremos una banda sonora a nuestro juego para que nos amenice las partidas :)
Sencillo panel para mostrar informaciones del juego, como la vida del personaje, monedas recogidas,...
Veremos cómo acceder al UI de Unity desde un script y actualizaremos sus valores para verlos reflejados en tiempo real en el juego.
Implementar las funcionalidades de pausar y reanudar el juego mediante dos botones del UI
Crearemos una pantalla de login para que se registren los usuarios en la aplicación
Daremos funcionalidad a la pantalla de Login
Pantalla de bienvenida del usuario una vez logueado, donde podemos salir de la aplicación o comenzar a jugar.
Veremos la forma de guardar información sobre el juego (nombre de usuario, puntuación máximas,...) de forma persistente entre sesiones, de modo que al cerrar la aplicación y volverla abrir en otro momento esa información nos aparezca sin tener que volver a introducirla. Para ello emplearemos la clase PlayerPrefbs de Unity
Testearemos la aplicación en un dispositivo móvil para ver su funcionamiento y veremos una herramienta (Movizen) para reflejar la pantalla de nuestro dispositivo móvil en el ordenador.
Instalaremos XAMPP, herramienta que nos permite emular un servidor web con base de datos en nuestro propio ordenador, para aquellos que nos dispongan de este servicio (donde la forma de actuar es la misma) y que emplearemos para hacer todas las pruebas con Unity.
Mediante phpMyAdmin crearemos la base de datos donde almacenaremos-recuperaremos la información de nuestro juego
Ligera introducción a PHP. Crearemos un script en PHP y veremos cómo ejecutarlo.
Veremos como llamar a un archivo php alojado en un servidor, desde nuestro programa en Unity y veremos como intercambiar información entre ambos.
Editaremos el php para que haga una llamada a nuestra base de datos, nos la abra y podamos efectuar operaciones en ella.
Aprenderemos cómo insertar información en nuestra base de datos
Aprenderemos cómo recuperar información de nuestra base de datos
Aprenderemos cómo borrar información de nuestra base de datos
Aprenderemos cómo modificar información de nuestra base de datos
Modificaremos nuestra pantalla de login de unity para que conecte con nuestra base de datos y nos guarde la información del usuario en ella y de esta forma la aplicación será mundial, ya que cualquier usuario de cualquier parte del mundo interactuará con los datos de la base de datos y el juego responderá en consecuencia.
Guardaremos o actualizaremos (en caso de que hubiese una previa) la puntuación que el usuario ha conseguido en la partida jugada.
Basados en la puntuación de cualquier jugador del mundo de nuestro juego, le diremos al jugador su puntuación en que posición está respecto a los de todos los jugadores registrados en la aplicación.
Crearemos un terreno 3D, al que aplicaremos texturas para darle apariencias de montañas nevadas, verdes praderas,..., añadiremos una zona de agua, desde una librería de Unity y añadiremos vegetación desde otra librería de Unity.
Insertaremos objetos básicos en la escena e insertaremos algún objeto más complejo desde la tienda de Unity, la Asset Store, y así de paso vamos cómo funciona.
Dispararemos bolas desde donde estamos a modo de arma y veremos cómo interactuan con elementos 3D de la escena, y veremos la sensación de movernos dentro de un entorno 3D de la manera tradicional, con teclado y ratón.
Descargaremos la API de Vuforia desde su página web y la integraremos en Unity, para integrar las funcionalidades de Realidad Aumentada en nuestra aplicación.
Probaremos la escena de prueba que trae el paquete de Vuforia, para lo que tendremos que registrarnos previamente en Vuforia.
Veremos cómo generar marcadores personalizados de buena calidad (buena detección) y veremos la manera de introducirlos en nuestra aplicación, para que nos los detecte.
Veremos cómo hacer que aparezcan los elementos que queramos al enfocar a los marcadores que queramos. Personalizaremos la aplicación para que se comporte como queramos.
Veremos cómo interactuar con el elemento aumentado y cómo cambiarle características
Para poner en práctica cosas que hemos aprendido, os propongo un ejercicio, para que lo resolváis vosotros en el proyecto de Realidad Aumentada
Integraremos la librería de Google Cardboard (la descargaremos de su página web) en nuestro proyecto de Unity para que funcionen nuestras aplicaciones hechas en Unity en este tipo de gafas de Realidad Virtual
Con las cardboard, lo normal es no tener manera de interactuar con la pantalla, más que apuntando con la vista a los objetos. Pues aprenderemos cómo hacerlo para los proyectos que integren Google Cardboard.
Ya que en este tipo de dispositivos no solemos tener acceso a menús 2D, aprenderemos a crear menús 3D, dentro de la escena e interactuar con ellos.
Un pequeño ejercicio para añadir interacción al visor de imágenes en 360º
En este vídeo os las enseño, sólo por si no las conocíais
Nos descargaremos la librería de Oculus desde su web y la integraremos en nuestro proyecto en Unity3D y probaremos el funcionamiento.
Para que las veáis.
Introduciremos los Gizmos, una clase de Unity que sirve para dbujar en el editor líneas que sirve de apoyo a la hora de debuguear o probar cosas en el editor (como líneas imaginarias!! :))
Veremos cómo dibujar líneas en modo juego en Unity, para ellos introduciremos el elemento LineRenderer, que sirve para dibujar multilíneas y que sean visibles, y veremos cómo configurar dichas líneas.
Veremos cómo interactuar con la vista con objetos del escenario 3D,
Veremos cómo crear explosiones realistas dentro del escenario 3D y veremos objetos saltar por los aires!!!
Nos descargaremos la librería de HTC VIVE desde la Asset Store y la integraremos en nuestro proyecto en Unity3D y probaremos el funcionamiento.
Aquí veremos como cambiar los modelos de mandos virtuales que trae HTC Vive por unos customizados. De este modo podremos mostrar por ejemplo unos brazos, unas pistolas,... lo que queramos!!
Veremos cómo acceder a las pulsaciones de los botones de los mandos e interactuar en la escena con ellos.
Veremos cómo apuntando con los mandos a una zona y presionando un botón, nos teletransportaremos a esa zona. Así nos podremos desplazar en Realidad Virtual!!
Veremos cómo coger objetos de la escena con los mandos y lanzarlos dentro del escenario 3D.
Con este curso serás capaz de desarrollar cualquier tipo de aplicación con Unity3D, desde un juego 2D hasta una aplicación de Realidad Virtual con los más modernos dispositivos de realidad virtual como las google Cardboard, las Oculus Rift o las HTC VIVE.
El curso se irá actualizando con los nuevos contenidos en Unity así como para los nuevos dispositivos de realidad virtual que vayan surgiendo.