PDA

View Full Version : Motion Mixer problem



Philbert
12-15-2017, 10:59 PM
I have to do an animation with a character running. Now I don't do much character animation but I could do this. Then I remembered Motion Mixer, which I've never used before. So I made a run with 2 steps over 30 frames, added it to Motion Mixer and used Offset Repeat to continue the run motion until frame 120. For the first 30 frames it's fine but after that the limbs start going a little wonky and it gets progressively worse for the length the animation. Anyone know why that might be happening?

138888

gar26lw
12-16-2017, 01:38 AM
not sure, try these

https://m.youtube.com/watch?v=6seaO4l80K0

and more from bugzilla. brent’s stuff:

https://m.youtube.com/watch?v=76ghMjPeXpo

additionally -

animation layers
https://m.youtube.com/watch?v=8bsuK2iduoc

animation, walk cycle and mdd

https://m.youtube.com/watch?v=uhvRfxrsUpQ

daforum
12-16-2017, 01:48 AM
Ha! gar26lw you beat me to it. I was just about to post those links too :)

Looking at your image if i remember correctly you have to select ALL the bones first then "create actor" maybe that's the reason not all the bones are working?
Or you just have to repeat the clip ( ie: duplicate it in the motion mixer timeline ) not use offset repeat?

hypersuperduper
12-16-2017, 02:00 AM
offset repeat isn’t the right postbehavior is it? Isn’t there a regular repeat? You shouldn’t need to manually repeat the clip.

VermilionCat
12-16-2017, 02:07 AM
How about stop using offset repeat. Just repeat the motion and move the master null?

Philbert
12-16-2017, 02:23 AM
Those are actually the videos I watched to learn about it. :) I added it by first selecting all the bones and creating the actor, then selecting all the objects and adding them. The odd thing is that he mostly runs OK, it's just a little wonky like something with the IK or the controller objects aren't moving exactly right.

Here's preview video
https://www.dropbox.com/s/8d8ibibmh09vwgc/smudgie_run.mp4?dl=0

hypersuperduper
12-16-2017, 02:24 AM
Are you moving the character forward in the motion? Or is it a stationary walk cycle?

Edit. From the video It looks to me like the former and the channels for the positions of the controllers aren’t looping perfectly. If you are going to use offset repeat and move the character along the z within the motion you need to make sure that all of the channels EXCEPT for Translate.z loop perfectly, and the translate.z channel for EVERY item that moves along the z (Ik handles and stuff) has exactly the same offset between the first to the last frame of your motion. they must all move the same distance. If you have done all that it should work.

However, It is much easier to animate the walk cycle in place and then move a master null

Philbert
12-16-2017, 02:29 AM
offset repeat isn’t the right postbehavior is it? Isn’t there a regular repeat? You shouldn’t need to manually repeat the clip.

With regular repeat he jumps back to the beginning every time. With the offset he keeps moving forward.


How about stop using offset repeat. Just repeat the motion and move the master null?

That's a good idea, I'll try that. I'll just have to figure out exactly where the null should be moved to. Oh wait, I can't move the null, it gets locked once you start using Motion Mixer. Maybe I can remove that one item from the actor...

- - - Updated - - -



Are you moving the character forward in the motion? Or is it a stationary walk cycle?

The character is moving forward.

hypersuperduper
12-16-2017, 02:43 AM
Good practice is to hash out any looping issues within the motion itself. I recommend editing the motion from the motion mixer panel, which will drop the keys back in the timeline. Then in the graph editor set the post behavior of all the channels to loop repeat (The post behavior you want to use in motion mixer). then you will see in the graph editor which channels are wandering away from the herd and can fix them. When you are done just end your edit in the motion mixer panel.

Just a warning:
There is a bug in motion mixer(on Mac atleast) where if you close lightwave or it crashes while in edit mode motion mixer will be stuck in a weird state. It can be fixed by opening the scene in a text editor and making a tweak, but it is something to be aware of.

gar26lw
12-16-2017, 02:58 AM
if you,can try mdd. take a look at the last vid link i posted. think it’s in there.

