top of page

PARTICLE MODULES AND INTERFACE PLUGIN

The Particle Modules and Interface Plugin (PMIP) was developed for Unreal Engine 4's Cascade particle editor in version 4.18.0. This was an academic research project which would not have been possible without the assistance of my friend and mentor, Sanjay Madhav. With his guidance, I was able to navigate UE4's code base to understand the existing Cascade code and properly implement all desired functionality.

​

PMIP was developed to improve the Cascade particle editor by making a handful of adjustments:

  • Reworked existing tooltip messages in the editor to reduce confusion and external research.

  • Altered the default particle material to include a Particle Color node.

  • Added new modules to increase the editor's capabilities.

    • Face Velocity Direction​

    • Color By Speed

    • Rotation By Speed

Here are some example particle effects that are possible with my plugin:

Color By Speed

Rotation By Speed

Face Velocity Direction

HOW IT WORKS

Face Velocity Direction

face velocity direction code.png

The bulk of the work for this module is done here, in which the particle's X and Z components of the velocity are plugged into an atan2 calculation that finds the angle between them. If necessary, we add 2π to this angle to ensure we have a positive result, before setting the absolute rotation of the particle to that angle. 

Color By Speed

color by speed code.png

For the Color By Speed module, we take the magnitude of the particle's velocity, and find its speed relative to the user-defined max and min speeds. ColorVec and fAlpha sample the color by speed and alpha by speed curves based on the relative speed of the particle. Then, the RGBA components of the particle are all updated to match the appropriate color for its speed. 

Rotation By Speed

rot by speed code.png

Rotation By Speed first finds the relative speed of the particle, as seen in the Color By Speed module. Then, we sample the user-defined RotationBySpeed curve based on the relative speed of the particle, to determine the appropriate absolute rotation of the particle. Lastly, we convert the angle from degrees to radians before setting the absolute rotation of the particle.

Full Functionality

Full documentation for the PMIP functionality can be found here.

pmip text.png
bottom of page