Guilherme Casagrandi

guilhermecasagrandi

About Me

EXPERTISE
Technical Director
INDUSTRY
Advertising / Motion Graphics  | Education  | Film/TV

Connect

LOCATION
São Paulo, Brazil
WEBSITE

Houdini Skills

Availability

Not Specified

My Talks

obj-image HUG
Rigging a Tree
obj-image HUG
CHOPS for Music and Constraints

Recent Forum Posts

Tutorials Nov. 13, 2025, 3:43 p.m.

After a few months off, I'm back into Apex rigging. Unfortunately, we had a project at the studio that we had to shift to Maya for rigging because I wouldn't be able to rig both characters and still deliver everything on time. However, it was the last project animated on Maya (we already have a project rigged and animated in Apex Beta 1!).

I was planning to conduct some low-level tutorials for Apex and Apex Script, but I'll need this month to get everything back up and running and update some HDAs to improve the rigging process. Although I'm more of a TD than a rigger, I have many friends who are experienced riggers and are helping me match their rigs in Maya.

So, in a nutshell, what you can expect:

- boring and long videos, haha.
- in-depth stuff. I want to discuss geo prep further, as some helper HDAS can significantly speed up that step.
- raw Apex and apex script, starting from the bottom and building up.
- production-ready stuff (this will take some time to do)

Max Rose and Cameron Skinner (Arcanacom Studio) already did a great job. Still, while following their tutorials, I had a hard time figuring out some things, so my videos will be a part of my process of digging deeper into the technical aspects of Apex to gain complete control over it and be able to use the rigs in production without worrying about logic issues.

I'm not a YouTuber, and I don't sell courses of any kind, so things here are slow because I have to do that in my spare time, but follow me on my channel (under my name, Guilherme Casagrandi) for updates on this matter.

I'm becoming more active in the rigging channel of the Discord (from Think Procedural), so I'll try to help there whenever I can.

Does the Python Virtual Environment TOPS Node Actually Work? Sept. 15, 2025, 2:06 p.m.

tpetrick
Yes, the Virtual Environment node works. It's used internally by the ML Regression Train [www.sidefx.com] node that ships with H20.5, as well as the ML terrain [www.sidefx.com] example in the content library that works in both H20 and H20.5.

The virtual environment node creates an environment using Python's venv module -- it does not work with other venv solutions like Conda. It creates the appropriate directory on disk and installs a list of packages to the environment with pip.

It does not, however activate the environment or run any code in the environment. It's still up to you to actually use the venv for something, for example by configuring a Python Ssript TOP to execute in that environment. You can do that by setting the Python Script's Cook Type to Out of Process, and changing the Python Bin parameter to virtual environment. Tasks in the Python Script node will then run using the interpreter in the virtual environment.

The virtual environment cannot be used with in-process Python Script TOP tasks, or other nodes like the Python SOP or Python Snippet COP because all of those nodes run their code inside of Houdini. They can therefore only use the Python interepreter/packages that are emebedded inside of Houdini.

I've attached an example scene file. If you cook the Python Script node and inspect the log for the task in that node, you'll see a print-out showing that the imported module was from the venv's package path.

can the virtual env be used with python processors?

LOP HDA processor output without flatten stage Sept. 14, 2025, 4:30 p.m.

joostkonemann
Sent the same questions to support and got a suggestion for a workaround:

"The HDA Processor currently doesn't have any options for controlling how .usd files are are written out. We can turn this issue into an RFE for that, but the best workaround now would be to create an instance of your HDA in your scene and use a ROP USD Output TOP to write out USD files instead. That TOP node has the same options for writing out .usd files as the equivalent ROP -- for example flattening, output processors, etc."

An RFE (#149757) is logged to add USD save options to the HDA processor.

We have a publisher in place that handles a significant amount of work on top of the incoming USDs. We have a stage inside the TOP HDA, where we cook the output layer as we prefer, typically the same way you do, without flattening. In other words, if you really need your HDA, you can embed it in another one that will do all the work.