You can use the River -> Generate MeshInstance Sibling option. In case you want to access the river mesh directly to use it for other purposes such as generating a collision shape. The settings for the baking are located in the river's inspector, see section below. Once you are happy with the shape of your river, you can use the River -> Generate Flow & Foam Map option to bake out the textures that activate flow map and foam. The Local mode option, switches the axis to be local to the point rather than the world and can be toggled with shortcut T. You can also use the shortcuts X, Y and Z to lock movement to a given axis and shortcuts Shift + X, Y and Z to lock to planes YZ, XZ and XY. The implementation is similar to Blender's. The Axis and Plane constraints can be used for better control in moving and adding points. The "Snap to Colliders" constraint can be used to easily place the path of the river along a terrain. You can then use the Path controls to shape the river to your liking. Once the addon is active, you can simply add a River node to the scene. Both the generation of the flowmaps and the generation of the mesh for the river was of interest to me and I've learned a lot implementing my solution. I wanted to see if it was possible to have good flowmap results purely generated within Godot. I've been very impressed with examples of using flowmaps to imitate water simulations in games for a while, but most of the implementations I've seen were using either manually painted flowmaps, or flowmaps generated in an external program. Try out the demo project for an example.Ĭopy the folder addons/waterways into your project and activate the add-on from the Project -> Project Settings. A tool to generate river meshes with flow and foam maps based on bezier curves.