Jump to content
infinity_spiral

upres solver and collision?

Recommended Posts

Hello,

Is there any way to make the upres solver to respect collision from the initial simulation?

I am trying to retime smoke simulation and make it 5-6 time slower but keep exact shape.I tried doing that by linearly interpolating the cache between current and next frame but when you go more than 3 times slower it starts to be visible.Then i used upres re timing option which is working great but it has one major problem it doesn't respect the collision. Is there a way to include a collision to upres solver.Does anyone done that before?Any tips?

Thank you!

Share this post


Link to post
Share on other sites

I'm not all that savvy with Pyro, but are you importing the collisionfield?

Share this post


Link to post
Share on other sites
Guest tar

You should be able to merge the static collision object into the UpRes Dop network, this recreates the setup of the original lower-res sim.

Share this post


Link to post
Share on other sites

Yeah I tried that already but it doesn't work.The upres solver doesn't seem to use collision at all.I think somehow i have to bring collision field inside the upres solver but still can't get it working .Anyone?

Share this post


Link to post
Share on other sites
Guest tar

Just setup a new scene and the Upres picked up the collision automatically. Houdini 12.5.470 see attached

EDIT - Just tested timescale in Upres - dropped Relative TimeScale to 0.2 and it all works

UpResTEster.hipnc

Edited by tar

Share this post


Link to post
Share on other sites

Thank you for taking the time for making the scenes but I don't see any difference in the result from the scene I posted .Upres solver doesn't use the collision field.If you want turn on the low res sim and compare it with the upres and you will see that on the upres the smoke is going trough the box, and yes I tried it on the latest Houdini build.

Anyone with idea how to make collusion working with upres ?

Share this post


Link to post
Share on other sites
Guest tar

diving into the UpRes node there doesn't seem to be any nodes for a collision source.

Share this post


Link to post
Share on other sites

Something that we can do is to use sink relationship(maybe better than nothing :) ) instead collision relationship but unfortunately again the final look will be different from the main simulation because you kill the density instead push it by collision.

Can anyone help with this problem?It should be a way to include a collision inside the solver. I still exploring it.I also tried to use the relationship setup from the smoke solver and connect it to the upres solver but it seems that the problem is more related to the advection method inside upres solver.

Anyone?

Share this post


Link to post
Share on other sites

old thread but I thought I'd add this:
you just need to zero out all the fields inside the collision - with a volumewrangle:
// sample collision (input 0 in the collision field in SOPs)
float c = volumesample(0,0,@P);
if(c<0)f@density=0;

Share this post


Link to post
Share on other sites
On 2.3.2019 at 4:18 AM, bunker said:

old thread but I thought I'd add this:
you just need to zero out all the fields inside the collision - with a volumewrangle:
// sample collision (input 0 in the collision field in SOPs)
float c = volumesample(0,0,@P);
if(c<0)f@density=0;

Hi @bunker. Why setting the density to zero help and where to put the wrangle to get proper collisions for the upres solver? I don't get your idea. If you have the time, I'd appreciate any explanation. Attached an upres-file to play with in case. Thanks, Christian

upres-collision.hiplc

Share this post


Link to post
Share on other sites

Upres doesn't compute any velocity (and collisions affects vel obviously) so you won't get exact collisions.
the lowres vel field is upscaled and curl noise is added so some density might (will) enter the collision field.
You can add a gasFieldWrangle as the last stage of the solver, or anywhere you want, it's removing density inside the collision on every frame.

hope that makes sense.


 

Share this post


Link to post
Share on other sites
2 hours ago, bunker said:

Upres doesn't compute any velocity (and collisions affects vel obviously) so you won't get exact collisions.
the lowres vel field is upscaled and curl noise is added so some density might (will) enter the collision field.

Too bad, makes sense however. Many thanks @bunker.

Remaining question is where to put the wrangle...? I tried to add it to the post solve stream of the upres solver but it doesn't seem to effect the sim. What I'm doing wrong? Is there anything else to consider? Thanks again, Christian

upres.jpg

Share this post


Link to post
Share on other sites

I had a look at your hip file now actually, you should put that wrangle after your "volumesource2",
just plug it there in the latst input of "/obj/pyro_upres/upres/merge2"

Share this post


Link to post
Share on other sites

Many thanks @bunker, it helps cleaning up the volume on the collision areas a bit, but as mentioned doesn't work in this case. I try to sim it again using a higher voxel count. Cheers!

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

×