I've built upon the particle system created in my last blog and added a Beam Emitter to simulate electrical beams. The material for the beam emitter was procedurally generated using a sine function to drive the emissive color as well as the transparency (along with a power function in the middle). One tricky thing to keep in mind when creating beam emitters is to make sure to lock the target position to the life of the particle. Otherwise, it looks like you are generating tons of electrical beams per second! Another tricky thing was to uniformly distribute the tangents for the target endpoints. This is for the purpose of making the beam bend randomly. It helps to remember that 'tangents' are basically defined by the two control points used by the Bezier curve at the endpoints. For my beam emitter I'm only generating random tangents and the target endpoint. Furthermore, in order to give the jumpy feeling to the beam, I've added a Noise module to my Emitter and let the noise range to be uniformly distributed across a small range. Finally, if you really want to get that emissive color feeling you need to bump the colors above the 1.0 range.
In order to produce the video shown above I used the engine's Matinee editor. It was easy to set up following this guide. However, I ran into an issue where I would get this annoying untextured sphere at random places every time I launched the game as a standalone. Upon some googling I found it had something to do with not having a game object defined which in turn was auto generating a default pawn. I'm still new to UE4 so not sure what all that means. Nevertheless, I was able to resolve the random ugly looking sphere by selecting the Matine object in my scene and, in the details panel, selecting the 'Hide Player' option. Also, the only way I was able to get the movie to start at gameplay was by using Blueprints as described in the guide. That little box in the Matinee object details window called 'Play on level Load' doesn't seem to work by itself.
I'm a software engineer with a passion for computer graphics.