I already checked out a "real" buoyancy script, and determined I don't want that. Large, flat objects are likely to fly up in the air and/or spaz out, and when it does work, they are too easily overturned. So I want to fake it.
But I can't configure the configurable joint to do what I want it to- act like a raft. You jump on it, it sinks a little then returns to a lower resting point- jump off, it bounces back up and settles to its original position. This by itself shouldn't be hard to do, but I also want it to tilt slightly toward the edge you're standing on if you are standing off center.
So I want its translation tightly limited, in a springy way, along the Y axis; and its rotation even more tightly limited, in the same springy way, on the other two axes.
Or putting it another way- it should be able to move freely in the xz plane and rotate freely around its y axis but be otherwise spring-constrained.
I don't know why but I can't configure a configurable joint to get this behavior. Or any behavior I'm trying to get from it for that matter.
I'm dropping a rigidbody cube on it to test it and my raft always just sinks, no matter how I have the joint set up. And it rotates as it is sinking, even if I set the x and z rotation to "locked." I just don't get it.