Saltar al contenido principal

Láser en UE4

Un efecto especial con lógica integrada en Unreal Engine 4.

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.

Render final

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.

Render final

Kernel del Compute Shader.

Demostración de los láseres con una cámara en primera persona