Fig. 4.43
Ahora debemos realizar esta acción varias veces hasta que tengamos el suelo de la superficie del sector A como te he mostrado en el dibujo del mapa del escenario. Una vez tengas una superficie parecida lo dejo a tu elección. Dentro de la ventana Jerarquía vamos a seleccionar todos los Prefabs del suelo y los arrastraremos dentro del GameObject vacío Sector_A. De este modo tendremos ordenados todos los Prefabs. Esto estaría bien para cuando tenemos solo un Prefab en un sector, pero a continuación debemos añadir Paredes y otros elementos, por ese mismo motivo podemos crear varios gameObjects vacíos que sean padres de los distintos elementos como te muestro a continuación:
Fig. 4.44
En la imagen anterior verás que en la ventana Jerarquía tenemos El Sector A que es padre de todos los objetos que hay en el escenario excepto la cámara y la luz. Después tenemos un objeto vacío con el nombre Suelo Sector A que contiene todos los Prefabs del suelo, y he añadido otro objeto vacío con el nombre Paredes Sector A que va a contener todas las paredes. Esta es la dinámica que vamos a seguir.
El siguiente paso es que vayas arrastrando en escena los Prefabs por tipo y vayas construyendo el sector A de una forma organizada. Los Prefabs puedes rotarlos y moverlos pero no escalarlos pues estos modelos se crearon de una forma muy simple para que encajaran entre ellos.
Fig. 4.45
El sector está casi finalizado, como puedes ver tenemos ordenado en la ventana Jerarquía el sector A con todos los elementos que la componen, pero en los Prefabs que he utilizado solo tienen un box collider las columnas las cajas y los pasamanos las paredes y los suelos no llevan porque quería mostrarte otra forma de crear colliders en un escenario y para ser más concretos en un sector específico.
Vamos a crear otro gameObject vacío con nombre CollidersSectorA. Este gameObject que acabamos de crear no tiene de momento ningún parentesco con ningún objeto de la escena. A este objeto CollidersSectorA vamos a agregarle varios componentes de tipo Box Collider que re-situaremos en este sector.
Fig. 4.46
Fig. 4.47
Fig. 4.48
Una vez que tengas el primer boxcollider colocado añadiremos otro componente del mismo tipo a nuestro objeto CollidersSectorA.
Fig. 4.49
Este nuevo collider lo debemos re-situar utilizando la opción Edit Collider del componente o introduciendo valores en las opciones Center o Size.
Fig. 4.50
Es una forma de poner colisionadores a nuestra escena, en vez de utilizar un colisionador para cada Prefab, utilizamos 5 colisionadores que abarcan las necesidades de las paredes y suelos. El sector debería verse de la siguiente manera:
Fig. 4.51
Ahora que ya tenemos el sector A terminado hacemos exactamente el mismo procedimiento para crear el sector B. Los elementos Rampa y Plataforma son elementos que no pertenecerán a ningún sector puesto que son conectores de estos. A continuación te muestro como debería quedar la escena según nuestro esquema.
Fig. 4.52
8. Importar Standard Assets y probar el escenario
En el proyecto de este capítulo podrás importar un paquete con Assets en el que encontraremos un Player en primera persona que utilizaremos para poder probar el escenario dentro del juego.
Una vez que cargues el paquete de Standard Assets accede a la carpeta Characters > FirstPersonCharacter > Prefabs > FPSController, arrastramos este FPSController dentro de la escena y lo posicionamos en el SectorA como te muestro a continuación:
Fig. 4.53
Ahora desactiva o borra la cámara que viene por defecto en la escena como te muestro a continuación.
Fig. 4.54
Bien ya tenemos el escenario y un FPS (jugador en primera persona), ahora es el momento de disfrutar, ejecuta el juego y explora el escenario que todo esté correcto.
Fig. 4.55
Fig. 4.56
1. Introducción
Este es el primer capítulo en donde vas a empezar a escribir código y tus primeros scripts. Este capítulo se enfoca en darte una base introductoria para que te resulte más sencillo entender los próximos capítulos en los que se empieza a programar el movimiento de nuestro personaje y en donde empezamos a utilizar la API de Unity.
Creando nuestro primer Script
Crea un proyecto nuevo en 3D con el nombre que quieras, por ejemplo capítulo 5. En la ventana Project vamos a crear dos carpetas una para guardar nuestras escenas y la otra para guardar nuestros scripts como te muestro en la imagen siguiente.
Fig. 5.1
Ahora vamos a crear un script dentro de la carpeta Scripts que hemos creado anteriormente. Seleccionamos la carpeta Scripts y hacemos clic con el botón derecho del ratón y seleccionamos Create > C# Script, automáticamente aparecerá un script con el nombre por defecto NewBehaviourScript.cs.
Fig. 5.2
Si quieres puedes cambiarle el nombre al script. A continuación hacemos doble clic encima del script y se nos abrirá el programa Monodevelop que nos servirá para editar nuestro script. En esta obra se ha transcrito todos los scripts para mayor entendimiento del lector y se mostrarán siempre en este recuadro que te muestro a continuación.
Script: NewBehaviourScript.cs |
using System.Collections;using System.Collections.Generic;using UnityEngine; |
public class NewBehaviourScript : MonoBehaviour{// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {}} |
El primer bloque que encontramos en la parte de arriba:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
Son necesarias porque es la forma que tenemos en C# de llamar directamente al Engine de Unity y para que se utilicen las colecciones