Guest Tutorial: Yader – Poly Garden

comments 20
Free Tutorials

We’re happy to present to you another special guest on Entagma – this time it’s Yader (who some of you might know through his great Cinema 4D tutorials). In his tutorial he’s gonna shed some light on how he built his Poly Garden setup that allows you to grow abstract polygonal shapes.

Download Project File (.hiplc)

In order to understand whats going on here’s a quick breakdown of the algorithm. What Yader does in each simulation step is this:

– First we take a triangle mesh and resample each triangle into a closed polygon with 6 points. This yields the skewed hexagonal shapes we’ll be working on.

– Next we use the relax SOP to push the hexagon’s points apart. The trick is to slightly increase the point separation (aka “how far to push the points apart”) each frame, so our points keep moving.

– After our hexagons have been pushed around without intersecting each other the final step is to create additional polygons to slowly fill the area with an incerasing number of polygons. To do this we randomly select some existing polygons (aka some og the hexagons) and subdivide them into triangles. Those triangles will be converted into hexagons and their points relaxed in the next solver step.

– And that is it. See this diagram:


Liked it? Take a second to support Moritz on Patreon!
Become a patron at Patreon!


  1. Mohan Pugaz

    Awsum trick thanks for sharing that!!!.. by the way that was a solver sop and not a sop solver .. both are different. Sop solver is used inside dop network .

    • while not wrong, a Solver SOP ist nothing but a DOP network with a SOP solver inside.

  2. YasaminKhalilbeigi

    I have a pretty disappointing question. I just can select points and sort node only functions on point not primitives. Although from the tab in the left, I have chosen primitives but its not working. Can you tell me which part am I missing?

    • Honestly I have no clue. Which version are you using? I just checked with 16.0.504.20 and it seems to work fine…

  3. Thank you for tutorial, but group node in h16 is slightly different. How can i use pattern selection in new node?

    • Hi,
      indeed groups have changed a bit in H16. What you might wanna use is the grouprange-SOP. Select Start/End as Method and chose 0 as start and 5 as end.


  4. I tried recreating this in 16 and it seems like the solver works so fast that it immediately starts to lag and hang up after about frame 7 ~ 9 or so. But I tried opening up the project file from this tutorial and it solves correctly and the right pace. So then I tried opening up the version 16 project in Houdini 15.5 and it solves correctly too, any idea what’s going on? I’m glad it works in 15.5 and I’m not loosing my mind but I can’t figure out what in 16 is making it try to solve so fast and freeze itself.
    LOVE LOVE LOVE this and all the other tutorials by the way!

    • Lawrence

      I have the exact same issue… Gets to frame 6/7 and just takes forever to calculate and the result isn’t quite the same as Yader. Get WAY too many polys which is slowing down the system dramatically!

    • Lawrence

      I worked out what the issue is!
      In your subdivide node, instead of selecting group1, select group1’s primitive selection.

      That seems to fix the issue my side!

    • A bit late to the party but the issue you’re experiencing is probably due to the new Group node. I had this issue at first but figured it was because you have, in H16, to use a Group By Range node with the method selected as Start/end. It defaults with “relative to Start/end” which will make everything extremely laggy and long to compute.

      Also, you’ll have to reset the simulation by going up one level and hitting reset simulation (doh!) on the Solver. The Sop Solver node always had an history with proper resetting… Alternatively you could set the Start Frame on the Sop Solver to 2 to force it to reset correctly when you go back to frame 1. Weird and a little bit annoying but still very much manageable =)

  5. Hey guys, amazing tuts by the way.
    I am having a problem with intersections in H16. I am not sure why but I think that maybe could be related with the relax sop node…
    But I don’t know…

  6. kunal tiwari

    nice thanks share your trick
    John Moncrief

    I watch your tutorial nice and cool more helpfull

  7. Jean-Michel

    Great tutorial! How would we go about adding an obstacle to the spreading polys? Thanks!

Leave a Reply