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; } }
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; }