Quote:You can use the force zone's falloff to approximate the submerged volume using the distance of each particle to the surface. For instance if you set max falloff distance to the diameter of the line, you'll get maximum buoyancy when the line is completely submerged, and it will linearly decay to zero as the line goes above the water surface.
Take this sample, if a rope A whose diameter is 1m and a rope B whose diameter is 0.01m in the force zone, it's still difficult to achieve what you mentioned as you can only specify one value for all of them. So the main issue I think is, we are unable to specify different value for different actors in one force zone.
Quote:If you mean support for manually specifying an arbitrary force for each actor that may go inside a force zone, that would be pretty impractical from a UX perspective as it would force you to specify a force value for every possible force zone/actor combination in the scene. This is the same reason why most physics engines don't specify a friction coefficient for each possible combination of materials (which would be the physically accurate thing to do), and instead give each material its own friction coefficient.
I think it would be enough if there is an EventHandler(ObiActor actor, out Force forceOrOtherThingLetWeChange) that is called when a force zone calculates the force it applies on a particle. We can subscribe it and change the force/direction if needed.
Quote:So following this, you can set the mass of each of your actors differently (accounting for their volume as well, in case you want) and it will somewhat accurately simulate buoyancy, resulting in the same accelerations you'd get from different force values for each actor/force zone combination.
If I change the mass of the rope, its physics behavior will be changed when it's not in water which is what I want to avoid. I may change its mass when it's in water and change it back when it leaves water but it's a little complicated. Moreover it's wrong that the more mass an object has, the more it will sink. (A big boat floating on water vs a small stone sink), so the simulation is unreal if I totally rely on mass. My requirement is, there are 3-4 kind of ropes in my game. Density ratio vs water ranges from 0.5 to 1.0. I want to simulate their bouyancy as real as possible.