infinity_spiral 1 Posted July 22, 2013 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
Skybar 353 Posted July 22, 2013 I'm not all that savvy with Pyro, but are you importing the collisionfield? Share this post Link to post Share on other sites
infinity_spiral 1 Posted July 22, 2013 Yes I am importing the collision field but the upres solver doesn't use it.Or maybe I am not doing it right.Here is very simple scene you can see how the smoke goes trough the collision box on the upres. upres_collision.hipnc Share this post Link to post Share on other sites
Guest tar Posted July 22, 2013 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
infinity_spiral 1 Posted July 22, 2013 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 Posted July 22, 2013 (edited) not sure why it doesn't work for you. see attached upres_collisionEdit.hipnc Edited July 22, 2013 by tar Share this post Link to post Share on other sites
Guest tar Posted July 22, 2013 (edited) 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 July 22, 2013 by tar Share this post Link to post Share on other sites
infinity_spiral 1 Posted July 23, 2013 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 Posted July 24, 2013 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
infinity_spiral 1 Posted July 24, 2013 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
bunker 288 Posted March 2, 2019 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
p2or 4 Posted March 6, 2020 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
bunker 288 Posted March 6, 2020 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
p2or 4 Posted March 6, 2020 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 Share this post Link to post Share on other sites
bunker 288 Posted March 6, 2020 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
p2or 4 Posted March 14, 2020 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