private void OnCollisionStay(Collision collision)
        {
            if (enabled)
            {
                if (timer > rippleRate && collision.transform == grassCol.transform)
                {
                    timer = 0;

                    ContactPoint contact = collision.contacts[0];
                    GrassFlowRenderer.AddRipple(contact.point + contact.normal * contactOffset, ripStrength, ripDecayRate, ripSpeed, ripRadius, 0);
                }

                timer += Time.deltaTime;
            }
        }
Example #2
0
        private void Update()
        {
            if (Input.GetMouseButton(0) && timer > rippleRate)
            {
                timer = 0;
                Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                RaycastHit hit;

                if (grassCol.Raycast(ray, out hit, 9999f))
                {
                    GrassFlowRenderer.AddRipple(hit.point + hit.normal * contactOffset, ripStrength, ripDecayRate, ripSpeed, ripRadius, 0);
                }
            }

            timer += Time.deltaTime;
        }