Log into your account to keep track of your progress. You can work through the lessons without logging in but your progress will be lost when you refresh the page.

Learn how to build an Ivy tool from scratch that uses an input shape to grow ivy. The tool will generate branches and then place leaves on these branches. The tool incorporates simulation to handle falling branches of ivy. Learn how to package up the tool as a digital asset in Houdini then use it in Unreal Engine using the artist-friendly interface.

Project Titan is an in-house tech demo designed to production test Houdini's procedural workflows while creating a 3D environment that leverages the latest technologies in Unreal. Click Here to learn more.



Simon is a tech Artist that loves building procedural tools and assets. By adding more and more procedural approaches to his workflow, he is able to build 3D models with speed and flexibility. During his studies at Digital Arts and Entertainment, he taught himself how to work with Houdini. After his studies, he started working on Ary and the Secret of Seasons at eXiin. Currently he is a Houdini freelancer and focuses on creating procedural content.

More from Simon Verstraete


  • kyanhudson 1 year, 5 months ago  | 

    Yes!!! Thank you!

  • idris173 1 year, 4 months ago  | 

    Hi simom, can you show me what geometry input to the stash node? Thank you very much.

    • clem.lysergy 1 year, 4 months ago  | 

      This is what I did:
      - Find an ivy atlas on Megascans, ensure Opacity is included in Export Settings, Open MS Plugin in Houdini and click Use Atlas Splitter, import ivy from MS
      - Go into the created ivy subnetwork, and into Atlas_Splitter geo, select some leaves and merge them
      - Create a Stash node below the merge, click Stash Input
      - The Stash node can now be disconnected and copied into the Ivy Tool network

      Also need to create an opacity enabled material in UE using the textures and assign that to the leaves, as long as the UVs don't get overwritten anywhere it should match up nicely.

  • CatintheHat1169 1 year, 4 months ago  | 

    The issue I am having is that bar improvising to circumvent issues with your step process, I cannot replicate your results. Reverse engineering hasn't solved this either with running an alternate Apprentice to compare side by side to an Indie version. Is there some reason nodes are working defunct contrary to the parameters I am seeing?

  • drlesser12 1 year, 1 month ago  | 

    I had to add a Match Size node after the "Draw Curve" node, "Line" Node, and "Grid" (leaves) Node to get everything to work right in Houdini 19.5.

  • brendancasimir 6 months, 2 weeks ago  | 

    When i select object to host ivy to, nothing happens.. this happen to anyone else?

  • ivaniliev245 5 months, 2 weeks ago  | 

    If you want to flip leaves you can use @N= -@N; declaration in attribute wrangle (placed after attribute transfer node (N )in network). Because as as far as I my experience goes in some meshes the leaves are calculated backwards. Ivy gen is not working well with some meshes that are not with closed volume (Aka it is working well with cube but it will not work well if faces of cube are missing.). You can use poly extrude to make them as closed volumetric geometry.

  • Popo 3 months ago  | 

    When I go to find shortest path with "from any start to each end" selected I only get a very small set of connections, just one point to one point unlike the instructor's full branch. What might I have missed? At the 13:00 mark or so.

  • Popo 3 months ago  | 

    Figured it out! missed the invert range part of beginpts (group range)

  • Popo 3 months ago  | 

    Little bit confused about what I should be plugging into the stash node too.

Please log in to leave a comment.