39.- El Raycast de Unity


El Raycasting es un gran invento de los motores de videojuegos, consiste en una especie de rayo láser que puede salir desde la cámara y al momento de tocar un colisionador nos devuelve información.


RayCast-Sample



Creamos una escena con los siguientes objetos extra:
Sphere
Plane
Capsule
Cylinder

RayCast-Unity_test



Creamos el script SimpleRaycast.cs

Es una lógica sencilla, el rayo siempre está imprimiendo los objetos colisionados...

RayCast-Unity_script



Al probar puede ver como se despliega un rayo en la ventana de escena y el nombre del objeto colisionado en la consola.

RayCast-Unity_script





Ahora modificamos el script para hacerlo más interesante, algo parecido a disparar con el click del mouse, cuando presione click se dispara el rayo, crea una instancia de explosión, emite un sonido y destruye el objeto colisionado.

RayCast-Unity_script



Reutilizamos la partícula de los ejercicios anteriores y un sonido de explosión.

RayCast-Unity_script



El script ahora nos pregunta por la partícula y el sonido, para emitir el sonido debe agregar un AudioSource a la cámara:

RayCast-Unity_script



Probamos... ¡y vemos explotar todo lo que colisiona con el Raycast!

Estamos con la base de cualquier shooter de videojuegos, ¡muy sencillo en Unity!


Siguiente: 40.- Juego 3 - NinjaStar3D
Tutoriales Tecno Trainer Unity-C#-3dsmax

RayCast-Unity_script