예제 #1
0
        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);
        }
예제 #2
0
파일: Friction.cs 프로젝트: hyyly/teslagame
 public override void manipulate(Particle particle, Vector3f deltaVelocity, Color4f deltaColor, ref float deltaLife)
 {
     deltaVelocity.set(particle.velocity);
     deltaVelocity.stretch(strength);
     deltaVelocity.invert();
 }