View Full Version : Improve channel(s) driven motions

02-18-2003, 12:15 PM
Ok, what do I mean channel driven motions? I mean the animation of a specific envelop channel(s) (xyz, hpb, weights, MC, etc) that is driven by another channel(s) via expressions, motion modifiers or channel modifiers.

1. under the motion modifier drop down menu, we got half a dozen or so modifiers like channel follower, Master/slaveZ/slaveY/slaveX, simple constraints and affectors, parenter that roughly does the same thing: following another channel(s).
So what's the deal? All of them have some kinda problem like either is not animatable over time, no priority control when interacting with IK, Or it has interactivity issues that depends on rather you scrub your timeline, have auto key on or off, and god knows what other pitfalls.

2. Same issue more or less goes for expressions(motion/channel) and channel modifiers.

I give you one example. Recently, I saw the videos of the ninja rig in action from Lukasz's site. I thought the fake IK blending that he came up with was pretty easy to setup. Atleast the way I interpret it is constraining the IK goal objects for the arms and legs to another set of objects with some kinda blending control to fade in and out of the constraints. I thought this process was simple since lw has included the simple affectors and constraints that offers envelopable weight blending. Well that part worked, but the problem is when I keyframed the driver object over time and scrub the timeline, the IK bones don't react to the goal object that is driven by the the driver object. This is rediculous, I found that I had to also keyframe the goal object at the same frame where the driver objects has keyframes inorder to get the bones to update its motions.

I took this experiment a little further and replace the SimplePointConstraint with Follower, Master/SlaveZ/SlaveY/SlaveX, and channel expressions in individual trials. My findings:

Master/SlaveZ/SlaveY/SlaveX motion modifiers lags cause a slight lag in the position of the driven objects. Not good at all for what I need to do.

channel expressions: it works. IK bones updates when scrubing the timeline. but very time consuming because you have to apply expression to per channels. And it doesn't react intereactively if you don't have auto key on.

Follower motion modifier: By far this one offers the most functionality, speed of setup, and interactivity. Apparently, turning off after Ik made the IK bones update correctly. Which means IK should be evaluated after the constraint. But what's the catch? you can't fade out Follower's function over time. Which defeats the main purpose of the setup.

Conclusion. I really hate to bash at LW. But I gotta say, there're so many compromises within layout that frustrates an animator. Please, either fix up the issues with those modifiers and expressions behaviors, or gives us a super Follower type plugin that does it all: follow any channel available, animatable parameters, blend control, non-modal interaction, maybe SDK feature that drives value over different value, in addition to the existing features like IK priorty control, best interactivity. Also ease of use: something that will setup follower over many objects in the scene easily.

02-18-2003, 08:16 PM
Will the real toon shady please stand up?

Shady, have you seen Lernie's page of Lscripts? http://thespread.topcities.com/ He has some scripts on there for channel driven motions. Hope that might help.

02-18-2003, 11:38 PM
I also have to say that all this channel constraint/ driver tools are a pain in the ***. Even Lernie can't overcome this weakness however nice his scripts are. One just simply has to make too many compromises and there are too many workarounds necessary. Just make it as simple and smooth like in Maya.


02-19-2003, 09:51 PM
To be honest, Steve, I am a big fan of Lernie's Lscript tools. I bookedmarked his site, and check it every so often. For one thing I admire is that he often port over quite a bit of maya's feature over to LW layout via LScript. I am usually happy if the plugin and lscript developer fills in the gaps. But so far I haven't seen a super follower type plugin or script that would actually work. And the solutions that LW comes with right now are redundant plugins or scripts that do the same thing but in limited ways.

You can look at constraints in the sense of a fast alternative solution to expressioins for doing channel driven motions. Programs like XSI has a wide range of constraints, and each of the constraints has a lot of options and functionalities that broaden their usability. LW has alot of plugins and lscripts for layout that might do the same thing, but they either don't interact with each other and/or the user well, and/or they have limited use.

I would like Layout tools to be more like modeler where one tool would have many use, instead of wasting energy to write up new plugins or scripts that are just fillers for a particular problem.

"I also have to say that all this channel constraint/ driver tools are a pain in the ***. "

Hehe, I find more things in layout then just that to be pain in the butt. How bout displacment plugins/modifier? Seems like most of them don't play nice with bones. Try parent an Efector to a bone that is deforming the mesh, the Effector would not displace the mesh points anymore. But that's another topic.