🌊Water Effects
A visual effects controller that drives dynamic water ripple shaders based on bobber interaction. It animates shader parameters to simulate realistic water disturbances when the bobber enters or exits the water surface.
This component was created and designed to be used with MWaterFish custom shader that comes with the package, if you're implmenting your on water solution you don't need to use this
✅ Requires: A custom water shader that uses the above properties to render ripple/fade effects. 🎯 Designed for: Integration with fishing gameplay events (e.g., animation events or state machine triggers).
🔧 Inspector Settings

Bobber Reference
Bobber A Global Var
TransformReferencethat pointing to the fishing bobber. Used to set the ripple origin in the shader.
Shader Properties Animation Settings
Enter Water Duration Time (in seconds) over which the ripple expands when the bobber first touches the water. Uses an ease-out exponential curve for smooth deceleration.
Exit Water Duration Time (in seconds) over which the ripple collapses (via inner hole expansion) when the bobber leaves the water.
💡 How It Works
On
BobberTouchedWater():Sets the ripple origin to the bobber’s current position.
Animates
_FalloffRangefrom0→ original value, creating an expanding ripple.
On
BobberExitWater():Animates
_InnerHolefrom its original value →1, simulating the ripple fading inward until it disappears.
Uses a material instance to avoid modifying the original shader asset.
Automatically cleans up the material on destruction.
🎯 Integration Tips
Call
BobberTouchedWater()the moment the bobber hits the water surface (e.g., from a fishing rod animation event).Call
BobberExitWater()when the player starts reeling or the fish escapes.

The Event Listener is used to respond to events and trigger the responses on WaterEffects.
Last updated