Independent control over smooth terrain water collision

As a Roblox developer, it is currently impossible to . . .

Control the collision of terrain water independently from that of solid terrain. This means that a developer who would like to script its own buoyancy behavior has to work around the physics behavior of terrain water that ships with studio. In the current situation developers are forced to abandon smooth terrain and work with parts.

Use case for controlling water CanCollide separately from solid terrain

I am building a vehicle that can transform from a car to a boat. I want the water in my game to visually look like terrain water, but do not want the Roblox-shipped buoyancy behavior that comes with it. More concrete: I want to script my own boat behavior/physics but do still want the vehicle to physically interact with the rest of the world (Bumping into the side of terrain, riding on the bottom of a lake)

In the current situation, one can disable smooth terrain collision entirely through setting CanCollide or by utilizing collision groups. Controlling the collision of solid and non-solid terrain materials separately is not possible.

If Roblox is able to address your issue, how would it improve your game and/or your development experience? Please be as specific as possible.

Allowing to disable water collision/behavior independent from solid terrain collision allows developers to work with terrain water without being forced to use the built-in buoyancy behavior. Disabling this behavior is critical for some gameplay elements to work reliably (i.e. my transforming car/boat/plane vehicle) but in the current situation developers are forced to abandon smooth terrain and work with parts.

Possible implementations

  • CanCollide boolean in Terrain object to disable/enable collision/behavior of non-solid terrain materials (i.e. water)

  • Seperate collision group for non-solid terrain materials which is tied to the Terrain object

  • Expose Bouyancy related variables as properties of the Terrain object to allow developers to tweak and/or disable this default behavior.

  • Allow multiple instances of the Terrain object to exist and render with their own geometry and therefor their own collision group (i.e. Terrain instance for solid terrain, Terrain instance for water).

  • Water material for Parts with optional physics behavior by controling the Parts CanCollide property.

69 Likes

Yes please!

Support!

I’ve been waiting for a water Part material since terrain water first came out, tbh

16 Likes

Water material for parts is exactly what I want!

6 Likes

Sorry to necro-bump, but this would be a really good addition to the new terrain improvements we’ve been getting recently! I’ve been trying to find a way to do this for about a month now and there seems to be no way to do this right now.

2 Likes

Sorry to necro bump, but is two separate collision groups for water and rest of terrain a thing yet? I see mulitiple threads requesting it. This would be a very nice feature. Please advise.

I disable collisions for terrain so I can control swimming myself. This is non-negotiable for gameplay reasons. This means it’s impossible for me to ever use terrain anywhere else in my game.

2 Likes

I really wish to be able to make Boats react realistically to waves, without having to script rocket science.

I love how terrain water looks and would love to be able to have that look without fighting the water physics.

My terrain is pretty complex, so creating an invisible collision barrier out of parts for the ground terrain would be a pretty large task.

I have had a little success using atmosphere to recreate water effect, but you get none of the beautiful waves/topwater.

Edit: I would like to add that even just being able to tick a checkbox to disable water collision would be great in my opinion.

2 Likes