Exemplo n.º 1
0
        protected override void OnUpdatePlugin(SolverData solverData, int particleIndex)
        {
            var seed = solverData.GetRandomSeed(particleIndex);

            for (int i = 0, l = m_TouchPointsCount; i < l; ++i)
            {
                var pt = m_TouchPoints[i];
                pt.w = 0;
                var worldPosition = (Vector4)solverData.GetPosition(particleIndex);
                worldPosition.w = 0;
                var d   = pt - worldPosition;
                var len = d.magnitude;
                if (len < radius)
                {
                    solverData.AddForce(particleIndex, (d / len) * acceleration.Evaluate(seed, len / radius), ForceMode.Acceleration);
                }
            }
        }
Exemplo n.º 2
0
        protected override void OnUpdatePlugin(SolverData solverData, int particleIndex)
        {
            var seed = solverData.GetRandomSeed(particleIndex);

            for (int i = 0, l = m_TouchPointsCount; i < l; ++i)
            {
                var pt = m_TouchPoints[i];
                var worldPosition = (Vector4)solverData.GetPosition(particleIndex);
                var d = pt - worldPosition;
                var len = d.magnitude;
                if (len < radius)
                    solverData.AddForce(particleIndex, (d / len) * acceleration.Evaluate(seed, len / radius), ForceMode.Acceleration);
            }
        }