Technical Artist Youmna Sahab told us how and why the Foliage Tool was created, revealed the workflow behind the project, and shared some tips and tricks for aspiring Houdini Artists.
My name is Youmna Sahab, I'm a Game Art student at Rubika Game in France, working on my master's degree and specializing in Houdini. I was introduced to Houdini at Rubika, but I knew that mastering the software meant saving a lot of time on big productions, so I went on and did my own projects. I learned it by trial and error, reading the documentation, and finding tutorials. There are a lot of resources out there, there's even a community Discord server where you can find and give help.
The Foliage Tool
I got the idea of this tool while watching my friend going back and forth on a high poly leaf just to bake it as a texture. He’d place his leaves one by one, then size and rotate every one of them manually, and sometimes, if the silhouette wasn’t to his desire, he’d have to change their position and rotation all over again.
I wanted to help him out while testing my capabilities too. So, the challenge was to quickly make a tool he could easily use.
Planning the Tool
When building a tool, you should know what it’s supposed to do and how the person using it, your client, works. I had the chance to see my friend at work but I also asked other Foliage Artists how they would create a plant. From what I understood, they usually go from a simple leaf to a more complex one and add variations in between.
Asking those questions helped me learn that I would have to use inputs for the leaves and that my tool should be reusable, like the Houdini Labs' Tree/Branch tool, for example.
Before starting a tool, you should know what your client wants to have control over. It’s important because tools can change completely depending on the accessibility and parameters.
So, I dressed a list of all the parameters the artists could want and some that I thought would make the tool more flexible. It was important to give control over the scaling and orientation, especially the randomization of it. I’m currently testing it and fixing it depending on the feedback that I get. I want the tool to be comfortable to use. I’m giving it to someone, so they need to feel at ease with it. Here are all of the parameters:
Then, I researched more references to see how I can build the tool. I looked up and tested some pre-existing tools and learned the theory of how a plant grows.
The longest part was to prepare the points and their attributes, the information they hold for the leaf meshes to be copied on, and take those attributes. I started with the stem, storing the scale variation of every leaf compared to its position on the stem: it's powered by the Curve/Ramp parameter.
Then, I wanted to have many leaves on the same stem, so I created a circle that would control that amount with the number of sides it had. I needed a way to have a natural orientation of the leaves when they’ll be "copied to points" on that circle, I controlled it with the Normal of each point.
My favorite thing in Houdini is to trick the computer: You don't need a master’s in programming for things to work well. I used an “Attribute Copy” to copy the normal of a cone-like object to my circle's points. Here's a small demonstration, I’ll use small cones to simulate the leaves so that the orientation is clear:
Those circles were then copied to the stem line generated before. Then I added a bit of randomization with Attribute Randomize, in the scale and orientation of each point and exposed the parameters. The scale and orientation are given to whatever object is copied upon the points.
To add more variety, I grouped my points to be able to use two different input meshes on the same stem and control them independently. To bend the leaves, I chose to do it on the leaf mesh before copying it and adding some randomness to the angle.
I recently added a feature to bend the leaves from an input curve using the Path Deform node and I want to work the tool a bit more with the feedback from the artists using it.
Tips and Tricks
Houdini is renowned for being difficult to master but that doesn’t mean you have to be specialized in every aspect of the software, just choose what interests you and start with that.
Be curious and patient, it’s probably cliché to say but you can’t see progress in a week. Personally, I feel that this is true in any profession, we shouldn’t expect ourselves nor others to be professionals from the get-go. And anyway, if you’re stuck, the documentation is there for you and it’s pleasant to read. Plus, don’t hesitate to ask the community for help. If you’re open to learning, people will be open to teaching.
Start small, a beginner mistake I made was working on a huge project for a long time. Working on small projects helps you learn how to work efficiently, how to concentrate your efforts on what’s important, and will make you face a variety of small problems you will learn to fix. If you do want to work on a big project though, know that you’ll probably finish it and want to start it over again because you’d have learned a lot along the way.
Comment and legend your tool, with colors/post its/groups/renaming, so when you come back on your tool a month from now you can still remember what you did, but also for other people to understand your train of thought if you ever share the file.