El controlador del juego

1

Archivos del curso

2

¡Bienvenido a los cursos autorizados de Unity!

3

Bienvenida al curso y requisitos para utilizar el HTC Vive

4

Inicializando nuestro proyecto y configurando nuestro PlayerSettings para trabajar con VR

5

Utilizando nuestros controles de HTC Vive

Creando nuestro mundo 3D en Unity

6

Comenzando a crear nuestro escenario 3D con los Unity Standard Assets

7

Preparando el terreno de nuestro escenario

8

Texturizando el terreno de juego

9

Agregando detalles utilizando vegetación

10

Agregando cesped y viento a nuestro nivel

11

Terminando nuestro entorno 3D, agregando un skybox al proyecto

12

Utilizando la unity asset store para obtener nuestra arma y escudo

El realismo del VR: Programando a nuestro personaje

13

Asignando un control de realidad virtual a nuestras armas

14

Input Manager de nuestros controles de VR

15

Accediendo a los botones de nuestro control

16

Preparando nuestro proyectil

17

Utilizar los sensores de los Vive Controllers para lanzar proyectiles

18

Corrigiendo los bugs de nuestra arma

19

Agregando Colliders y Rigid Bodies a nuestro playerController y armas

20

Utilizando Getters y Setters para manejar nuestas barras de vida

El realismo del VR: Creación de HUD (Heads Up Display) y generando enemigos

21

HUD's en VR

22

Terminando nuestros HUDs de mana y vida

23

Creando nuestro script de daño

24

Asignando nuestros huds a los valores de vida y de mana de nuestro personaje

25

Agregando enemigos

26

Añadiendo colliders a nuestros enemigos

27

Añadiendo animaciones de muerte a nuestros dragones

28

Spawn de enemigos: Generando enemigos sistemáticamente

El realismo del VR: Programando la IA de nuestro juego

29

Programando una IA básica: Waypoints

30

Programando a nuestro enemigo para que pueda seguir Waypoints

31

Terminando la lógica de waypoints

32

Puliendo la lógica de nuestro enemigo

33

Añadiendo diversos puntos de 'Spawn' para enemigos y cierre del curso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de VR con Unity

Curso de VR con Unity

Juan Gabriel Gomila

Juan Gabriel Gomila

Utilizar los sensores de los Vive Controllers para lanzar proyectiles

17/33
Recursos

Para calcular la fuerza (o velocidad) a la que debemos lanzar un proyectil, necesitamos conocer primero la diferencia de posición en que se encuentra el control derecho en dos momentos.

Para ello hemos definido antes, al final del método Update(), en el script de weapons, dos variables particulares:

  • lastPositionRight, a la que le hemos asignado el valor de rightHand.transform.position
  • lastPositionLeft, a la que le hemos asignado el valor de leftHand.transform.position.

Nótese que todos los objetos tienen la propiedad transform, que nos dan acceso a position, scale y rotation, entre otras.

La fuerza con la que se hará el lanzamiento del proyectil debe ser definida como una variable de tipo Vector3, ya que es este el tipo de valor que podremos utilizar luego para indicar el impulso con el que será disparada la magia.

Debemos tener en cuenta que hemos definido antes la magia de fuego como un objeto hijo del arma alternativa, con una componente Rigid Body con _constrains en x, y y z que la mantendrían vinculada a la posición de esta, por lo que al salir disparada, debemos desvincularla para que sea entonces un objeto independiente y su desplazamiento sea autónomo. Esto lo hacemos asignando a la propiedad <GameObject>.transform.parent el valor de null y al <GameObject>.GetComponent<Rigidbody>().constraints el valor de RigidbodyConstraints.None.

Finalmente para lanzar el proyectil, le aplicamos a la instancia de la bola de fuego creada al presionar el trigger en el control, la fuerza que hemos calculado antes, para lo cual usando la función: <GameObject>.GetComponent<Rigidbody>().AddForce(<vector de fuerza>, ForceMode.Impulse). El parámetro ForceMode.Impulse indica a la función que el vector pasado debe ser aplicado como una velocidad inicial (un impulso) y no como una aceleración, que tendría un comportamiento diferente.

Para cambiar el efecto de sonido de la magia al momento de dispararla y reproducirlo tan solo una vez, usamos la función <GameObject>.GetComponent<AudioSource>().PlayOneShot(<AudioClip>)

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Un poco de documentación sobre el Impulse : https://docs.unity3d.com/ScriptReference/ForceMode.Impulse.html

No me funcionó con la posicion de las manos siempre me sale la misma en la anterior y la actual (oculus quest 2), tuve que usar la posicion del magicLaunchPoint