Problem with buoyancy between water bodies

Hello,
First of all sorry for my English and thank you if you have the time to answer me.

So I am in 4.26 and I have a problem with the buoyancy component that i can’t resolve. I have a pawn blueprint boat wich use 4 pontoons. In my level there is 3 water body : ocean, river, and lake. The boat work perfectly in each of the 3 water body. But when i go in game and I drive the boat from a water body to another sometimes it’s works, sometimes the boat fall or it go deep and come back to the surface after. I try to modify the placement of the potoons, i try to use every parameter in the buoyancy component, i also try to snap the spline between water bodies, and nothing seems to work. The only solution I find is to change the Mass of the boat (static mesh) to a value of 10. The boat work like that but the navigation isn’t realistic

I will really appreciate if someone can find a solution
Thank you.

maybe try to increase the collsion of the water bodies?

1 Like

I’ve found the cause, when actor leaves water body, buoyancy component tick is being disabled despite actor still is overlapping new water body and it never starts ticking again. Can be ‘fixed’ by manually enabling component tick on interval.
Now I can see new problems tho, for example when entering lake by the river from ocean, component will pickup huge ocean waves instead of almost flat lake surface. Still better than drowning like a rock :wink:

Thank’s for the answer, unfortunately, isn’t working for me :confused:

Yes it’s working! I have some weird issues like you but it’s a step forward :stuck_out_tongue: Thank you !

The waves overlapping can be fixed by adding water exclusion volume and adding ocean to the ignore list :slight_smile:
cheers

If anyone want’s a cleaner solution (involving a bit of C++) you can remove DisableTick() in UBuoyancyComponent::ExitedWaterBody and implement your own version in your own vehicle to disable the Buoyancy Component manually. I run a linetrace down from my boat mesh to check if there is landcape close to the boat and check the velocity to see if it’s moving, disable physics on the mesh when its considered “beached” or on land.