Ejemplo n.º 1
0
        // 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;
        }
Ejemplo n.º 2
0
        // 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);
        }