It’s currently too difficult to make an underwater game with movable “dry” areas, such as the interior of a submarine. If we had the ability to create volumes that exclude water’s visible and physical effects, this would be much easier.
Currently, you can partially achieve this with a nearly fully transparent Glass material part, but it doesn’t prevent the humanoid from swimming or keep things from floating. This can probably be done manually, but it would be better implemented at the engine level in C++. You also can’t get rid of the glass’s specular highlight even if transparency is set to 0.999. Of course, this “feature” also cannot be relied upon, so I don’t particularly want to build a game around it.
AFAIK terrain, especially water, works in voxels. So implementing exclusion volumes would likely mean low resolution. This is best seen if the submarine is “rotated” And not tangent to the world’s default orientation.
I don’t think this is an issue. Functionally, the three pieces we need to do this ourselves is the ability to turn off buoyancy/fluid interaction for baseparts, the ability to disable character swimming (which I think we can already do), and the ability to remove the appearance of water within an area, in some manner. We’ve already proven that using glass is a sufficient solution for most applications we would use this sort of tech for, we just need an official way to do the same thing.
All of this can just be hooked up to a performant position in volume system using parts as volumes.
Sure, but if Roblox still has the same technical director, then I would fully expect the whole “glass hides water” thing to get fixed some day. It would be nice to make this into a real feature.