Creación de enemigos estáticos
Clase 18 de 20 • Curso de Introducción a la Programación de Videojuegos 3D con Unity
Resumen
¿Cómo crear un Diana Target en Unity?
Añadir un objetivo Diana Target a tu videojuego no solo hace que los disparos sean más interactivos, sino que también mejora visualmente la experiencia del jugador. En esta sección, vamos a explorar cómo añadir y configurar este elemento dentro de Unity, asegurando que los disparos tengan una función real dentro del juego.
¿Cómo agregar una mira a nuestro shooter?
Lo primero que necesitamos es agregar una mira o 'crosshair' a nuestro juego. Este elemento debe estar siempre al centro de la pantalla para indicar hacia dónde estamos disparando. Aquí te mostramos cómo hacerlo:
- Crear un nuevo elemento UI:
- Haz clic derecho en la escena UI dentro de Unity y selecciona
Nuevo Imagen
. - Esto creará un
Canvas
, que Unity utiliza para manejar elementos de UI.
- Elegir el gráfico de la mira:
- Usa uno de los assets que descargaste previamente. En este ejemplo utilizamos
GUI Reticle
.
- Ajustar el tamaño del crosshair:
- Inicialmente, el tamaño puede ser grande. Modifica su escala a
0.25
en cada uno de los elementos para lograr un tamaño más adecuado. - Guarda los cambios y dale play para ver la nueva retícula en acción.
¿Cómo añadir un objetivo para disparar?
Añadir una pequeña esfera como objetivo en el escenario te proporcionará una meta para interactuar a través de los disparos. Aquí te explicamos cómo hacerlo:
- Crear un nuevo objeto 3D:
- Añade una pequeña esfera como objeto que se pueda disparar.
- Ubica la esfera en un lugar bien iluminado, preferiblemente detrás del personaje, para obligar al jugador a moverse y buscar un ángulo de disparo.
- Configurar colisionadores:
- La esfera viene equipada con un collider esférico que permitirá detectar disparos.
- Editar collider:
- Asegúrate de que el collider coincida lo más cerca posible con el objeto. Un collider demasiado grande podría romper la percepción de que estás disparando hacia el objeto.
¿Cómo programar la lógica del objetivo?
Generar la lógica para que el objetivo reaccione a los disparos implica escribir un script en C#. Aquí te mostramos paso a paso cómo hacerlo:
using UnityEngine;
public class Target : MonoBehaviour
{
public float health = 2f; // Vida del objetivo
public void DamageReceive(float damageAmount)
{
health -= damageAmount; // Restar daño a la vida
if (health <= 0f)
{
Die(); // Llamar a función para eliminar objetivo si la vida llega a cero
}
}
void Die()
{
Destroy(gameObject); // Destruir el objeto juego
}
}
¿Qué aspectos debemos tener en cuenta al diseñar la lógica del objetivo?
Tener en cuenta que:
- Donación de vida: definimos la vida del objetivo en
2
, lo cual significa que necesitará dos disparos para destruirse. Esta puede ajustarse según el daño que haga tu arma. - Función de recibir daño: la función
DamageReceive
determina la cantidad de vida que pierde el objetivo y, al alcanzar cero, invoca a la funciónDie
. - Reconocimiento de triggers: el método
Destroy
es crucial para eliminar el objeto del juego al acabar su salud, asegurando que el juego se sienta realista.
Estos pasos deben darte un camino claro para integrar objetivos interactivos en tu videojuego, logrando así un ambiente más entretenido y desafiando a la jugadora a punta con precisión. Sigue adelante, practica y mejora cada vez más tu videojuego.