walk action weirdness

General Moho topics.

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

walk action weirdness

Post by basshole »

I was experimenting with just copying repeating key frames for a walk cycle until that cycling issue in v6 is fixed. I also wanted to make an action that had the horizontal movement in it, so I don't have to manually advance a character every time I use that action in the timeline.

So, in this walk action, I created several seconds of him walking, and moving forward as he did so, and when I "insert copy" into the main timeline, all of sudden all his body parts are scattered eveywhere (the skeleton remains correct, but the vector layers go haywire), and it stays this way as he walks. The scattered vector layers kind of move in a walking pattern, but it looks like he stepped on a land mine. I don't know if this is a v6 thing or a me thing, I suspect it's the latter and I have some weird attribute I'm not realizing causing this issue. I advanced him forward by doing a translate bone key on his root bone, so I could use translate layer to move him vertically if necessary. Is that the problem?
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Okay. . .I think this has to do with the fact that translate bone on frame 0 does different things than it does on any other frame, so using this in an action and inserting into a timeline makes everything go crazy. SEems if I want a walk action that includes forward movement I should use the translate later, and use root bone translation AFTER it's in the timeline for my vertical movement. I will play with it.
User avatar
slowtiger
Posts: 6081
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Post by slowtiger »

In this thread viewtopic.php?t=9448 I wrote up my recipe for a walk cycle, maybe it gives you some ideas.
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Thanks. The cycle itself I have down, it's getting him to do more than walk in place that's an issue. I think I have it. Let me play more and then I'll come back and complain.

OK it's later.


Now I feel like I've lost my mind. . .I would swear that on any frame other than 0, translate bone would move any points bound to that bone with it. It is not happening. It moves the bone away from the vector layers just like in 0. Am I crazy? Is this a new v6 thing? Furthoremore, it's only happpening in my main timeline. In the action timeline, I move the guy's root bone (using translate bone), and he comes with it. Not so in main timeline. Huh?
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Ok, still stumped. I found another thread on here mentioning that if that root bone was "translate bone" keyed anywhere else on the timeline that you couldn't move the whole character by translating it. But in v6 you don't even see channel unless it has keys, and I see nothing for translate bone/translate selected bone for this character, but it still doesn't work.

So again, translate bone, when used on the root bone, anywhere in the main timeline, pulls the whole skeleton away from the vector layers, which remain where they were. In the ACTION timeline, it move the whole character. I'm lost.
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

I've not encountered this. It is hard to understand what might be happening. If we could see the file that might help. You haven't slid the layer in the sequencer have you? Just making wild guesses.

-vern
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

By God yes, I had slid him in the sequencer! I guess maybe I foolishly dared to import an AS object on a frame other than zero, so that's where it "starts" in the sequencer? What does that do? What does sliding a typical vector/bone layer do, if they're of an "eternal" duration? I get what it does for audio files of finite duration, but don't understand why you can slide your bone layers around.

Ok, I'm playing with it now.


PS, after I slid my character back so that the green triangle was at frame 0, I did a "clear animation from layer" and got a lua error message. . .something like "GetAnimationKeysWhen=out of range." It wouldn't go away and the program became very sluggish no matter what I was trying to do. I finally deleted his bone layer out of the program and reimported him, which seemed to right things. what's that all about?
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Ok, well, that was it. Now it works. I use translating his root bone to advance him forward, and translate layer to move him up and down. I assumed translate layer was relative to the workspace, so if I put that in an action, he'd always end up in the same place in the workspace, which is not what I want. With translate bone, I can move him wherever in the workspace, and he still walks forward in a straight line, and it's an action so I don't have to advance him manually every time I insert a walk cycle. Sweet.
User avatar
uddhava
Posts: 315
Joined: Tue Nov 04, 2008 7:24 pm
Location: American back in Hungary

Post by uddhava »

slowtiger wrote:In this thread viewtopic.php?t=9448 I wrote up my recipe for a walk cycle, maybe it gives you some ideas.
Just happened to look at this topic and checked out your walk cycle advise. Thanks SlowTiger, I'll try it out.

I have no advise on this current topic though.

udd

