I would just create the particle on trigger and then delete it again.
Here is some example code I once usede to create blood spatter effect on player hit:
Code: Select all
%particles = new ParticleEmitterNode()
position = %position;
rotation = "1 0 0 0";
scale = "1 1 1";
dataBlock = "SmokeEmitterNode";
emitter = "bloodBulletDirtSprayEmitter";
velocity = "1";
It is created on player damage, but you can just move it into your trigger function and then it is deleted after 1 second, works fine. You may have to add location data where you want it to appear, since in my case the location is automatically set to where it hits the player. Of course you need to set the dataBlock and emitter to use your existint particle datablocks.