As a Roblox developer, it is currently impossible to tune the behavior of physics parts in terrain water. The only property exposed that directly affects drag is density. Because altering the density of parts affects buoyancy, it is impractical to use as a modifier to reduce drag.
Size and shape can indirectly affect drag by changing the surface area. However, tuning for one direction will cause side effects in another.
This is an issue myself and my team have struggled with while attempting to develop emergent water features such as boats, buoys, floats, etc.
Possible implementations:
Part friction affects drag
New custom physical property for drag
Terrain drag constant property (would not work for granular tuning)
Use cases:
In our game, we have issues of some objects having too much drag, and some too little:
Boats - large boats slip/skid across the surface when turning, where they should catch the water and slow
Tubes/floaties - drag heavily and stop rapidly when pushed or pulled
Being able to edit those properties individually would allow us to solve those problems ourselves. Thanks!
There are not currently any properties for drag. But it is possible to disable drag AFAIK. Maybe not 100% completely. But you can set the friction and friction weights. This includes elasticity and elasticity weight.
There’s also the possibility to modify the velocity directly which will allow you to apply your own drag. And as you already know there’s density. If you apply your own force so that you can negate gravity and then apply your own gravity. With this combination, you should have a way to get decent behavior.
With Attributes that show in the properties panel, it becomes easier to modify this on a per part basis.
Personally speaking, I believe having a toggle that lets you disable Roblox’s physics in a fine-tuned way over specific parts and models. E.g remove water forces but keep gravity. It would be much easier to work with instead.
You can try getting the physical properties of water. Then when you assign those same physical properties to a part it basically nullifies water forces.
And that’s true. I’d rather not make a system from scratch either. But then I’d never make a game on Roblox. There’s a lot of functionality I wish Roblox would implement that’s just basic to the Gaming Industry. Hope this feature request gets taken into consideration in a timely manner.