Page 46 - 3D World - October 2017
P. 46
TuTorials
Grow procedural plants in Houdini
get oRgAniseD cReAte the leAves
01Start with a model of a ruin you want to cover in 02 With the ruin in place, it’s time to begin creating individual leaves to use
foliage. Make sure you name your shapes in a meaningful later for instancing. Always work with reference images from nature if you want
way. This allows easy grouping of the geometry for more realistic results. We need the leaves to be single-sided and of fairly low
different purposes later. Split it up into walls, planks, poly count. Start off by making a curve to resemble the outer leaf shape. Use a
bricks, windows and glass. Houdini alembic import will remesh node to add some surface tessellation. With a soft transform, slightly
set a path attribute on import. You can then easily use a lift out the centre at the stem. Also add a colour attribute with different shades
split or blast node to select the pieces you want. of green.
gRAss stRAnDs
03We also need individual
strands of grass to cover the
floor. Again, simple one-
sided polygonal strands with
varying width are sufficient.
Generally speaking, more
variation is always better. But
even with just five different
shapes, you will achieve quite
realistic results. As our setup
is procedural, more can easily
be added later. It’s important
to make sure all meshes are
centred at the origin with the
pivot at their foot. This way
we can use them as instances
straight away.
Keep it random
In nature, everything
is always noisy and
irregular. Wherever
you can, add as many
random influences as
possible to your setup.
You will achieve more
believable results.
nAtuRAl DistRibution AttRibuteRAnsfeR
04 There are many ways to decide where grass will 05Add a white point colour to the walls and a grey to
grow. Find a rule that resembles a natural distribution. the ground. Use AttributeTransfer to map the wall colour
We will make grass grow everywhere on ground that is onto the ground. Tweak the blend radius on the node to
not covered by the building or rubble. Growth needs to fit around the base of the walls. Turn the walls into a VDB
be denser and longer along walls and rocks. Isolate the with VDBfromPolygons. In an AttributeWrangle, get the
ground from our geometry and use a remesh node to VDB value at each point with the volumesample function.
gain a fairly high level of subdivisions. Remove points with a negative value.
3D WorlD October 2017 46 www.youtube.com/3dworld