Both UE and Cascadeur are using forms of ephemeral rigging! In both cases we have methods of manipulating the character that are instantaneous (ie. they modify the characters pose but don’t create relationships that persist in the scene). In the case of Unreal, those are Proxy controls, while Cascaduer seems to generally operates on the principle that posing and interpolation are separate concerns. But neither of them are really the same thing as the ephemeral system that Tagore and I are building.
This has caused me to think a lot about how to identify the differences between the systems. When other systems mostly weren’t ephemeral*, it was easy to put all the concepts we’re playing with under the heading of “ephemeral rigging.” But clearly, the term “ephemeral” isn’t quite enough to describe what our ephemeral system is trying to achieve anymore, since these two systems satisfy some of the ways I’ve previously defined the term while accomplishing something very different. This also comes as we’re abandoning the term “interpolationless.” The problem with “interpolationless” is that it’s not really true–sure, we’re not doing continually recalculated interpolation using curves like most animation systems, but interpolation still occurs when you drag the breakdown slider or generate inbetweens.
So here’s what I’ve come up with: In addition to being ephemeral, our system is also contextual, stateless, and multi-pose.
It’s contextual because all rig behavior depends on context–context in this case meaning modes, options, and current selection. Unreal’s proxy controls would be an example of something that’s ephemeral but not contextual–you author the ephemeral aspects of the rig to behave in a specific, predefined manner. In our system, you don’t define any specific behavior in response to a particular interaction–instead, you define a web of possible relationships between the controls in your rig, and what actually happens depends on context.
One really important point about this is that it lets you define a lot of quite complex rig behavior very simply–there are so many possible permutations to your web of possible relationships that a single contextual rig basically “unfolds” to hundreds, or possibly thousands in extreme cases, of conventional rigs.
Our system is also stateless because there is no rig state that changes over time. Cascadeur would be an example of a system that allows for ephemeral interaction, but is not stateless–you can manipulate your character ephemerally (with the assistance of machine learning, in this case) but you are still choosing specific states of the character that affect its behavior over time (ie. setting an IK key).
One of the things that people find most difficult to get their heads around when I demo ephemeral rigging and animation is that statelessness implies that nothing is ever “set” in the rig. When setting glue groups, for instance, you do not say “these controls are glued together at this particular time”. You just glue them together, and when you’re doing something that requires them to not be glued, you turn it off. This is vastly more flexible then a system that changes state over time, as it does not lock you into any particular assumptions about what should be attached to what at what time.
And finally, being multi-pose means that interaction can occur across time. Like this: