Mapeado de controles HTC Vive en Unity
Clase 14 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
10:22 min - 14

Mapeado de controles HTC Vive en Unity
Viendo ahora - 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
Optimiza el sistema de armas en VR con una base sólida en Unity: desactiva modelos duplicados, mapea ejes de HTC Vive con Input.GetAxis y controla tiempos con Time.deltaTime. Con un umbral del 10 % en los gatillos y agarres, podrás alternar entre espada y vara, cubrirte con el escudo y disparar magia de fuego con precisión.
¿Cómo se corrige el bug de visualización inicial?
Para evitar que se muestren a la vez la espada y la vara en la mano derecha, se desactiva el modelo alternativo al iniciar. La clave: en Start, llamar a SetActive(false) sobre el objeto del arma alternativa derecha.
- Dos modelos visibles a la vez causan solapamiento visual.
- Solución simple con una línea en Start.
- Se desactiva el arma alternativa del brazo derecho.
void Start()
{
// Desactivar arma alternativa derecha al iniciar
rightWeaponAlternative.SetActive(false);
}
¿Qué implica la activación/desactivación de modelos?
- Control visual inmediato sin destruir objetos.
- Permite alternar entre espada y vara sin coste extra.
- Deja la base lista para futuras magias: agua, hielo u otras.
¿Cómo se mapean los controles de HTC Vive en Unity?
Desde Edit > Project Settings > Input, el plugin de HTC Vive expone ocho ejes: cuatro para la izquierda y cuatro para la derecha. Se usan el trackpad horizontal y vertical, el trigger (gatillo) y el grip (agarre). Con Input.GetAxis se lee un valor analógico [0..1], ideal para fijar un umbral de activación, por ejemplo 0,1.
- Ejes con gravedad, sensibilidad y zona muerta preconfiguradas.
- Umbral sugerido: 0,1 para evitar falsos positivos por vibración.
- Acciones clave: cubrir con escudo, disparar magia, cambiar arma, mostrar/ocultar escudo.
void Update()
{
if (Input.GetAxis("HTC view left trigger") > 0.1f)
{
// TODO: cubrirnos con el escudo.
}
if (Input.GetAxis("HTC view right trigger") > 0.1f)
{
// TODO: disparar fuego si la vara está seleccionada.
}
if (Input.GetAxis("HTC view left grip") > 0.1f)
{
// TODO: mostrar/ocultar el escudo.
}
if (Input.GetAxis("HTC view right grip") > 0.1f)
{
// TODO: cambiar entre espada y vara.
}
}
¿Por qué usar get axis y umbrales?
- Lectura analógica: de 0 a 1 según presión del trigger o grip.
- Mejora la precisión: evita activar con toques ligeros.
- Escenarios típicos: disparo progresivo, aceleración/freno, apuntado fino.
¿Qué entradas están disponibles y para qué sirven?
- Trackpad horizontal: desplazamiento lateral o selección radial.
- Trackpad vertical: navegación vertical o selección contextual.
- Trigger izquierdo: cubrirse con el escudo.
- Trigger derecho: disparar magia de fuego con la vara.
- Grip izquierdo: mostrar/ocultar escudo.
- Grip derecho: alternar espada y vara.
¿Cómo se gestionan los tiempos con cooldown y delta time?
Se crean dos temporizadores: weaponCooldown y magicCooldown. En Update, ambos se incrementan con Time.deltaTime. Así se mide el tiempo transcurrido desde la última acción para bloquear repeticiones instantáneas y asegurar cadencia.
- Delta time: tiempo entre frames, base para medir acciones en tiempo real.
- Control de ritmo: cambio de arma y lanzamiento de magia con espera mínima.
- Reinicio del contador a 0 al ejecutar una acción.
void Update()
{
weaponCooldown += Time.deltaTime;
magicCooldown += Time.deltaTime;
// Cuando ocurra una acción:
// weaponCooldown = 0f; // p. ej., al cambiar de arma.
// magicCooldown = 0f; // p. ej., al lanzar magia.
}
¿Qué acciones reinician los cooldowns?
- Cambiar entre espada y vara.
- Mostrar u ocultar el escudo.
- Disparar magia de fuego con la vara.
- Ejecutar un ataque con el arma asignada.
¿Te gustaría que preparemos los bloques TODO con validaciones, efectos y feedback háptico? Cuéntame qué acción quieres implementar primero y en qué cooldown debería apoyarse.