Programación de Lógica de Armas en Realidad Virtual
Clase 13 de 33 • Curso de VR con Unity
Contenido del curso
Creando nuestro mundo 3D en Unity
- 6

Crear terreno 3D en Unity con Standard Assets
08:42 min - 7

Creación de Escenarios en Unity: Terreno y Erosión Realista
10:19 min - 8

Texturización de terrenos en Unity: creación de entornos realistas
10:56 min - 9

Cómo pintar árboles en Unity para VR
06:54 min - 10

Añadir césped y efectos de viento en Unity 3D
06:57 min - 11

Configurar skybox de seis lados en Unity
06:53 min - 12

Integración de Armas y Escudo en Realidad Virtual con HTC Vive
12:09 min
El realismo del VR: Programando a nuestro personaje
- 13

Programación de Lógica de Armas en Realidad Virtual
Viendo ahora - 14

Mapeado de controles HTC Vive en Unity
10:08 min - 15

Controles VR: grip y gatillo en Unity
10:02 min - 16

Configuración de Bolas de Fuego en Unity para Realidad Virtual
09:21 min - 17

Disparo de bola de fuego en VR
10:11 min - 18

Corrección de bugs: recarga y audio en armas Unity
04:44 min - 19

Colliders y Rigidbody en el diseño de personajes y armas en Unity
08:25 min - 20

Sistema de vida reutilizable en Unity
05:23 min
El realismo del VR: Creación de HUD (Heads Up Display) y generando enemigos
- 21

HUD en VR: canvas anclado a cámara
08:50 min - 22

Configuración de Barras de Vida y Maná en Unity
05:54 min - 23

Programación de Daño en Videojuegos: Lógica de Armas y Magia
11:07 min - 24

Slider Unity: vida y maná en un script
08:00 min - 25

Cómo configurar un dragón enemigo en Unity
11:40 min - 26

Colliders y barras de vida para dragones
08:31 min - 27

Animaciones de Muerte y Desaparición de Enemigos en Unity
10:01 min - 28

Cómo crear oleadas de dragones con portal
11:24 min
El realismo del VR: Programando la IA de nuestro juego
Consolida la lógica de combate en Unity VR con un enfoque claro y escalable. Aquí verás cómo estructurar un script central para armas, configurar referencias en el Inspector y preparar variables de control como cooldown, posiciones de manos y activación del escudo. Todo se integra sobre el Vive Camera Rig y un objeto hijo Player para mantener orden y flexibilidad.
¿Cómo organizar la escena y los scripts para VR?
Crear una carpeta dedicada a Scripts simplifica el mantenimiento y evita perder archivos. El script principal se llama Weapons y se asigna a un objeto hijo llamado Player dentro del Vive Camera Rig, con la etiqueta de jugador para referenciarlo desde otros scripts.
- Crea la carpeta Scripts y el script Weapons.
- Añade un objeto vacío hijo de Vive Camera Rig llamado Player.
- Asigna al Player la etiqueta de jugador.
- Arrastra el script Weapons al Player para centralizar la lógica de armas.
- Renombra los objetos del inventario: espada, staff (vara) y escudo para localizarlos rápido.
¿Qué variables y estructuras controlan manos, armas y magia?
La base es controlar manos, armas equipables y tiempos de espera. Se referencian las manos como GameObjects, se almacenan las últimas posiciones con Vector3 para calcular direcciones de disparo, y se definen cooldowns con constantes. El escudo se activa con una variable booleana para una lectura más directa del estado.
using UnityEngine;
public class Weapons : MonoBehaviour
{
public GameObject rightHand;
public GameObject leftHand;
private Vector3 lastPositionRight;
private Vector3 lastPositionLeft;
public GameObject rightWeapon;
public GameObject leftWeapon;
public GameObject rightWeaponAlt;
public GameObject magicLaunchPoint;
public GameObject fireMagic;
public float weaponCooldown = 0f;
public float magicCooldown = 0f;
public const float weaponCooldownTime = 0.5f; // medio segundo
public const float magicCooldownTime = 2f; // dos segundos
public bool shieldActive = false;
}
- Manos: referencias a rightHand y leftHand para saber dónde están los controladores.
- Dirección de disparo: con lastPositionRight/Left y la posición actual se calcula el vector de salida de la bola de fuego.
- Armas: rightWeapon, leftWeapon y rightWeaponAlt permiten alternar entre espada, escudo y vara.
- Magia: fire magic como prefab independiente para sumar otras magias en el futuro.
- Punto de lanzamiento: magic launch point ubica el origen del disparo en la punta del staff.
- Tiempos: weaponCooldown y magicCooldown se acumulan con el tiempo; las constantes definen el umbral para evitar cambios instantáneos.
- Escudo: shieldActive indica si el escudo está activo mientras se mantiene el gatillo.
¿Por qué usar cooldown y una variable booleana para el escudo?
- Para armas: el weapon cooldown evita alternancias rápidas al mantener pulsado el botón. Se sugiere 0.5 s entre cambios.
- Para magia: el magic cooldown regula la cadencia. Se sugiere 2 s entre invocaciones.
- Para escudo: un booleano como shieldActive refleja de forma simple si está levantado mientras se pulsa el gatillo del controlador.
¿Cómo se configuran las referencias en el inspector?
Tras compilar, en el Player aparecerán todas las variables públicas listas para vincular. La configuración correcta garantiza que armas y magia respondan en el lugar adecuado.
- Arrastra la mano derecha e izquierda desde la jerarquía del Vive Camera Rig a rightHand y leftHand.
- Asigna la espada a rightWeapon.
- Asigna el escudo a leftWeapon.
- Asigna la vara (staff) a rightWeaponAlt.
- Crea un objeto vacío en la punta del staff (cabeza de la calavera) para el magic spot y asígnalo a magicLaunchPoint.
- Deja fireMagic pendiente si aún no existe el prefab de la magia de fuego.
Este enfoque te prepara para añadir más magias, alternar armas con control y mejorar la interacción en realidad virtual. ¿Qué arma o efecto mágico te gustaría integrar a continuación? Comparte tus ideas y dudas en los comentarios.