View Full Version : MotionMixer and Expressions
03-03-2006, 09:32 PM
I have created a walk cycle for a character and I would like to create a motion from this animation. My character has a few expressions on the spine bones to counter rotate the hips. I am using ACS4. When I create the motion, the animation comes in except for the hip swaying driven by the expressions.
How can I get the expressions to be used when I create a motion using motion mixer.
03-03-2006, 11:35 PM
For some reason, Motion Mixer can only see expressions with the old style syntax (ie. "Object.rot(Time).h"), not the new (ie. "[Object.Rotation.H]").
If you change all the expressions to follow the old format, Motion Mixer should see them.
03-04-2006, 05:19 AM
I don't used Motion Mixer much, but this intriged me abit so I did some tests.
As Eric says you must use the old style syntax. It seems you must also apply the expression via the Expression motion modifier (as opposed to through GE), because it needs to be placed after the MM_MotionDriver modifier which Motion Mixer will automatically assign to any actor item.
Optionally you could exclude the expression driven item from the actor so MM doesn't hold any control over that item at all. You really don't need MM on it because you really only want the expression to drive all of it's motion anyway. But since it's more convenient to include it in the actor and the solution above works fine why bother removing the items from the actor. :) (The expression drivER however naturally still needs to be in the actor any relevant motion clips).
The way I understand it Motion Mixer basically stores keyframe info only. So it's not an issue of having MM store data about expressions or other modifiers, but instead an issue of having other modifiers solve after and layer ontop of Motion Mixers output.
03-04-2006, 03:46 PM
Thanks for the help. I checked the syntax on the expressions and it looks the old syntax is being used. I am using ACS4 to rig my character.
Here is one of the expressions.
Yim_Rig_Single.SpineCtrl.rot(Time).p * (slid_SpineFactor.pos(Time).x)
I was hoping it was just going to be a matter of changing the syntax. But MM is still not seeing these expressions. Now, using ACS4, these expressions are activated by changing a value on a slider bank. Would using Sliders have anything to do with it not working?
It seems you must also apply the expression via the Expression motion modifier (as opposed to through GE), because it needs to be placed after the MM_MotionDriver modifier which Motion Mixer will automatically assign to any actor item.
Yes, right now the expressions are just applied in the graph editor. So, I need to apply these via the Expression motion modifier. Would I just copy and paste the expression values from the GE into the value area of the expression modifier?
For example, Spine5.Rotation.H and Spine5.Rotation.B each have an expression linked to them. Would I copy the expression and paste it into the value of the Expression Modifer, then delete the GE version of the expression and apply the Expression Modifier to the channels of Spine5.Rotation.H and Spine5.Rotation.B?
Thanks a lot for the help! I am just trying to figure out MM and I have not had a lot of experience using expressions.
03-04-2006, 03:46 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.