Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Pazuzu last won the day on September 2 2021

Pazuzu had the most liked content!

About Pazuzu

  • Birthday 02/25/1981

Contact Methods

  • Skype

Personal Information

  • Name
    Alejandro Echeverry
  • Location
    Bogota - Colombia

Recent Profile Visitors

14,292 profile views

Pazuzu's Achievements


Newbie (1/14)

  • Week One Done Rare
  • One Month Later Rare
  • One Year In Rare

Recent Badges



  1. Hi, In my opinion, the best way to deal with this kind of scenarios is to retime (slow down in this case) the colliders, or even all the animated elements in the scene, simulate at a rate that matches your scene at the new retime rate and finally speed up everything at the same rate that matches the initial pre-retime rate; This way you dont need to use so much substeps to compensate. Also you can slow down the time scale on the solver to not use many substeps or even to compensate the slowing down of your scene. Regarding time scale on the solver, this is very important when you use the surface tension feature of the FLIP solver, this feature has high subtep hungry, so instead of using many substeps to converge correctly, try to reduce the solver's time scale instead. Ofcourse all of this mainly depends on the scene, the fx, etc, that you are trying to solve. I hope this heps you! Cheers! Alejandro
  2. The first thing that comes to my mind regards advantages is that re-timing at post sim doesn't need many frames as a sim will do if for example you need to slow down things at a very low rate. Also post re-time let you change easily the rate without re-siming; there are more advantages, but I think this is the key one.
  3. Hey Sekow! Sorry for the delay and Happy New Year! Regards distribution, for example you can use the embedded particle separate option that came with the flip solver, that will give you much better particle distribution than to use high particle count with reseeding on. One of the problems with this general separation is that the fluid tends to inflate without room for clumping, so you need a force that counteract this and to find a better equilibrium between them. Divergence can help here as well.
  4. Nice to hear that is solved! Regards extrapolation, you can increase the padding settings on the solver (resizing tab - padding) to have more container room with extreme velocities. Cheers! Alejandro
  5. I sometimes experiment this kind of freeze but mainly when I use pull method on my sources. One thing that works for me is to increase the velocity extrapolation on the solver settings. I hope this helps you as well! Alejandro
  6. Hi Kuvaka, Really nice results you have! Regards the buoyancy direction, you can use an explicit one as the basis, typically as inverted gravity direction. The main idea of the implicit buoyancy model that I worked on was to derive a buoyancy direction using the pressure differences but also to not be 100% implicit because its always nice to have control over something. So the idea is that you can initialize this buoyancy direction to then be mixed with the implicit one that the system will produce. For the implicit direction is all about to use the inverse of pressure differences as a factor for the initialized buoyancy direction, this will give you a direction that will go aligned with gravity (if you use gravity as the the buoyancy direction) for the positive pressure (inverted), and a direction that goes in reverse in relation with gravity for the negative pressure. Because both vectors will converge, you can use this convergence at your advantage to generate a general swirl that will be aligned with the buoyancy vector that you took to initialize the system. You have many options to compute a flow out of two convergent vectors in Houdini. Then you use the temperature as a factor to drive the magnitude of this new implicit flow or swirl to now apply it to the system velocity and to control the general swirl movement of the simulation. I hope all of this is clear! Alejandro
  7. 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! Alejandro
  8. 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.
  9. 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.
  10. No problem! Yes you can, thats why I did the example file with both options, the entire frame range as a job and each frame as a job as well.
  11. Here is your example file with some modifications and two ways of doing it! I hope this helps you! Cheers! Alejandro aeb_Odforce_Tops_001.hiplc
  12. 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.
  13. 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.
  14. 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. cheers!
  15. 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!! whithout_fillerMask_side.mp4 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. fillerMask_side.mp4 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. fillerMask_metrallia.mp4 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! Alejandro
  • Create New...