View Full Version : Pair of requests - Bone/Skelegon system and Expression editor

02-15-2005, 05:26 PM
Expression editor Improvement

The expression system in LW is rather clunky I must say.

I have a relatvely simple dependant motion system that I could write in javascript, Unreal-script, or maya's expression editor, but the interface/implementation and limitations of lightwave's make it a serious effort. (Relativity isn't any more transparent)

What I would like to see is at least the option to simply write a paragraph of code using some standard syntax and flow of an average scripting language, even keep some of the random name restrictions if need be

like If Then Else statements that are more than bi conditional perhaps

if (Frame < 120)
value += (Frame*0.75);
Else if (Frame>640)
Value -= ((Frame-520)*0.75);
value = SomeOtherObject.rotation.P;

It would be even cooler if you can have one single expression to control multiple channels on multiple objects

SomeBone.Rotation.H = SomeNull.Rotation.B;
SomeOtherBone.Rotation.P = SomeNull.Rotation.B;
SomeThirdBone.Rotation.B = SomeNull.Rotation.B;
SomeObject.X = SomeBoneRotation.H;
SomeObject.Y = SomeOtherBone.Rotation.P;
SomeObject.Z = Sqrt(SomeThirdBone.Rotation.B*SomeThirdBone.Rotati on.B);

Rather than having to make 6 separate expressions on 6 channels (ie 6 places to change).

While the current editor is capable of these type of things the expression list gets clogged up quickly at that rate. As in example 2, six separately listed expressions for 1 dependant system. It should be written as 1 expression, 1 system.

This isn't so much a capability request as it is a workflow request. I'm sure I could do all that through L-Script, or some third party plugin, or even just a lot of expressions within the default editor however all that is simply inefficent, and is costing me (and my employers for that matter) hours of time to simply figure out how to translate simple statements into this odd proprietory format.


These have gotten better over the past few revisions, and I would request a few more improvements. Make the motion system, or at least the rotation component there of, DEFAULT to LOCAL COORDIANTS. Having to operate in parent coordinants has been irritating as can be since version 5, because the values make no logical sence when trying to figure out motion. The coordinant system change buttons are nice, but the motion constraints still hold to parental coordinants which totally screws up the rotation axis of the child bone. What is expected to be pitch becomes heading, or worse some random hybrid of the parent's three axis. This wouldn't be an issue if bones were Always used in IK setups, or keyframed because of the coordinant switch buttons, but if you try to have their motion controlled by an expression and the axis are messed up it is simpler to just re-build the skeleton.