Skip to content

Proyecto básico con Unity 3D

En esta publicación, describiremos a grandes rasgos un proyecto muy básico en Unity 3D. Nos servirá para ver diferentes elementos que servirán de base para la realización de un ‘juego en primera persona’ (la escena se verá desde el punto de vista del personaje) y en un entorno 3D. Puedes descargar el proyecto al final de este tutorial.

Notas aclaratorias:

  • Vamos a presentar cada elemento de forma esquemática. En posteriores tutoriales, tendremos la oportunidad de ver más en detalle esos elementos, como pueden ser la cámara, la iluminación o la configuración de un terreno.
  • Este ejemplo lo vamos a orientar a generar una versión para dispositivo móvil Android con interfaz táctil (igual valdría para dispositivo iOS). Para ello vamos a emplear los recursos (prefabs y componentes) que proporcionaba el paquete «Standard Assets (Mobile)«. Este package estaba disponible en la versión Unity 4.5 pero no en la 5.0. Aunque este proyecto, que puedes descargar más abajo, incluye estos Assets y funciona en la 5.0, la forma de plantear la interfaz táctil es distinta para esta última versión ya que utiliza el nuevo objeto Canvas y nuevos prefabs y componentes. Lo explicaremos en tutoriales posteriores
  • Por ahora no vamos a modificar el comportamiento de los componentes mediante programación. Esto se consigue personalizando los scripts (guiones desarrollados en C# o Javascript) que nos ofrece Unity o creando unos nuevos. Lo veremos en tutoriales posteriores.

Estructura del proyecto Unity 3D

Si recordamos el tutorial donde explicamos los pasos para crear un Proyecto en Unity, éste contiene por defecto los GameObjects «Main Camera» y «Directional Light» . En la imagen de abajo, vemos la estructura del primer proyecto que hemos planteado, y donde se aprecia que hemos añadidos otros elementos, como el prefab  «First Person Controls» que será el jugador, además de un terreno y un efecto viento, para crear las bases de un juego en primera persona:

Jerarquia.png

  • «First Person Control» renombrado a «Controles Primera Persona«, que a su vez añade un ‘Player‘ que hemos llamado «Jugador» y dos componentes GUI  Texture (Graphical User Interface), Right y LeftTouchPad, para mover mediante dos botones táctiles a derecha e izquierda al personaje y la cámara y que hemos denominado ‘ControlPersonaje‘ y ‘ControlCámara‘.
  • El Player incluye por defecto una «Capsule«, renombrado a «Objeto«, que es la figura geométrica que representa al jugador y una «Camara» (hemos eliminado la ‘Main Camera’ que nos daba una visión general de la escena, y dejado la cámara que se asocia y sigue al personaje, para simular la visión de éste).
  • «Terrain» renombrado a «Mapa«, que es el escenario donde se desenvuelve la acción del juego.
  • «Wind» renombrado a «Viento«, para crear dicho efecto.
  • «Directional Light«, renombrado como «Dirección Luz«, que se incluía por defecto.

En la imagen de abajo vemos la pantalla del editor Unity, con los objetos ya creados.
Como ya explicamos de la interfaz de Unity, aparecen una serie de ventanas que en este caso son:

  • Ventana ‘Scene‘ (izquierda) donde se muestra el escenario del juego con el terreno ya creado y donde podemos seleccionar y posicionar el resto de GameObjects como el jugador, la cámara, la iluminación o los enemigos (veremos la inclusión de un enemigo en un proyecto posterior más avanzado).
  • Ventana ‘Hierarchy‘ (derecha) con la estructura del proyecto y la jerarquía de los diferentes elementos que lo componen, y abajo, la ventana ‘Inspector‘ que nos permite ver detalles del elemento seleccionado (en este caso ‘Controles Primera Persona’):

VistaJuego.png

Controles Primera Persona (FPS: First Person Controls)

Objeto que nos permitirá manejar un personaje en la pantalla. Se define en primera persona (vista que nos posibilita visualizar el entorno desde la visión del personaje), a través de un prefab existente en Unity. Este elemento podemos encontrarlo en la ventana «Project» (menú Window > Project), dentro de la ruta «Assets > Standard Assets (Mobile)  > Prefabs > First Person Controls» y bastará con arrastrarlo dentro de nuestro mapa para incluirlo.

Si trabajas con la última versión de Unity, verás que los Assets se han reorganizado como hemos indicado al principio. En este caso, encontrarás el prefab de FPS dentro de la ruta «Assets > Standard Assets  > Character Controllers > First Person Controller«, que te proporciona un control con teclado (AWSD) para el personaje y del ratón para la cámara.
Si necesitas un input específico para dispositivos móviles, se debe implementar desde el package «CrossPlatformInput» y utilizando el nuevo UI Canvas, que explicaremos en otro tutorial posterior.

Ejemplo-basico-Unity-img3.png

 

Configuración «Jugador»:

Jugador

Nota: Los campos «Move Touch Pad» y «Rotate Touch Pad» deberán rellenarse arrastrando los componentes GUI Texture definidos, para controlar tanto el movimiento del personaje, como el movimiento de la cámara (estos componentes deberán tener implementados el script «Joystick» para poder asignarlos).

Configuración «Objeto»:

Objecto_Insp.png

Cámara (Camera)

Es el dispositivo a través del cual el jugador ve el mundo. Este elemento podemos seleccionarlo a través de la ruta «GameObject > Camera«:

Ejemplo-basico-Unity-img6.png

Configuración «Cámara»:

Aquí podemos ver la pantalla con las opciones de configuracón del Game Object Camera y que

Ejemplo-basico-Unity-img7.png

ControlPersonaje y ControlCámara (GUI Texture)

Objeto que muestra imágenes planas en 2D. Están hechas especialmente para los elementos de la interfaz de usuario, botones, u objetos decorativos. Su posicionamiento y escalado se realizan a lo largo del eje X e Y, y se miden en coordenadas de la pantalla, en lugar de las coordenadas del mundo.

Es posible añadir este objeto a través del menú GameObject > GameObject Empty, y a continuación dentro de este objeto vacío creado, añadir un componente a través de Add Component > Rendering > GUI Texture. Las imágenes utilizadas podemos encontrarlas en la ruta «Assets > Standard Assets (Mobile) > Textures > JoystickThumb.psd«:

Ejemplo-basico-Unity-img8.png

Configuración «ControlPersonaje»:

Ejemplo-basico-Unity-img9.png

Configuración «ControlCámara»:

Ejemplo-basico-Unity-img9.png
Una vez definidos ambos GameObjects, debemos añadir a cada uno de ellos dos componentes de tipo Script, más concretamente el script «Joystick«.

Mapa (Terrain)

Permite agregar paisajes a nuestros juegos. Es posible agregar un objeto «Terrain» a la escena seleccionando en el menú GameObject > 3D Object > Terrain (también se añadirá un activo Terrain correspondiente a la vista del proyecto). Sin embargo, el paisaje inicial será una superficie plana de gran tamaño. Si nos fijamos en el inspector cuando se selecciona el objeto «Mapa«, nos proporciona una serie de herramientas que podemos utilizar para crear cualquier característica del paisaje.

Ejemplo-basico-Unity-img11.png

Configuración «Mapa»:

Mapa_Insp.png

El tamaño del mapa se puede modificar a través de las propiedades width, height y length en:

Terrain (Script) > Ejemplo-basico-Unity-img12.png > Resolution.

Ejemplo-basico-Unity-img15.png

Herramienta de edición de un objeto «Terrain», que podemos encontrar en la pestaña «Inspector»:

Ejemplo-basico-Unity-img16.png

Veremos en un tutorial y video posterior, la creación de un Terrain con este editor.

Viento (Wind Zone)

Objeto que añade realismo a los elementos situados en el escenario, como por ejemplo a los árboles, haciendo que estos agiten sus ramas y hojas como si el viento soplara sobre ellos. Es posible añadir este objeto a través del menú GameObject > 3D Object > Wind Zone.

Ejemplo-basico-Unity-img17.png

En la imagen podemos observar el objeto «Viento», resaltado con un círculo rojo, de tipo «Directional».

Configuración del objeto «Viento»:

Viento_Insp.png

Dirección Luz (Directional Light)

Objeto que permite iluminar escenas y objetos, y poder crear un ambiente visual real. Las luces se pueden utilizar para simular el sol, una linterna, o una explosión. Es posible añadir este objeto a través del menú GameObject > Light > Directional Light.

DireccionLuz.png

En la imagen podemos observar el objeto «Dirección Luz», resaltado con un círculo rojo, de tipo «Directional», que simula la incidencia de la luz de la luna. En un tutorial posterior, veremos más sobre la configuración de la iluminación.

Configuración objeto «Dirección Luz»:

Luz_Insp.png

Descarga Proyecto Unity 3D

En este primer proyecto básico simplemente vemos el escenario creado.

Para verlo en tu equipo, descarga los ficheros, abre Unity y escoge la opción «Open Project» y selecciona la carpeta «Primer FPS«. Una vez cargado, abre la escena a través de File > Scene > PrimerFPS > Assets > PrimeraPersonaAcademiaAndroid.unity.

También tienes disponible la versión para Android, simplemente instalando la apk que se incluye en esta descarga. Al haberse incluido los controles táctiles sin ningún ajuste, puede que en tu móvil no funcione correctamente. Prueba en diferentes partes de la pantalla para ver si puedes mover la visión de la escena.

Download

En la próxima entrega, publicaremos un video sobre este proyecto

Esta entrada tiene 3 comentarios

Los comentarios están cerrados.

Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies. También se ha incluido en pruebas un Agente AI que incluye sus propias cookies   
Privacidad