this does raise a question in my mind; with lino gone, who knows about animation at newtek and all the issues that can come up? who can make excellent tutorial videos to educate the community?

could newtek approach bugzilla or bryphi? i wonder if there is some friction there though and might be an issue?
thing is i think they would be very good.

the other thing is, who can explain to devs the nuances and requirements of animation needs that the end user runs into, so we get appropriate tools?

hypersuperduper
12-16-2017, 03:01 AM
if you,can try mdd. take a look at the last vid link i posted. think it’s in there.

this does raise a question in my mind; with lino gone, who knows about animation at newtek and all the issues that can come up? who can make excellent tutorial videos to educat the community?

could newtek approach. bugzilla or bryphi but i wonder if there is some friction there?
thing is i think they would be very good.
Rebel hill knows everything there is to know. Don’t worry.

hypersuperduper
12-16-2017, 03:05 AM
It’s important to point out here, also, that if all you want is to loop a motion, motion mixer is unneccessary. The graph editor is all you need. Motion mixer comes into play when you have lots of different motion you want to mix, or organize.

VermilionCat
12-16-2017, 03:07 AM
Rebel hill knows everything there is to know. Don’t worry.

Exactly.

gar26lw
12-16-2017, 03:09 AM
Just a warning:
There is a bug in motion mixer(on Mac atleast) where if you close lightwave or it crashes while in edit mode motion mixer will be stuck in a weird state. It can be fixed by opening the scene in a text editor and making a tweak, but it is something to be aware of.

oh really? any ideas if fixed for 2018?
do you have the text tweak details?

- - - Updated - - -


Rebel hill knows everything there is to know. Don’t worry.

good point, forgot about RH ;)

hypersuperduper
12-16-2017, 03:29 AM
oh really? any ideas if fixed for 2018?
do you have the text tweak details?

- - - Updated - - -



good point, forgot about RH ;)

I reported the issue when it happened to me and the fix was most likely stupid easy (it was just a flag that didn’t get reset when the scene loads) so I would hope they fixed it, but I don’t know.
Basically Motion mixer thinks it’s in edit mode but it isn’t.
I can’t remember the exact fix, but basically motion mixer has a flag it sets when it drops a motion to edit in the timeline. It’s called like “edit mode” or something. I just did a text search and saw this thing called “edit mode” or whatever that was set to “true”
I set it to false, and opened the scene and my motion mixer became responsive again. The keys I was editing were still in the timeline, but it wasn’t the motion anymore. The motion itself still contained the unedited keys. But that was an easy enough problem to fix. Within lightwave I think I used rebel hill’s save and load motion plugin to save the motion in the timeline, opened the motion mixer motion that was old, deleted the keys and loaded the saved motion.

Philbert
12-16-2017, 04:04 AM
It’s important to point out here, also, that if all you want is to loop a motion, motion mixer is unneccessary. The graph editor is all you need. Motion mixer comes into play when you have lots of different motion you want to mix, or organize.

Oh really? What do you do in the graph editor? I guess I have to figure out every object that has motion and load them all in there at once.

hypersuperduper
12-16-2017, 04:22 AM
It’s not that hard just select everything and open the graph editor. You can then select all the channels and all the curves and set offset repeat as the post behavior. If you want to single out just the things you have animated what I usually do is select all the keys of all the channels (right click drag over the curve window) and in the keys drop down(I think it is there) is a tool it’s near the bottom of the list called reduce keys that if the reduction threshold is set to 0 will remove keys that don’t change the value form the Previous key then you can in the graph editor options set filter static channels to on. Close the graph editor and reopen it and it should only show the channels you have actually animated, which is usually a much smaller group.

Philbert
12-16-2017, 08:04 PM
Well there is no Filter Static Channels, I assume you meant Filter Static Envelopes. That didn't do anything so I tried just selecting all of the keys and setting them to Offset Repeat and it just gave me the same problem that I started with, he runs for the whole time but his limbs get wonky after 30 frames. So I guess the problem wasn't with Motion Mixer.

