Simulating buoyancy

I am trying to use Blender for simulating different boats floating. How can I use Blender to accurately simulate buoyancy?

Bump. I need an answer


Take a look at this thread.

Best of Luck!

Also take a look at Cog Lister’s site. He has some excellent tutorials regarding ocean type stuff.

But, do those techniques in your pdf actually simulate buoyancy? For instance, would it be able to tell if a shape of boat would float or sink?

Absolutely NOT - they are animation techniques only. I wouldn’t know how to go about simulating actual buoyancy.

Well, you could try to bake an animation using the game engine. Here’s a link to what’s called the Fh force, which is basically what you’re after. There are other recources out there as well, this was a quick search. Once you’ve set up your objects, you bake the animation as IPO curves, link here. The Bullet physics engine is a simulation of real-world forces in action, so you might be able to come up with something that fits your needs. (Again, this was a very quick search on my part, just to get you started in a good direction. If you need some sort of experimental physical simulation for complex fluid dynamics, I’m guessing you’re not likely to find it here…but it might be pretty close.)

Thank you, I will try that.

floating is a function of displacement where the mass of the liquid displaced equals the mass of the boat. So, you would have to write a function to calculate the displacement (volume) of the hull mesh at the waterline, and refine the waterline until it equalled the mass of the whole boat (so you would have to put in what the boat weighs).

Blender is not a buoyancy simulator. You cannot use it to “accurately simulate buoyancy.” I’m curious as to what made you think it could.

Well, Blender has a fluid simulator, and a collision simulator. So, why not buoyancy?

Because buoyancy is an effect of relative densities. If it’s just collision with a surface you want, then OBI_Ron’s answer is the one you need. It shows you how to make something appear to float. If you want to find out if a particular design will or will not float, Blender is not the tool that you need.

There is this thread…it’s old, but has a bit of simple but interesting python code in it. If you feel like trying your hand at python scripting, it might be of use in hull design since it looks like it can at least provide a visual simulation of how far your water-line would rise up on a given hull design.

And then there’s this thread. From this, I gather Erwin might be working on buoyancy simulation for Bullet physics, which is used by the BGE, so you might have what you want in the not too distant future.

(I’m just googling this stuff…but as harkyman said, Blender is probably not the best tool for what you need, if I understand you correctly.)