public override void manipulate(Particle particle, Vector3f deltaVelocity, Color4f deltaColor, ref float deltaLife) { Vector3f tmp = this.position.diff(particle.position); float len2 = tmp.length2(); if (len2 > size2) return; else if (len2 < threshold2) { deltaVelocity.set(particle.velocity); deltaVelocity.stretch(strength); deltaVelocity.invert(); return; } len2 = size2 / len2; deltaVelocity.set(tmp); deltaVelocity.stretch(strength); deltaVelocity.stretch(len2); }
public override void manipulate(Particle particle, Vector3f deltaVelocity, Color4f deltaColor, ref float deltaLife) { deltaVelocity.set(particle.velocity); deltaVelocity.stretch(strength); deltaVelocity.invert(); }