gar26lw
12-16-2017, 08:07 PM
Well there is no Filter Static Channels, I assume you meant Filter Static Envelopes. That didn't do anything so I tried just selecting all of the keys and setting them to Offset Repeat and it just gave me the same problem that I started with, he runs for the whole time but his limbs get wonky after 30 frames. So I guess the problem wasn't with Motion Mixer.

how about you toss the mesh off the scene and upload it here with just the animated rig, for people to take a look at? might help you out.

Philbert
12-16-2017, 08:09 PM
I don't know what you mean by toss it off the scene or animated dig. I can upload the scene if you like.

gar26lw
12-16-2017, 08:27 PM
I don't know what you mean by toss it off the scene or animated dig. I can upload the scene if you like.

stupid ipad auto correct. i mean delete the mesh geometry and upload the scene with problematic animated rig.

Philbert
12-16-2017, 08:37 PM
Oh OK I gotcha. I don't know how to delete the mesh without deleting the rig. I just packaged up the scene.

https://www.dropbox.com/s/agfzhjnozpw55yr/Package.zip?dl=0

Now that I think of it I guess I could've just reparented the rig to a null, then deleted the character but whatever.

daforum
12-17-2017, 04:17 AM
Well there is no Filter Static Channels, I assume you meant Filter Static Envelopes. That didn't do anything so I tried just selecting all of the keys and setting them to Offset Repeat and it just gave me the same problem that I started with, he runs for the whole time but his limbs get wonky after 30 frames. So I guess the problem wasn't with Motion Mixer.

You shouldn't use offset repeat. Use Repeat and on the start/end keys put a tension of 1.0 so the repeat is smooth at the start/ end key from and into the repeat.

Hope it helps :)

hypersuperduper
12-17-2017, 07:20 AM
I took a quick look at your scene. That's a genoma rig with some sort of IKBoost spine, right? have you modified it? I think part of the problem is that I don't think you are using it the way it is intended. You are moving the character with a controller called ctrl_hpb which judging from the name is probably a rotation controller allthough I am not sure. I think that the idea is that you are supposed to move the object itself to shift the body around, and the one you have moved is for rotation and for shifting the torso around independent of the arms.. To make run cycle I believe the recommended usage would be to animate the run cycle in place, and move the master null.

It will be VERY difficult to loop the animation as it currently is using offset_repeat because the ctrl_hpb nulll that you are using to move the torso and the IK goals for the feet and hands do not share the same parent space. So the body is moving one direction in its parent space and the feet another. it is possible, but will be more work than redoing the animation I am sure.

Philbert
12-17-2017, 12:02 PM
Ah, yeah, it's confusing in the rig to tell what part you're supposed to animate for what purpose. Yes, it's Genoma but no I didn't modify it other than adding some holder bones. I wish I had used a simpler rig now but I dread redoing it with all of the holder bones I had to add.

hypersuperduper
12-17-2017, 01:01 PM
The older genoma rigs are a bit.. iffy. They work, but they have a very strange structure. The genoma 2 rig is much better. But this rig will do what you need, you don’t need to start over.

I suggest that you just redo the animation and animate in place like he’s running on a treadmill. Set the channels to postbehavior: repeat and make sure it looks like you want it to. Then move the big green ring shaped mother null the right distance so it doesn’t look like his feet are sliding. Runs are much easier than walks in this respect, since he spends half the time in the air.

Since this is an Ikbooster spine rig I think that is why there is not a big pelvis or center of gravity controller which you would expect to see. I think the idea is to apply ikbooster to the rig which will allow to grab anything and move it, but I ikbooster is a whole other can of worms that I don’t suggest you open in this case. You can either use the ctrl hpb null to move the torso up and down as he runs or you can move the mesh itself. That will also work. You can create a perfectly good run that way.

A tip for ensuring that the animation loops correctly is to select everything, open the graph editor, select all the channels and then in the graph window move the playhead to 0 and ctrl-c. move the playhead to 30 or wherever your end frame is and ctrl-v. this will copy the value of every channel at frame 0 and create a key frame at frame 30 with those exact values. Then you can select the keys at frame 0 and frame 30 and set the tension to 1. This will make a nice smooth curve that will loop nicely.

Good luck!