How do I make water affect the player's physics?

Godot Version

version 4.6.2

Question

I'm making a fishing platformer style game, and one of the main components to play is swimming. I'm going to add the swimming mechanic later, but for now I would love to know how to affect the player's gravity and movements under the water. Thanks!

You are looking at fluid viscosity and gravity.

How complicated do you want it? If you do not want to use a heavy simulation, you can simulate viscosity (water resistance) by detecting when a character is inside an Area2D and changing their movement physics (lower speed, reduce gravity)

or get into the mud with by using specialized physics plugins, such as Rapier 2D, which provide fluid simulation capabilities, including viscous forces.

2 Likes

Thank!