At FMX 2017 Entagma had the pleasure to talk as part of “Houdini Day”. Among other things we explained how to create a propagation growth solver. Here we’ll show how to build this setup. We introduce the concept behind propagation growth and implement the solver in VEX. It is point based although one might want to implement it directly in volumes. The point approach is simpler to tackle, though.

This growth solver serves as a basic building block for many growth effects. Usually it is used on surfaces but here we’re growing a volumetric model. The setup is easily extended and enhanced with more weight factors and can be tailored to many needs.

Here you can download the scene file including the crystal sculpt:



Here is the original file from the presentation, including more intricate weighting:



COMMENTS

  • kocsisalex 6 years, 10 months ago  | 

    Hello,

    It's a really good tutorial
    Thanks for it.

    I like to make a crystal growth with is more like this https://vimeo.com/137625468 (the crystal at 2:35)

    But I'm not sure how to start it.
    Can you please help me a bit how to jump into?

  • Pixelkram 6 years, 10 months ago  | 

    I think we might have something for you in one of our upcoming tutorials :)

    Cheers,
    Mo

  • maximgehricke 4 years, 7 months ago  | 

    Nice video! Tho I´m wondering whether this effect would be quicker to archive with a boolean operation.
    Surely the advantage of this method is more flexibility, so for example you could add a random immunity attribute to every particle which multiplies with the weight( -> more organic growth) , right?
    Thanks for the nice tutorial! :)

  • Kimber 3 years, 10 months ago  | 

    Hello Entagma,
    Thank you for taking the time to walkthrough the inner workings of your growth solver model. I have a brief question regarding the infection value represented at 1:43 in the video. You mentioned a 0.5 infection value, however, I count three points within the infection radius.

    Sum Values -> 1+0+0 = 1
    Num Points -> 3
    Average -> 1/3 = 0.33

    Surely this would mean a value of 0.33 would be applied to each of the points (not taking into account the weighted distance)?

    Thanks for the support,
    Kimber

Please log in to leave a comment.