Analytical Foam

16,864
0
Published 2019-12-26
As position based simulation techniques are very fast theses days, it is possible to use them to conform intersecting spheres to each other, to model foam. Nevertheless there are other possibilities, too. In this tutorial, Manuel shows you how to come up with an analytical operator that removes the intersections from a dense sphere packing by deforming the intersecting points. This is even faster than PBD and can be used without any simulation at all. The video deals with implementing the setup. The particle effect from the demo is included in the hip file though.

01:16 Basic setup
02:24 Set pscale
04:00 Dial in the values
06:20 Implement "gather data"
16:00 The "intersection distance" formula
20:29 Implement the localization matrices
25:30 Create the deformation
33:15 Check the result
35:00 Save memory


Paul Bourke's site on the intersection of circles: paulbourke.net/geometry/circlesphere/

Download the hip file here: www.entagma.com/downloads/AnalyticFoam_AnimationSe…

All Comments (18)
  • @barchuk422
    Manuel literally made me go study linear algebra. I'm so mad.
  • @kokoze
    I don't even use Houdini but I love these videos! I was once thinking about how someone would go about doing foam in 3D and Voronoi came to mind but I knew that it wouldn't give the right results because of what was pointed out at the end of this video (the empty parts stay empty and round). I was also thinking about just doing a join boolean but that would remove the intersection walls which would also look wrong. So thanks to you I now understand how bubbles can be reproduced :D
  • @Alex-tn4kt
    Thank you for this awesome tutorial, I did not understand everyting in detail when we are talking about reseting a point direction....blabla But WOW this work amazingly ! Nice to see some raw code and math operation in 3D
  • Thank you for the hip File. When I change the source geo from grid to sphere for example, nothing works anymore. I can´t figure out why.
  • Fantastic tutorial as always!... Just one question: why you calculate the "yaxis" and "xaxis", when these are the same as {0, 1, 0} and the temp vector? Or am I completely wrong ?
  • Thank you so much for the wonderful content dear Entagma. I am trying to export as a alembic with a frame range but unfortunately get the error 18768: Fatal error, Segmentation Fault and Houdini crashes. Do you have any idea why this happens?
  • the link to the hip file wont open for me, but thanks for the tutorial anyways. Ive attempted to animated the spheres on my own but the system ends up breaking if I use a popnet. I'm not experienced enough to figure out why..
  • @haifucui134
    hello,where is your matrix tutorial? couldn't find that
  • @flamixin
    So you just re-created voronoi from the bubble method.🤔 How about just use the voronoi node?
  • @andrasliptak
    I'd gladly click twice on like if it'd be possible.
  • @uzaykisi1863
    I want to transfer your brain to mine, otherwise it looks impossible to learn Houdini