Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Posts posted by Pazuzu

  1. On 6/7/2020 at 12:09 PM, lobao said:

    The result is very good, I have been following all the progress and this is very cool.

    Wouldn't you do a (paid) tutorial so that you can teach us how to configure and control this surface tension on a small scale?

    I've already migrated my entire flip process to small scale, but I can't use surface tension at all.

    Hi @lobao,

    Thanks for following up the progress. Regards a paid tutorial, I think a tutorial is not enough, it has to be a Masterclass or something more robust, this method is not a simple one to deal with, also the pipeline is made out of many different stages that has to be explained in a nice way without overwhelming too much the attendants, so I'm trying to find the best way to do this, maybe a Patreon or a a collection of hips on Gumroad. A Patreon is a good idea, I have many techniques and tools to show, so I think that method would be nice, or maybe people is searching for another way to learn. Who knows!

    Anyway thanks again to be interested!



    • Like 7

  2. 16 minutes ago, kuvaka said:

    And here is another question, do you use any masks or restrictions for your pyroclastic?

    When I worked on that solver (from the vimeo video) I used the standard pyroclastic noise displacement, but I used also the curvature (or you can use laplacian as well) as the main factor for the pyroclastic displacement and decimation. So yes that was my restriction/mask, mainly to have a more nicer evolving material, and I think it works, of course, the video just shows the backbone of the system, but you can have way better details developing it a bit more.

  3. 1 hour ago, kuvaka said:

    Can you please tell us how you turn the density field into sdf, the nodes that do this are not in dop

    You can do it with some microsolvers, but is a bit of a pain and the resulting sdf will lack of detail. The best way is to use a vdb pipeline inside a sop solver, you will have all the vdb arsenal at your disposal. 

  4. 10 hours ago, tylerafx said:

    Thank you, Alejandro. I see you pay attention to the details ^_^

    So in the case of a Icecube falling into a half filled glass, getting a nice crownsplash but no volume extension afterwards, you would need to track the fillermask particles and make sure the get deleted again smoothly within the core of the fluids, eg by neighbours masking or similiar?

    No problem Tylerafx!

    Fortunately I don't need to track each injected particle to deal with volume conservation on "normal speed" sims, the uniform distribution take care of that, so there is not huge volume increase (I'd show you that in last examples I posted); But with "high speed" sims this can be a bit of a nightmare, so I'm still testing that kind of scenarios. One thing I'm doing now is to give to each fillerMask particles a life, so when this life ends the particle will try to reach the closer freeSurface edge and to then merge its location to a closer non fillerMask particle class and finally it gets deleted from the point cloud; This is working pretty well, but unfortunately the user needs to still find a good life to play with, so I'm still trying to find a way to automate this. 

  5. On 4/21/2020 at 8:19 AM, WhyGee said:

    Thanks for the reply!

    Not sure I understand. Isn't the free surface mask, all the particles on the liquid/air interface?

    Are you modifying field vel or particle v to achieve these results?

    Yes, the freeSurface are all the particles that are in the liquid/air interface. 

    I modified both, it mainly depends on what you want. Sometimes you want to affect everything at the volume stage of the solver to have more average results and less noise.

  6. 11 minutes ago, WhyGee said:

    Can you shed some light on how you generate the free surface mask? Are you using SVD? 
    regarding the tendrils, what kind of controls do you have? Is it mostly to control the number of tendrils or can you somehow also control manually where they will happen?


    Thanks WhyGee,

    Regards freeSurface mask you have many options, you can use the curvature, density or even an edge detection technique to separate the borders.

    Regards sculpting controls, because is Houdini, is all about to use velocity fields for that, I think is the best way, forcing this kind of things internally will compromise the behavior, and its very important to not constraint that to reach more realism on the simulation.


  7. 6 hours ago, tylerafx said:

    Awesome decision to hold a masterclass on this! Certainly looks incredible. How are the additional particles tracked, eg will there be a volume/mass conserving feature possible?

    Thanks Tylerafx!

    Regards additional particles. I always tried to not depend on hole fillers to preserve the sheeting behavior mainly because its a nightmare for everything, volume gain, mesh flickering, etc. But at the end I also implemented a way to inject particles that doesn't affect the behavior nor the meshing, it was a bit of a nightmare to tackle all this problems but at the end works pretty well. The only one that I'm still working on is the volume gain, but at very high speed sims, its a nightmare!! 


    In this preview extracted from my last work, you can see that the point count is constant, so no dynamic particle injection or how I call it fillerMask :) But you can see how the sheets are preserved without any dynamic particle creation to sort of protect the shapes, or to have a good looking result. Also there is already some volume/mass preservation, the uniform distribution that is driven by a freeSurface mask maintain the particles from collapsing or to be extremely apart, so all the particles are flowing in a very smooth harmony, and this is key for a good meshing without using an extreme particle count.


    This is the same version as above but here I'm now using my fillerMask technique. But you can see that even with this on, the sheets looks almost the same as the above preview, so in conclusion this should be used only when you have a very fast simulation and you don't want to use so many substeps to converge to a nice solution, or if some client needs a pretty big and soap like sheet.


    Talking about extreme cases for a filleMask use, is this example. Here in this preview you can see how the particles are created when the distribution begins to fail because of the very fast expansion, of course this is retimed, but you can see that even with fillerMask on, the sheets are still collapsing naturally so the volume gain its greatly reduced (I'm still working on to have way less volume gain). Another very important aspect when you use the fillerMask or in other cases Reseeding and you need to retime your points, both techniques can lead to weird pulses and jittering on your points and you will end up with a weird looking mesh. The solution I gave to this was to save out my simulation data directly inside the solver at the last substep stage, this ensure that I can have that substep data to have a more precise retime of my points. For this I implemented a point retimer with substep support (the default one only uses integer frames for the interpolation).


    I hope this make things more clear. (sorry about the video compression, its hard when you have tiny points)

    Thank you!





    • Like 2

  8. On 4/18/2020 at 11:33 AM, mathieu said:

    I have a question for you @Pazuzu. I think I understand your use of laplacian or curvature (of density field I guess ?) as scalar masks but I wonder what kind of vector field you use to inject or modulate velocity field into smoke simulation. Did you use the gradient of density field as in your flip ST examples ? 

    Best regards.

    Hi Mathieu! 

    Yes exactly, I used the gradient of the density field modulated by the laplacian  to then modified the velocity of the system. One thing that I did, and I think is very important to have more precise results, is to compute both the laplacian and the gradient using a SDF version of the density field. This will give way more power to sculpt your sim as well, for example you can even displace that SDF before the laplacian and gradient computation to inject details to your sim without using noises that can mess you vel field or introduce overshooting. Also this is way more lightweight than to compute 1000's of masks to drive your sim and to end up with a very nice looking sim but so bad simulation times.

    I hope this is clear!



    • Like 1

  9. 16 minutes ago, Masoud said:


    To create a very high-resolution footprint, I would like to transfer the color attribute from one geometry (from a box, or some sliding particles ) to another geometry ( a grid ),  based on a UV texture map (UV on second object).

    This is something like creating a wet-map, and I don't want to scatter points on a surface to ... (I mean that I  know that workflow).

    Actually I want to extract a very high-quality texture as output.


    Any idea?



    Thanks for helping.




    Here is a good way to deal with that. https://lesterbanks.com/2019/01/create-uv-based-wetmap-houdini/

  10. 32 minutes ago, scaduxx said:

    Is it possible to have a mutual collision between Pop Solver, with POP Fluid, and an RBD Object ?

    Something like the Feedback Scale we have in Flip Solver.

    It's a basic Setup, I have a box, blasted the top edge, and an RBD Sphere in there, and I emmit Pop Fluid and I'm trying to achieve mutual collisions, so to make the sphere float on the liquid surface

    Unfortunately is not possible using the default engine options to define collisions (mutual collision relationship). If you want to have a feedback like effect on your RBDs you need to create all by yourself, one way can be to use impacts from the collisions between the RBDs and particles to create a field force that can define some forces to influence the RBD behavior, this can be a bit of a nightmare because you need enough general iteration on the dynamics engine for the bullet solver to converge to a stable solution. I think the best way is to use Vellum grains + pop fluid and a simple Vellum object that can represent your "solid object", this way you will have mutual interaction between both objects. its very important that you disable the constraints on the vellum grains for the pop fluid to work better on the position integration.

    I hope this helps you!



  11. 12 minutes ago, Andrea said:


    How many particles there are in total? Each drop looks like has around a hundreds if not a thousand of particles inside

    Thanks Andrea!

    Attached are two screens where you can see the general particle count. I tend to not abuse the particle count to have good meshing results (so I don't use re-seeding), that's mainly because if you need to re-time you can have weird pulsing artifacts, so the only way to overcome this is to over-smooth, and that can be very expensive sometimes and will kill nice details, also boundary conditions can have flickering as well with overcrowded particle clusters closer to colliders. Instead of this I use a method to redistribute the particles to have a more uniform distribution between them, this way you can have very nice and smooth edges without so many particles and have a more clean and smooth mesh without sacrificing details. 



    • Like 3

  12. Hi,

    Here is a personal project that uses a new iteration of my small scale pipeline. I still need to improve some things regards the micro-ripples but I think they are working well for this one.

    I hope you like it!



    • Like 8

  13. 6 minutes ago, tylerafx said:

    Now we are talking! Impressive.. definitely need the ripples to travel a tad more, yet you can see they dont affect the dynamics as much. How about air influence and bubbles/airentrapments? is that in the cards?


    Yes, the ripples on this mesh test are just a post process, so there is no direct relation with the sim; That's why it still needs improvements. Regards air influence I have some options already, that's why the sheets breaks also, is like when you have a cloth and because of the drag mechanic's you can affect how it will fly relative to his shape against the wind, same should happen with a fluid sheet but the influence is a bit different, but this will lead to a more natural look regards sheet breaking. Finally bubbles and trapped air, this one is more artistic driven, I did some tests some years ago with a very viscous fluid ( https://vimeo.com/69638111 ), but was just using fake rules to populate them; But that is also in my to do list, like I said the wind or environment is so important for this kind of details, for bubbles is a combination of pressure, vorticity and wind/environment interaction, or maybe I'm wrong, its all about to experiment than to find a "Physical correct" way of doing things. :)




  14. @tylerafx Here is the update I was talking about. The mesh still needs to improve, but this is just to show the tool's update/fixes that I did on my pipeline to get rid of the volume issues and overshooting mainly to have a more natural sheet breaking and wobbling.

    I hope you like it!




    • Like 3
    • Sad 1

  15. 1 hour ago, tylerafx said:

    Alejandro, is there any update to your Asset yet? Latest tests looked stunning for sure, but some areas could be improved still, right?



    Yes I have some updates going on. Unfortunately I can't post them. But which areas do you think it needs to improve? It will be nice to discuss about it.

    One thing that I was working on was the velocity overshooting issue, So the contractions of sheets was not behaving right in terms of rate and volume preservation, this issue is visible in the latetest test I posted in this forum topic. I fixed that already in my last iteration, I'll try to post some results soon.

    Thank you!


  16. 4 hours ago, gramx said:


    Loving the speed of the new sparse solver in Houdini 18. I have a job where I have a medium res simulation and I need to upres it for final render without the motion changing to much. I would usually use the Up-Res shelf tool to set this up, but have found it doesn't accept the sparse solver as a source. Is it possible to manually set these up, has anyone tried it?



    Hey Graham!

    I think is all about to update the up-rez pipeline to make it sparse. I think is not that hard to do it!



  17. Regards speed, I think it mainly depends on the method, but the vdb one is the best in terms of control, because you can continue to filter and reshape the field using the vdb arsenal. Sometimes the gas reinitializesdf microsolver is faster, but it can also become a weird bottle neck with huge boundaries, for example if you want to compute a gradient out of an sdf and you need the gradient to cover the whole volume container or to have a better extrapolation, in this case vdb can be a pain because of his sparse nature, of course you can expand or extrapolate your sdf using the amazing vdbactivatesdf, but that can be even slower than to use the microsolver directly.

    • Like 1

  18. I think is also because of the details. I assume this is a small scale thing, right? If so, you should use surface tension, right now it looks like a large scale one with lack of splashing detail, if you want more detail at large scale try to use the "swirly kernel" on the solver, this will preserve even more the momentum of the sim but will smooth a bit the violence and chaos behavior in comparison with the "splashing kernel", but will give you much better splashing details.

    Then on the skinning stage, you can try an old school method: with a VDB pipeline use: Dilate - Smooth - Erode. 




    • Thanks 1

  19. 14 minutes ago, scorpes said:

    Really nice Pazuzu! How do you create the individual droplets coming from the crown, is that a separate particle emission?



    Thanks for the comment!

    Its part of the same simulation. That WIP shows a new option functionality of my small scale pipeline to control how much do you want the droplets to detach from the main fluid body. Its a very important artistic control in a simulation.