informacion[arroba]academiaandroid.com +34 958084455
Post Series: Conociendo Unity3D (VII)

En esta nueva serie de tutoriales sobre Unity 3D, vamos a explicar cómo desarrollar un videojuego básico completo.

Este proyecto ejemplo, un típico juego FPS donde debemos disparar a un enemigo que nos ataca a lo largo de todo el escenario que hemos diseñado, nos permitirá mostrar muchas de las tareas comunes que intervienen en dicha creación, como puede ser la detección de colisiones entre dos objetos, o el desarrollo de comportamientos personalizados al crear diferentes scripts propios.

Antes de entrar en el proyecto del videojuego, vamos a describir varios  aspectos sobre el motor de juego Unity que aún no habíamos tratado en anteriores publicaciones y que nos serán de utilidad para aplicarlas en dicho proyecto. Las publicaciones que compondrán esta serie son:

  • Construcción de escenas y niveles
  • Principales componentes en la detección de colisiones
  • Algunos elementos del interfaz gráfico del usuario: 3D Text, GUI Text y GUI Texture
  • Explicación del desarrollo del videojuego con descarga del proyecto y videotutorial incluido
  • Build settings: generación de la versión del juego para una plataforma (ejemplo con Android)

Por supuesto, si tienes dudas con algún otro elemento que empleemos en el desarrollo del videojuego te animamos a consultar los tutoriales que hayamos publicado sobre esos temas, recomendándote en especial el que dedicamos a la creación de scripts en Unity.

Construcción de escenas y niveles en un juego

Dentro de los aspectos que aún no habíamos tratado en Unity, vamos a comentar brevemente los pasos necesarios para la creación de varias escenas en un proyecto de Unity, y de esta forma poder establecer diferentes niveles a partir de las escenas definidas en el proyecto.

Unity trabaja esencialmente con proyectos y escenas. El proyecto estará formado por el global del videojuego, pudiendo contener varias escenas, que podrán describir desde el menú inicial del videojuego, pasando por la pantalla de game over, hasta la construcción de diferentes niveles que el usuario irá activando conforme avance en el videojuego.

Para la creación de una nueva escena bastará con seguir la ruta File > New Scene o mediante la combinación de teclas Ctrl + N.

Como ya explicamos en tutoriales anteriores, cada escena de un proyecto puede contener varios GameObjects, que podrán ser creados o importados desde otros programas, y cuyo contenido puede estar formado por varios componentes que establezcan la funcionalidad del objeto.

También vimos que Unity proporciona una gran variedad de GameObjects con una funcionalidad ya establecida, aunque también es posible la creación de un GameObject vacío, que sólo estará formado por un componente Transform, que se trata del componente más básico que todo GameObject debe tener, y que le proporciona una posición en la escena, además de establecer la rotación y tamaño del objeto.

Menú Game Objetc

Una vez se han definido varias escenas, para la construcción de diferentes niveles haremos lo siguiente:

  • Nos situaremos en la escena que se desea añadir como nivel al proyecto y seleccionaremos la ruta File > Build Settings…
  • Una vez se muestra la nueva ventana, nos fijaremos en la opción “Scenes in Build”, dónde se deberán añadir las diferentes escenas del videojuego con tan solo pulsar sobre el botón “Add current”. Esto nos permitirá añadir una nueva escena al proyecto (la escena actualmente cargada).
    Además, es conveniente resaltar, que el orden vendrá determinado por el número asignado a la derecha de cada escena. En el ejemplo que aparece en esta imagen que corresponde al proyecto que luego desarrollaremos, tenemos dos escenas: “Menú_inicial.unity” (la pantalla de menú de inicio) y AcademiaAndroid_FPS.unity (donde se desarrolla el juego completo):Build setting: escenas
  • Cargar escena: por último, para cargar desde el propio videojuego cualquiera de las escenas que se definen dentro del proyecto, bastará con asociar el siguiente script, formado por una sola instrucción, al GameObject encargado de controlar el cambio de escena en el videojuego:
    Como se puede ver en el script, al pulsar en el botón que preparemos en la interfaz de usuario ( OnTouchDown() ) se llama al método LoadLevel()  de la clase Application, pasándole como argumento, un string con el nombre de la escena a cargar (en este ejemplo: “AcademiaAndroid_FPS”)

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Para evitar robots, por favor completa esta sencilla operación *