public void Reinit() { // reset tranforms reinittable.ReinitTransforms(); // reset all parts' velocities to zero reinittable.ReinitRigidbodies(Vector3.zero, Vector3.zero); }
public void Reinit() { reinittable.ReinitTransforms(); Vector3 v = Random.onUnitSphere; if (v.y < 0) { v.y = -v.y; } if (v.y < 0.2f) { v.y = 0.2f; } v *= Random.Range(0.6f * maxVelocity, maxVelocity); Vector3 av = Random.onUnitSphere * Random.Range(0.6f * maxAngularVelocity, maxAngularVelocity); reinittable.ReinitRigidbodies(v, av); smoke?.Play(); }