public void PropagateForce(ref SPParticleForce force) { Vector3 pos = force.position_average; Vector3 f = force.force * SPWorld.GetCurrent().m_particle_mass; if (m_rigid3d != null) { m_rigid3d.AddForceAtPosition(f, pos); } if (m_rigid2d != null) { m_rigid2d.AddForceAtPosition(f, pos); } }
public unsafe void PropagateHit(ref SPParticle particle) { Vector3 f = SPAPI.spGetIntermediateData(SPWorld.GetCurrentContext())->accel *SPWorld.GetCurrent().m_particle_mass; if (m_rigid3d != null) { m_rigid3d.AddForceAtPosition(f, particle.position); } if (m_rigid2d != null) { m_rigid2d.AddForceAtPosition(f, particle.position); } }