// Update is called once per frame void Update() { var gravity = new Vector3(0, -9.81f, 0); particle1.AddForce(gravity * 0.25f); Debug.Log(particle1.Force); particle1.Update(Time.deltaTime); transform.position = particle1.Position; }
// Update is called once per frame void Update() { //length between vector between particles ePrime = Particle2.Position - Particle1.Position; unitLength = ePrime.magnitude; e = ePrime.normalized / unitLength; //1d Velocity var m1 = Vector3.Dot(e, Particle1.Velocity); var m2 = Vector3.Dot(e, Particle2.Velocity); //1d to 3d var hL = -springConstant * (restLength - unitLength) - dampingFactor * (m1 - m2); var f1 = hL * e; var f2 = -f1; Debug.Log(f1); Particle1.AddForce(f1); Particle2.AddForce(f2); }