I am working on an energy field/force field effect that includes a blinking background and animated, horizontal beams moving vertically across the field. I have managed to do the effect based on GDC 2015, however, the tricky part is that the entire effect has to be attached to a fast moving object, which doesn't work with my current solution. The effect is illustrated below (please pardon the programmer graphics):
I know that traditionally energy beams would be implemented as shader, however, my constraint is, that they have to be done using particles.
The way I've structured the effect so far is to have the main layer with a mesh renderer to represent the background.
The other layer (BeamCenters) represents "seeds" or centers of the beams.
Then the actual beam effect is defined in a LayerGroup, that is triggered by the BeamCenters events. The actual beam particles have their positions defined based on virtual parent's LifeRatio and minimum and maximum width based on the current height (the width of the beams needs to change as they go up due to the field's shape).
I've tried several approaches to make the whole effect adjust to the changes in emitter's transform including:
- using localscape evolvers
- using projection
- shortening the Life of beam particles
None of the above solutions worked for me. I'm starting to consider using a hybrid solution e.g. separate the background and beam effects and control the beams separately from the engine, however, if another solution that can be implemented completly inside PopcornFX exists, I'd very much prefer it.
I'd appreciate any advice. Info that it currently can't be done would also be useful if that's the case.
Thanks in advance!