Un arcade de toda la vida, de los que no puedes estar quieto, no hay tiempo para pensar, tienes que moverte rápido, recolectar los tesoros y escapar de las hordas de enemigos que te persiguen. Si señor, un Arcade en el que siempre conocerás al alguien que haga mejor puntuación que tú. Un arcade para viciarte y viciar a todos tus amigos.
Esta es la definición, un poco teatralizada del juego que vamos a desarrollar en esta segunda aparte del tutorial de Desarrollo de Juegos con Unity.
En este post vamos a empezar diseñando el tablero del primer nivel, sí, por que vamos a tener más de un nivel.
Creamos el proyecto en Unity
Escogemos un nombre para nuestro proyecto, yo le he llamado: megafastball, y le damos al Create project.
Nos aparecera el IDE de Unity vacío, lo primero que vamos a hacer es importar los Assets standard que vamos a utilizar.
Vamos al menu Assets->Import Package->Prototyping, seleccionamos todos los elementos en el cuadro de dialogo pulsamos: Import.
Una vez importados tendremos los Assets listos para usar en la sección de Project.
Creando el nivel del juego
Lo primero que vamos a hacer es crear el suelo, para ello usaremos uno de los Assets standard recién importados.
Seleccionamos FloorPrototype64x01x64 que lo encontramos en la carpeta Prefabs, dentro de Prototyping en Standard Assets, y lo arrastramos hacia la ventana #Scene. Con esto ya hemos creado una base, sobre la que se ejecutará nuestro juego. Nos habra creado un objeto en la sección Hierarchy con el nombre FloorPrototype64x01x64, le cambiamos el nombre por: Suelo. Al seleccionarlo nos mostrará sus características en la sección Inspector, modificamos los valores de su position para que este situado en 0, 0, 0 en los tres ejes. Para ello podemos editar los valores manualmente, o hacer un reset de sus variables con el menu que aparece al seleccionar la rueda dentada de la sección Transform.
Vamos a darle un poco de contenido y creemos unos cuantos muros o obstáculos. Para ello usaremos por ejemplo el FloorPrototype04x01x04, lo arrastramos hacia nuestra escena, le cambiamos el nombre a Obstaculo.
Como se puede ver, al usar un mismo Asset standard nuestro Obstaculo tiene exactament la misma pinta que nuestro Suelo. Vamos a cambiarle el material que usa.
Al seleccionar nuestro Obstáculo, podemos ver en la sección Inspector, en su apartado Shader, el material que esta usando. En este caso es el NavyGrid. Vamos a modificarlo, pero no queremos modificar en NavyGrid, sino crear un material nuevo. Para ello lo mejor es que dupliquemos a NavyGrid, lo seleccionamos y apretamos: Cmd+D (Ctrl+D en Windows). Le cambiamos el nombre a Material de Obstáculo. Con esto, si consultamos el Inspector de Obstáculo ya podremos ver que tiene asignado el material: Material de Obstáculos, en lugar del NavyGrid.
Los Prefab
Los Prefab son fundamentales en Unity, y su concepto es muy sencillo. Un Prefab es como una plantilla. Nosotros hemos creado un Suelo y un Obstáculo, pero es posible que usemos más de un Suelo, y 100% seguro que vamos a tener más de un Obstáculo. Seria una buena idea tener las plantillas de estos objetos para poder crear tantos como necesitemos.
Lo primero que vamos a hacer es crear una carpeta llamada MisPrabs, en el apartado Project.
Una vez tengamos la carpeta creada arrastramos los objetos Obstáculo y Suelo de Hierarchy hacia nuestra carpeta recién creada.
A partir de ahora realizaremos las modificaciones a los Prefab, así se aplicaran a todos los objetos que hayamos creado con ese prefab.
Modificando el material
Trick!!!
El candado de la imagen nos permite anclar en el inspector el objeto actual. Nos va ser mu útil cuando necesitamos editar varias propiedades. Ya que no cambiaremos sin querer el contenido del inspector al seleccionar otro Objeto o Asset.
Vamos a modificar algunas de las propiedades de material que acabamos de crear, Material de Obstáculos seleccionado, modificaremos su característica Albedo: Si pulsamos sobre el cuadrado de color que tiene a su izquierda veremos que esta usando la Textura SwatchNavyAlbedo, escogemos otra, la que mas rabia nos dé. Yo he usado la SwatchMauveAlbedo. Escogerlo es tan sencillo como arrastrar la textura que queráis al recuadro de color.
Ahora tenemos un escenario que se compone de un suelo y un Obstáculo. Vamos a añadir varios obstáculos…. Para ello arrastraremos desde los Prefabs tantos Obstáculos como queramos a la #Scene. Los distribuimos por nuestro escenario, teniendo en cuenta que tienen que estar pegados al suelo, por lo que al moverlos tendremos que fijarnos en no mover el eje Y.
No importan demasiado donde los pongáis, ni cuantos, seguramente cuando empecemos con el juego los iremos moviendo, al realizar las primeras pruebas de usuario ajustaremos el escenario de nuestro primer nivel:
¿Que hemos aprendido?
- Importado los Assets Standard de prototipado y usado un par de ellos.
- Hemos creado un material nuevo y asignado a un Prefab.
- Hemos descubierto lo que son los Prefab.
- Hemos creado un escenario, sencillo, pero un escenario.
Podéis obtener el proyecto de Unity tal como ha quedado al seguir las instrucciones en este enlace.
megafastball-creación-escenario.
https://youtu.be/qL6CtAI34vk