Este proyecto fue mi punto de partida para aprender las nociones básicas de Unreal Engine 4 de manera autodidacta. Involucraba varios elementos del motor, como materiales, efectos de partículas, código, sistemas de colisiones, etc., lo que lo hacía ideal para iniciarme en UE4.

Propagación recursiva
El láser se propaga recursivamente si golpea un material que le permita ser reflejado (o continuado en caso de impactar en un portal). Para evitar casos donde pueda haber infinitas o muchos reflejos del láser, se tiene que poner un máximo número de rebotes tras los cuales se detiene la propagación. También se puede modificar la máxima distancia a la que puede realizarse el RayCast, para casos donde el láser no llegue a alcanzar ningún objeto.

Escena de testeo donde el laser atraviesa portales y se reflejar en espejos.
Opciones
Se pueden modificar fácilmente las características visuales más importantes del láser, como el color, la anchura y la intensidad lumínica del mismo. Aquí también se pueden controlar las opciones de recursividad, así como las categorías (EObjectTypeQuery) de los objetos susceptibles de ser impactados por el láser.

Kernel del Compute Shader.
Demostración de los láseres con una cámara en primera persona