An Idiot’s Guide to ACES

I’ve been putting off working in ACES for years now, because almost every explanation of the system I’ve tried to read online has been either extraordinarily technical and long-winded, or read like a sales pitch with no useful information about implementation. It takes a certain amount of training and understanding Read more…


Dealing with houdini.env

I continually run into confusion from Houdini users about how the Houdini.env is supposed to work, what the syntax is supposed to be, or even what it does in the first place. It’s easy if you’ve been trapped in pipeline land (like me) to think that environment configuration is even Read more…


MOPs @ EUE 2019

SideFX Software was generous enough to ship me out to the Netherlands last week to meet my partner-in-MOPs, the inimitable Moritz Schwind, and present together a little slide show about motion graphics, Houdini, and prison hooch at End User Event 2019! The technical stuff about MOPs starts about halfway through Read more…


Maya: where everything is a string.

Here’s a rare Maya post in 2019! I hate Maya, but sometimes it’s hard to avoid. One of the most irritating things about writing scripts for Maya is that the Python commands are totally un-Pythonic… meaning, there’s no sense of “objects” that have intrinsic properties and functions (or in Python Read more…


Raytracing AOVs in Mantra

I meant to write a post about this a long while ago, but couldn’t be arsed to do it, apparently. Sorry! Something that artists take for granted in render engines like VRay and Arnold is the ability to reflect and refract AOVs / render elements / render passes, depending on Read more…


VEXpressions in your HDAs, using Python!

Update: Imre Tuske from Weta pointed out that there’s a simpler method… it turns out that you can force expressions to evaluate inside a Wrangle by wrapping them up in backticks. So if you have a channel called “do_vexpressions” to enable or disable VEXpressions, and another channel called “vexpression” that Read more…


The rainy forest cinemagraph, Part 2

Continued from the previous post.

Part 2 here is all about the hero plant, which was by far the most time-consuming part of this whole process. The animation ended up being done primarily using FEM, which in retrospect was probably overkill. If I were to try this again, I’d probably try to build a more procedural system involving IK chains with maybe a layer of simple soft body dynamics on top to add springiness. Going the FEM route meant that each iteration took about 30 minutes to simulate, which adds up pretty fast. There are some neat little shortcuts elsewhere in the process, though, that hopefully some readers will find useful.

The hero plant

I am a masochist so I again started with L-systems to create the basic plant structure. L-systems are one of those things that start very simple and quickly build in complexity until they’re totally unreadable, so you generally want to keep notes of what the rules are actually doing as you build them. Of course, the notes from the original .HIP file that I posted are outdated, as they apply to an older version of the plant, so if you’ve already checked out the .HIP you may want to read these more accurate notes.

Here’s what the rules look like: