Skip to content

Prefabs de Unity para crear videojuegos en primera persona

Conociendo Unity3D (V)
1. Prefabs de Unity para crear videojuegos en primera persona
2. Canvas: creación de interfaz de usuario en Unity
3. Ejemplo básico con First Person Character y Canvas
4. Video: ejemplo básico videojuego Unity 3D en primera persona con interfaz táctil
5. Input multiplataforma para videojuegos Unity
6. Proyecto Unity 3D: ambientación escena
7. Video Proyecto ambientación de escena en Unity 3D
8. Unity 3D: componente Character Controller
9. Unity 3D: ejemplo implementación de Character Controller

En Unity podemos crear fácilmente videouegos en primera persona, teniendo una visión de la escena desde la perspectiva del personaje principal.

Para establecer esa visión y controlar el movimiento del protagonista de videojuego, Unity nos proporciona dos prefabs, denominados FPSControllerRigidBodyFPSController. Estos prefabs están disponibles en el package Characters, a partir de la versión de Unity 5.0.

Para importar el package que almacena dichos elementos. podemos emplear dos métodos:

  • Seleccionar el paquete de activos Characters durante la creación de un nuevo proyecto (imagen debajo con recuadro rojo; pincha para ampliar)
  • Desde una escena ya cargada, seleccionando el menú Assets > Import Package > Characters. (imagen con recuadro azul)

Asset Packages Characters

Nota: en caso de no disponer del package Characters, podemos descargarlo del sitio web de Unity. Al acceder allí, escogeremos dentro de la casilla «DESCARGAS ADICIONALES«,  la opción «Activos estándar«.
Se recomienda revisar el tutorial StandardAssets (AssetPackages), dónde se aborda este aspecto de manera más específica.

A continuación, describiremos los diferentes componentes que construyen cada uno de estos Prefabs, algunos de los cuáles ya hemos hablado en anteriores publicaciones.

Prefab FPSController

Prefab formado por una jerarquía de padre e hijo, donde el objeto FPSController es padre del GameObject FirstPersonCharacter:

Hierarchy_FPSControllerFPSController GameObject

Podemos encontrarlo dentro de la ventana project, encargada de mostrar todo los recursos externos al proyecto, y más concretamente a través de la ruta Assets > Standard Assets > Characters > FirstPersonCharacter > Prefabs.

Recordamos que al ser un prefab, es un objeto reutilizable creado con una serie de características dentro de la vista proyecto, que se puede instanciar en el videojuego cuando se necesite y las veces que queramos.

Vemos los componentes que lo construyen:

Componentes FPSController

  • Transform: describe los siguientes elementos del objeto en la escena
    (todo GameObject implementa este componente por defecto, por lo que se omitirá su descripción en los siguientes elementos):

    • La posición (coordenadas X,Y,Z)
    • La rotación : en grados alrededor del eje X,Y,Z
    • La escala : tamaño del objeto, que al definir valor 1, indica que es el tamaño original del objeto en la escena.
  • Character Controller: permite controlar la aceleración y el movimiento de un personaje (ya sea en primera o tercera persona) a lo largo de un escenario, sin hacer uso de físicas.
  • First Person Controller (Script): encargado de implementar la lógica de los diferentes parámetros relacionados con el personaje como por ejemplo los que regulan su velocidad  al caminar o correr, la pista de audio que deberá reproducirse al realizar determinada acción o la intensidad de la gravedad que le afectará.
  • Rigidbody: componente que permite añadir al GameObject algunas características que tendría un cuerpo físico en la realidad, como podrían ser masa, gravedad, fricción, etc. Es necesario establecer este componente cuando se desea detectar colisiones entre dos objetos (al menos uno de los dos debe contenerlo).
  • Audio Source: permite controlar la reproducción de una pista de audio en la escena del juego, atenuando la intensidad del sonido al aumentar la distancia.

Componentes FirstPersonCharacter

  • Transform
  • Camera: Dispositivo que permitirá mostrar el mundo que rodea al jugador dentro del juego, proporcionando una vista de la escena desde la posición de dicho objeto.
  • Audio Listener: Componente que funciona a modo de receptor, y que permite a partir de un elemento Audio Source, recibir y reproducir un sonido a través del hardware de salida de audio del dispositivo.

Prefab RigidBodyFPSController

Prefab que al igual que el objeto FPSController, estará formado por una jerarquía de padre e hijo, donde el objeto RigidBodyFPSController es padre del GameObject MainCamera.

Hierarchy RigidBody FPSControllerRigidBody FPSController GameObject

Puede encontrarse dentro de la ventana project, encargada de mostrar todo los recursos externos al proyecto, y más concretamente a través de la ruta Assets > Standard Assets > FirstPersonCharacter > Prefabs.

Componentes RigidBodyFPSController

  • Transform
  • Rigidbody
  • Capsule Collider: colisionador de cápsula que define un área con forma de cápsula alrededor del objeto.
  • RigidBody First Person Controller (Script): script que permite ajustar entre otros, los valores de movimiento del personaje hacia adelante, hacia atrás, potencia de salto o el grado de sensibilidad del control de la cámara con el ratón del pc.

Componentes MainCamera

  • Transform
  • Camera
  • Audio Listener
  • Head Bob (script): Script que permite simular el movimiento tanto vertical como horizontal de la cabeza del personaje, al moverse a lo largo de la escena.

En próximas publicaciones veremos el componente Canvas, de gran utilidad para la construcción de interfaces de usuario y desarrollaremos un sencillo proyecto implementando una interfaz de usuario táctil.

Esta entrada tiene un comentario

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.    Más información
Privacidad