Jump to content
Sign in to follow this  
Bernardo

Object falling on water surface

Recommended Posts

Hello everyone!

 

My name's Bernardo and I am just starting to study houdini. I am a 3d generalist and I mainly work with blender. Being a Houdini noob, I will do a lot of noob questions... so please forgive me :)

 

Now... I am trying to create a slow motion animation of an object (size of strawberry) falling on a surface where lies a small amount of water. The object will bounce on that surface and create a small splash on the water. 

Additionally, I would like to add some droplet on the object surface (like on fresh fruit) that will react when the object hit the ground.

 

I already set up the object to be a rigid body, a ground object and a flip container of the right height for the main fluid sim. So let's say the main simulation is there. 

 

1)First really noobish question: how do I bake the particle sim to disk? When I crank the resolution of the container to a high value my ram won't be enough to cover the whole length of the animation. I looked quite a lot for this info on internet... It's strange but I couldn't find how to bake the sim to disk for good and then use the baked files from disk.

 

2)Second question: for the slow motion effect right now I am just changing the frame rate of the scene from the Global Animation Options. Is it ok or it would be be better to do it is some other way?

 

3)Third question: droplets on surface... could you give me some hint or point me to some tutorial on how to create such effect please?

 

Thank you in advance for any help! :)

 

Share this post


Link to post
Share on other sites

Hi Bernardo welcome!

 

Never worry about asking questions we've all been new starters before :)

 

1; You're looking for the "rop output driver" sop to put after your dopimport, this will allow you to cache your sim to disk as a sequence of .bgeo files. Call it something like - /mydirectory/mysimname.$F4.bgeo

Then use a "file" sop to read that sequence back in. Generally you'll want to do a cache just after your sim, then do your surfacing, before caching again. This allows you to tweak the surfacing easily whilst reading the sim from disk.

 

2; There are (and you're going to hear this a lot in houdini) a few ways to do this, probably easiest to start with is to use the "scale time" parameter on your dopnet so select your dopnetwork -> simulation -> scale time.

You can also run it at real time and cache out substeps to be retimed after the sim itself (timeshift node!), useful for doing time ramping effects.

 

3; Have a look into the scatter sop -> vdb from points -> convert vdb. Playing around with the "pscale" attribute on your points will allow you to change the look of the effect.

 

Hope this helps and good luck!

Dave.

Edited by dayvbrown

Share this post


Link to post
Share on other sites

Thank you very much dayvbrown! 

1) found it and it works! Just one question: I see that by default he puts all this stuff after the filename. I know the $SF is for the frame numbers, but I wonder what the $0S and the final .sc are for... are they needed? Right now I just copied all that stuff in my file name and it worked fine.

 

2) Also got the idea, did a couple of tests and it works as well!

 

3) here I am bit more in high sea :D I did some test with the scatter as you suggested, but had not much success so far... I think I should bake the rigid body animation and work on a clean animated object, because I am seeing some problem while working directly on the rigid body... I also found this old topic and downloaded the example file. Something is coming out of it, still I am a bit crawling in the dark and I also have the feeling the file is outdated, since he is using the old POPnet 

 

Edited by Bernardo

Share this post


Link to post
Share on other sites

I also found this free asset. The downside is that I cannot see what is going inside the node, so I won't learn much from it, but I wanted to check it out anyway. http://vfxhomeland.com/freetools.php

It looks really cool, but I think I need to bake the falling object motion in order to use it correctly... so here I have another question. I made a new scene where I only have the falling rigid body and a ground plane. Now I would like to bake ONLY the rigid body. I tried using a file node, and inside DOP import and Rop Geometry output. It bakes everything, also the ground plane which I don't want. How can I bake only the falling object? 

 

Thank you again for any help! :)

Share this post


Link to post
Share on other sites

No worries,

 

$OS will give you the name of the current node, so it will name your sequence the name of the rop_output_driver you're using (this is super helpful! Also always name your nodes :) )

.sc is the extension to use for compressing your bgeo files. So myfile.bgeo is uncompressed myfile.bgeo.sc will be compressed. (Also super helpful for your hard drive)

 

Now for caching out, when you have a dopnetwork by default it will "import" all objects from the sim back into sops, if you select your dopnet and under "Object Merge -> Object" by default this will be set to *, ie; import all objects. 

So where it currently says * type in the name of your object from inside the sim, probably something like "rbdobject1" and that will only import that object back to sops. 

 

The other drip\rain setup looks like it should be doing what you want, although appears to be introducing some more advanced concepts. It can certainly be adapted to the dops based particle system as most of the work is being done in the vopnet. What I would do is to get it going on a static object first so that you understand the processes before attempting to apply it to 1; a deforming object, 2; a fracturing object. Each of those will add new levels of complexity :)

 

Cheers,
Dave

Share this post


Link to post
Share on other sites

Ok for the more advanced stuff I am going to need some more time... but I will surely come back with questions :D

 

as for the caching... I have the DopNetwork. Then I use a file node and inside that I add a Object Merge node. In the node I select just the torus from the dopnet, but I still see the ground plane as well. Here is a screenshot of the scene. Is that the right node or am I doing something wrong? The viewport is set to "Hide other objects" so what's in the viewport should be what's in the file node.

 

Thank you! :)

 

ObjectMerge.jpg

Edited by Bernardo

Share this post


Link to post
Share on other sites

Use a dop import instead of an object merge to bring in the rbd geo you want from your dop network. In the dop import, use the object mask to specify which geometry you want to bring in.

 

dopimport.jpeg

Share this post


Link to post
Share on other sites

Ahhhh sorry I led you down the wrong path!! I was assuming your dopnet was inside a geo object :) 

 

What Ryan has posted is the best way of importing it, for future reference when you put a dopnet down inside an existing object this is what I was talking about - 

dopnetMerge.jpg

Share this post


Link to post
Share on other sites

Perfect, it worked! Thank you very much guys! :)

 

See you soon with more question (it is not a threat, it's a fact :D )

Share this post


Link to post
Share on other sites

Ok... I am back already.

 

Diving deeper in the retiming topic, I found some problem that I didn't notice while quickly testing your advice. The problem is that no matter the way I use to retime the simulations, the simulations dynamic change.

Those methods are: changing frame rate, or using the time scale from the DopNetwork options. The simulations is in slowmotion, but it doesn't retain the dynamics of the real time sim. 

 

So I remembered davybrown telling me to try with substeps and then time retime the sim once re imported after baking. Now... I found different substeps settings. There is the DopNetwork substeps settings, but this will change also the simulation dynamics exactly like the frame rate or time scale does. I also notice that changing those substeps will alter the Time Step value above... so I am getting a bit lost here already. Then I also tried to change the time scale to compensate that, but the sim got even more messed up.

 

Then there are the Flip Solver substeps. Here sim remain the same, but how do I "export" the additional substeps? Let's say I set min and max substeps at 5... does it mean I should be able to slower the sim down 5 times? I did a test exporting the baked particles, but I couldn't slow the sim down maintaining the fluid motion. So, is there a way to tell houdini to export all the 5 additional substeps? Maybe some option I missed in the Rop Output Driver?

 

Thank you again for any help! :)

DopNetSettings.jpg

FlipSolverSettings.jpg

Edited by Bernardo

Share this post


Link to post
Share on other sites

Did you try add id to flip particles and use timeblend and time shift for retiming?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×