How to create an active boolean

I am making a ship game and I want the water out of the boat. Considering that the water is a mesh/part, how can I subtract the hull of the boat from the water in real time.

So a module that could negate the ships shape from the water and replacing it behind every tick.
(Could also be done locally since water does not affect the player)

The only fast way is to make your water out of square tiles with a vertex and bone at each corner, these could support waves. Then to remove water from inside the boat you would need to move these vertices around to cut a boat-shaped hole in the water. This is what From the Depths does, it’s still not trivial and I’m not sure how I’d approach it beyond that.

I have 3 extra questions from that answer:

  1. Could I keep that bone system to create realistic waves with a skinned mesh?
  2. If yes, could I synchronize my game so every player has the same waves at the same place whilst still fully loading it on the client side?
  3. If yes, what method should I use to make sure that every client always renders the same waves?
  1. Yes, this is currently the standard way of doing it.
    2/3. If your waves are a function of time only, then you just need to get each client to roughly agree on what time it is. Getting accurate time sync is annoying but in this case it doesn’t need to be super accurate, so you can use DistributedGameTime.
1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.