Drop Ball into Water

Hi,

I am trying to have a ball fall into water and make a splash. I cannot find any tutorials that show a simple example of this. Basically, I have two actors: a ball and a box. In the box is a fluid. When the ball drops from above, it bounces off of the fluid. I want it to splash. :slight_smile:

http://davidjarvis.ca/blender/images/water-01.png
Starting to Fall

http://davidjarvis.ca/blender/images/water-02.png
Hit bottom.

http://davidjarvis.ca/blender/images/water-03.png
Objects in First Layer

The big box is set as both an actor (with no options) and an obstacle. The ball is set as an actor (Dynamic/Rigid Body) with Convex Hull Polytope. The water is a simple fluid.

Any ideas on where I should look for how to make the splash? Let me know if you need more details. The .blend file is at:

http://davidjarvis.ca:dave/blender/water.blend

Thanks!

To deform the water the ball should also be an Obstacle.

%<

Hi, Fligh.

After setting the ball to be an obstacle and the domain to encompass both the ball and the water, I removed the bake files and tried again. The ball still bounced. I removed the bake files (again) then hit “p” to show the falling ball, it fell all the way to the bottom of the water. The subsequent Render Animation produced the desired effect.

Thanks, Fligh!

I don’t think you can use the physics engine for obstacles. you should make the ipo for the ball either manually, or baking a physics sim. also, if you do bake a physics sim, 1) you’ll have to take the water out of the scene, because as you saw, it registers as a collision. and 2) in the actor buttons ( game engine physics ) turn down the size of your bounding sphere radius so it is the same size as your sphere. If it were me, though, I wouldn’t bother using the physics engine to bake the animation for the ball. just a couple of keyframes is all you need, and maybe some additional ones to make it bob up and down a bit. anyway, set up your animation first, without the water. then do the fluid sim.

@Modron: Some helpful and interesting suggestions! Thank you.

a) http://www.davidjarvis.ca/blender/tutorial-14.shtml … those are the exact steps I have used to successfully have a ball fall with a splash into liquid. I’m pretty sure it uses the physics engine because nothing happens with the ball until these steps:

  • Game » Record Game Physics to IPO
  • Game » Enable All Frames
  • Press p to play the animated fall.b) As you can gather from the steps shown on that web page, I have no clue how to “bake a physics simulation”. I know how to bake a liquid. I know how to make the ball fall automatically using the Game Engine (at least I think that’s what is going on). But I haven’t heard of baking a physics sim. Would you mind explaining how to do it, or point me to a tutorial?

c) I turned down the size of the bounds. I don’t see any difference. Perhaps it takes less time to compute the final result?

d) Would keyframes allow an automatic fall with gravity? Would it involve more steps? Keep in mind that the tutorial is meant to be a simple way to show a ball falling (with gravity) through a liquid (preferably stopping at the end of the domain). If you think keyframes would be a simpler way to do this, let me know and I’ll investigate. (Pointers to tutorials appreciated.)

Thanks again!

“Bake a physics” simulation is just another way of saying “Record Game Physics to IPO”, which you’re already doing :slight_smile:

MIke

Also I think you are missing the “Move Liquid” part of the tutorial . Before you go and bake the physical simulation the tutorial says to move your liquid to another layer (2) so that it does not participate in the physics simulation . After you have recorded the physics sim to the IPO, and now you can just press Alt-A to play the recorded animation, then you bake the fluids simulation after bringing back to the water mesh back to the layer where the physics sim took place .

D’oh! Thanks, Mike. :slight_smile:

@Vertex Pusher: I’m not sure what you mean by, “then you bake the fluids simulation after bringing back to the water mesh back to the layer where the physics sim took place.”

I never move the liquid mesh back into Layer 1; it is the domain that emulates the liquid, if I am not mistaken. Of course, I might not be clear on just what is moving to layer 2. If that’s the case, do let me know and I’ll see what I can do about fixing it.

Thanks!

Maybe try increasing damping values or something for the deflection objects ?

Wolf: Deflection objects? To what deflection objects do you refer?

This is what I came up…here

Is this the effect your trying to achieve?

Thangalin, the water of course. You want the ball to not bounce right ?

If you increase the damping values of the object the ball falls upon, to 1, then the ball will stick to that object when it touches it. :slight_smile:

Not sure if it’s possible to make a fluid object as a deflection object but if it is, then give it a try, might work.

There is a section titled “Move Liquid” in the tutorial . It tells you to move the liquid mesh to another layer while you bake the physics simulation to the IPO … I think (how old is this tutorial ?)… or you should any way because having the liquid mesh participate in the physics simulation is what is causing the ball to bounce off the water mesh instead of splash through it .

You need to bake the physics simulation into an animation without the water mesh before you can do a fluid sim . And to do a “correct” physics simulation you need to have the water mesh not be a part of it because you can’t have the water act like water in the physics simulation it will only act like any other object in the simulation and cause the ball to bounce off it .

After you have baked the physics simulation then you return the water mesh to the scene and then add the fluid sim to that and bake that . The fluid sim needs the ball to be animated through the space of the water mesh will take up for it to work i.e. splash . The fluid simulation requires keyframes to do the calculations . So if you have an animation with the ball bouncing off the water mesh it is because that is how you had set it up in the physics simulation (with the water mesh) not because the liquid sim isn’t working .

In other words the physics sim can be used to ADD the animation that the fluid sim requires to do its calculations . So it is a two step process : 1) set up your scene BUT WITHOUT the mesh that you will use to simulate water (you can set up the domain and other stuff required for the fluid sim but just not the water mesh if you want the ball to splash though the liquid). Then use the Game Engine to produce and bake the animation 2) now ADD the water mesh and set that up for the fluid sim and then bake the fluid sim .

Hope this makes it somewhat clearer …