UN POCO DE GAMEOBJECTS:

Básicamente es un tipo de dato que representa objetos en la escena. Todo lo que esté en la escena ES un GameObject. Son la base de todos los objetos de nuestro juego, pero por sí solos no pueden hacer nada. Para que puedan hacer algo hay que agregarles “Componentes“. Por ejemplo, el GameObject de nuestra nave tiene 2 componentes:

  • Transform. Se encarga de mostrar transformaciones como: posición, escala y rotación.
  • SpriteRenderer. Se encarga de mostrar la parte visual EN 2D de nuestro GameObject.

Estos 2 componentes le están agregando funcionalidad a nuestro GameObject, cada uno de algo específico como su transformación en el espacio 3D y su parte visual. Podemos agregarles a cada GameObject los componentes que creamos necesarios. De hecho, cada uno de los scripts que vamos a programar podría también estar dentro de uno de estos GameObjects. Noten que si seleccionan la cámara que también es un GameObject, tiene también sus componentes como Transform y Camera. Esto significa que los objetos que se ponen en la escena no son nada en sí mismos, sino que cada componente que le vayamos agregando es lo que lo va a definir como ALGO en particular. Por ejemplo, el GameObject que nosotros tenemos como MainCamera es una “cosa” más. Lo que define a esa “cosa” como cámara es, particularmente, el componente llamado Camera.

El componente Transform lo vamos a encontrar en la gran mayoría de los GameObjects, ya que marcan su posición, rotación y escala en el mundo 3D. Así que, al arrastrar la imagen de nuestra nave a la escena, lo que hace Unity es lo siguiente:

  • Crea un nuevo GameObject con el nombre de la imagen.
  • Le agrega los componentes Transform y SpriteRenderer.
  • Al pone nuestra imagen dentro del componente SpriteRenderer.

Hay que tener en cuenta esto puesto que no es nuestra imagen la que vamos a estar tirando a la escena, sino que Unity va a hacer todos estos pasos.

 

 

¿QUÉ TENEMOS EN LA ESCENA ENTONCES?

Hasta el momento entonces, nuestra escena cuenta con 2 GameObjects:

  • Nuestra nave.
  • Cámara principal.

Por el momento nuestra nave es sólo un GameObject con un gráfico de una nave. Pero aún le faltan más cosas para convertirse en una nave con todas las letras. Y una de las cosas que le falta es el comportamiento. Así que es un buen momento para empezar a dárselo. Para ello, vamos a crear un archivo de código. Para se un poco más prolijos, vamos a ponerlo dentro de una carpeta llamada “Scripts“. Para esto, luego de crearla, hacemos Dlick Derecho => Create => C# Script.

 

 

Nos quedaría un archivo con esta forma:

 

 

El nombre que le pongamos debería ser al menos un poco descriptivo acorde a lo que va a representar. Es importante que si después cambian de opinión, tengan en cuanta que NO DEBEN cambiar el nombre desde Unity. Esto es porque la primera vez que le ponen el nombre este pasa a formar parte del código. Así que si le lo cambian y luego no modifican la parte del código equivalente, el script va a tirar error. Si tienen algo básico de programación esto es algo obvio, pero sino, les recomendaría pasar por el post de Lógica de la Programación que hice.

 

ACOMODANDO EL OBJETO EN LA ESCENA

Podemos modificar el objeto desde el editor, por si no nos gusta la posición donde lo dejamos, escala y/o rotación del mismo. Para eso vamos a seleccionar el objeto, nuestra nave en este caso, y vamos a utilizar los botones que están arriba a la izquierda en el editor:

 

 

La funcionalidad de cada uno de esos botones es:

  1. Se usa para trasladarnos NOSOTROS en la escena de nuestro juego, más cuando tenemos una escena larga.
  2. Traslación del objeto seleccionado. Con esto movemos al objeto seleccionado dentro de la escena.
  3. Rotación del objeto seleccionado. Esta herramienta nos permite rotarlo en todas las direcciones.
  4. Escala del objeto seleccionado. Podemos hacer que el objeto sea más grande o más chico.
  5. Posición, escala y rotación del objeto seleccionado en 2D.
  6. Posición, escala y rotación del objeto seleccionado en 3D.

Noten que cada una de estas funciones tiene un atajo de teclado correspondiente a las primeras 6 letras del teclado QWERTY, donde cada una de las teclas se corresponde con una funcionalidad.