A career ago, I was a Senior Houdini Artist and Senior Creative Consultant for Side Effects Software, makers of the the amazing DCC package, Houdini. Houdini allows you to do all kinds of amazing stuff, and a quick Youtube or Vimeo search will reveal the mindblowing works of talented artists who have picked up this oddball workflow and run with it at the speed of light, proving that it’s not just for FX pipeline nerds anymore. There’s also a lot of stuff that may not look great, but don’t let that put you off: people are sharing their learning curves, and that is good for the community, the product, and you.
Until very recently, SideFX has more or less sucked at UX polish and documentation. They are getting better, and after working there for 7 years and using the product for 11 years in production before that, I’m just working off a mild case of PTSD from things being broken and half-assed for so long.
But even in the engineer-friendly and highly technically-biased workflow experience of yore, it always did, and still does this very well: If you take the time to get the setup right, it will bend to your will like a mind-bonded swarm of killer robots.
The ins and outs of setting up the work environment were usually relegated to a small cabal of FX facility experts, myself included, who learned by tribal lore, trial-and-error, and frequent emails to support. As a result, most users downloading it and using it in the wild, without the backup of an IT department and a senior technical director were more or less fucked, and had to spend valuable hours becoming that technical director before they could get anything done.
Since I’m now just coming up for air on this, I have a different workflow and a shitload of new knowledge about game dev work and software development, and Houdini has improved in leaps and bounds since I left SideFX. I wonder if that’s related.
These days, the CGI puppy mills train their students in the basics of setting up Houdini for projects, and there’s a lot of material online, much of it from SideFX, so the “herd knowledge base” is elevated far above what it was even 5 years ago.
One IDE To Bind Them All
Within Houdini, there are a lot of operators that enable or require the use of expressions and code snippets. I’m not going to get into Houdini workflows right now, but just assume that there are a lot of opportunities to inject code into the functionality of both the scenes and the product workflows themselves.
I’ll be blunt: I love Visual Studio Code. I love it. And I love it because no matter what platform I’m using for all my weird experiments, at least so far, VSCode either runs on it or supports remote development on it.
I’ll be even more blunt: Houdini’s built-in expression editor and text editor suck. At one time, they didn’t, because all we had was vi or emacs, but they certainly do now, compared to modern IDE’s and while there was always an option to launch an external editor, it was always a pain in the ass, especially on Windows. But on the surface, it’s pretty straightforward:
First, there’s the houdini.env file that shows up in your home directory when you launch Houdini. You just need to add a line to it to make it open your favorite one:
VISUAL = "/Path/to/my/favorite/text_editor.exe"
The actual path above is bullshit, inside the quotes is where you would put your text editor executable path and arguments, but this lets you use Sublime, Notepad++, vim, emacs, whatever you like to put text to pixels. With a few exceptions, as is always the case with Houdini.
Using this method, VSCode is a no-go. you’ll be able to open your expressions and text fields in it, but it won’t send the changes back, and besides, this method locks up Houdini until you’re done editing.
Enter CGToolbox Houdini Expression Editor.
CGToolbox.com is a site maintained by a really smart guy named Guillaume, who works at a major AAA game studio. I’m not saying which one. His site is full of cool scripts and tools for Houdini workflows in games, and you’re missing out if you don’t use them, or at least check them out.
The External Expression Editor is awesome, because not only does it support any text editor you want, it live-updates whatever Houdini parameter you’re editing, and doesn’t block Houdini while you do it. So if you use Houdini in any technical capacity, you need this tool. Let’s recap:
- One IDE to rule them all: Muscle memory is precious and finite, don’t squander it on a bunch of different things.
- Spend the time setting up your Houdini workflow before you start doing any actual work.
- Use CGToolbox tools!