How do you make an object interact with the ocean?

For example, I’m trying to create a light-house, and I want it the ocean to interact with the building and not go through it!
I tried placing a collision on the LH, and or a rigid body and nothing worked! Please help me!

First off, you need to realise that the ‘ocean’ is simply a mesh with a simple animation modifier attached. It is not an actual simulation of water, and as such will not collide with any objects such as lighthouses. If you enable rigid body physics it will not deform the actual ocean either. However, there is a partial solution for your problem. What you need to do is make a cylinder that covers all area you do not want to fill with water. Then, you can simply apply a Boolean modifier to the ocean object, set the operation field to difference, and the object field to your previously created cylinder.

I feel like you may be new to the physics simulation side of blender and I would advise you to check out Wikipedia’s articles on physics engines as well as learning about fluid simulation.

Thank you.

You could try something with Dynamic Paint:

Add DP to the ocean and make it the canvas.
Add DP to the light house and make it the brush.
With the ocean (=canvas) selected, switch the surface type to Displace in the DP Advanced settings.
Tick the Dissolve field and set the dissolve time (frames over which the effect dissolves).
Set the displace factor to a negative value for the ocean to splash up at the light house.
Add the light house as a group to Brush Group.

Make sure the ocean has enough resolution and is animated over time.

Now with some nice water texture (maybe also with Dynamic Paint for foam building at the light house…) and some particles for simulating some splashing gust and foam in the air on top, this could lead to a convincing shot…


1 Like