Image
Last edited by uddhava on Wed Sep 09, 2009 6:25 pm, edited 1 time in total.
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

Oh children, I have found a dirty secret. Would you like to know what it is? Of course you would.

So I've finished three scenes from this short film so far, all of them involving somebody walking somewhere at some point. I inserted a copy of my walk cycle with movement, and all seemed splendid.

However, on the scene on which I'm currently working, I discovered that apparently my method of using translate bone for the lateral movement of the character SEEMS TO BE DEPENDENT ON THE BONE LAYER'S SCALE!

This super sucks because I scale the characters differently depending where they are in my one-point-perspective set. . .if they're far back, they're tinier, closer, bigger. This effectively changes the stride length, I guess, which screws up how far they move between each walk cycle pose. I can see with onion skins that my character's feet do not match up from pose to pose. . .he moves way further on each step than he should.
That bone translation is only good for the particular scale the bone layer was at when I created the walk action.

This most likely means the same thing happened on the other scenes and somehow escaped my attention. I'll have to see if I can live with it instead of reanimating everything. I guess I have to put the forward movement in manually each time now, to be safe.
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Sorry but this is impossible. I've been using bone translation for ever and with layer scale the translation of bones is proportional to the layer scale. That translation distance is also "scaled" with the layer.

Layer scale scales the whole layer. Scales everything including the translation distance of bones. There's no way that layer scaling would "reverse scale" a bone translation. I just did a test on a bone layer and the bone translation is scaled proportionally with the layer scale.

Which layer are you scaling?

Do you have your main character bone layer scaled in another bone layer that IS NOT scaled? If so then yes, this is a problem. You would have to translate a bone IN the layer being scaled, not a bone controlling that layer in a parent layer. If you translate a parent bone that moves a layer inside it and then scale the CHILD layer the bone translation of the parent layer would not match.

Trust me this is impossible. Layer scale scales EVERYTHING in the layer including the proportional distance of translated bones.

-vern
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

im getting a little losy in the language but the bone i translate is the crotch bone of the character. the character is inside another bone layer so that he can move in front of and behind things
User avatar
heyvern
Posts: 7035
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Sorry I think I made a tiny mistake but my initial thought was correct.

If you use a bone in a bone layer to translate a character forward during a walk cycle and then have keys for layer scaling THAT CHANGE OVER TIME this will change the forward movement of the translated bone. You would see "misalignment" of the movement. Scaling the layer DOES scale the bone translation which will mess up the walk cycle.

I just used this exact same technique for my "skipping gopher" character. He skips side to side along a dirt path and moves towards the camera and gets larger.

I had to use the bone translation to align the movement of the character to match the scaling of the layer. No way around that. If you scale the layer for perspective and use bones for forward motion this will work ONLY if the layer scaling is STATIC... meaning the layer scaling is the same over time.

If the layer scaling CHANGES over time then the forward bone movement will not "line up" with the scaling and will be mismatched. You need to adjust BOTH to work properly.

The reason I was confused by your issue is that this is... uh... this is expected. If you change scaling of the layer over time it will totally mess up forward movement using bones for a walk cycle. The center of the layer being scaled will change the location of the bone being translated. It will cause the bone to appear to "slide" more or less depending on it's distance from the layer center point.

I will try to do a short video screen grab to show what is happening and what you need to do to fix it (don't worry... this video will be "free". I will post it here. ;) )

-vern
User avatar
slowtiger
Posts: 6081
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Post by slowtiger »

Problems like these are the reason why I put characters into group layers. This way I get a clear separation of movements and keys.

Basically I use cycled bone animation to build the basic walk in place. Then I use the translate layer tool to move the walking character across the screen.

If I need a perspective walk, I put this arrangement into yet another group layer whcih does only the scaling. This way I can set the origin point of that group layer at where the vanishing point is, and every scaling does a bit of translating automatically - easy work, no fiddling with two tools at the same time.
basshole
Posts: 439
Joined: Tue Feb 12, 2008 1:11 am

Post by basshole »

ok. this does not sound like a big deal. sounds like i just need to translate manually but that my other scenes are fine since this is the first time ive done a walk where they scale too.
Post Reply