Stride bone busted? Or just different?

Hi,

I’m going back over the stride bone tutorial and it doesn’t seem to be doing what I expect. Has anybody tried this with 2.42? It’s not working the same as it was with 2.41. Maybe I just have to adjust something, but I’m at a loss to what… basically what’s happening is that the stride path is not causing the action to repeat as I think it should be doing.

T

Have you toggled the Action/NLA button in the NLA window? This is all I recall causing me similar headaches (I’m not sure if the the tutorial mentions it).

Heh heh, fool me once shame on you, fool me twice… won’t get fooled again. I’m not so green around the gills as to get taken in by the old NLA/Action toggle boobytrap.

It’s an emminently reasonable question, but yeah, I toggled it. The behavior is different, but neither is right. And anyway, I’m talking about its behavior straight on opening. And I’m not just speaking from memory. I re-installed 2.41 to compare. Open the file in 2.41, and it works as the tutorial seem to presume. But open it in 2.42 and it doesn’t. It’s not exactly as though it were in Action play mode either… which makes the problem a little hard to explain.

To get it to work, you need to make the NLA strip for the walkcycle take up at least 100 frames. The action will only be repeated as a stride within the confines of the strip in NLA.

As to how this differs from previous behavior, I can’t tell you, as I’ve found this method of generating walks pretty tedious and only used it for testing purposes. As to why it’s different, my best guess is the character animation refactor probably touched on some little things that changed it. The only fixes that I know of that were made to stride bone for this release were the addition of support for scaling of the stride bone (which, come on, why should you be doing that anyway?) and a little fix to how stride deals with actions (starts on first frame indicated in NLA panel, as opposed to 0).

Anyway, not sure why it’s different, but now you know how to make it work.

Thanks very much. I had actually figured out that extending the strip would help, but since it was different I wasn’t sure if I was on the right track… also, I’m still kind of trying to work out exactly what the stride bone/curve path buys you when you’re already using the NLA strip to time out the motion…

Also, generally, is the stride bone/curve path combo used a lot in game design? Because in general freeform animation I don’t really use it.

I can’t image that the combo is used in game design all that much, as it’s very restrictive. Using stridebone/path, you can only generate continuous forward motion. No going backwards, no strafing, etc.

What it buys you is more realistic walk cycles. Feet don’t necessarily process along the ground at a constant rate throughout a cycle. If you’re just calculating overall stride length, total distance walked, and getting a repeat value from that, you can still see foot slipping sometimes. Using a stride bone lets you exactly keyframe your forward motion during the cycle.

Still not a great solution, though, IMHO.

If you’re just calculating overall stride length, total distance walked, and getting a repeat value from that, you can still see foot slipping sometimes.

Right. I see. So… This is easy to get confused about if I think too long on it… What does the stride bone itself govern? The progress of the armature object along the path? Does the stride bone make any adjustments within the pose itself? The stride bone is not formally attached to any particular bone in the armature, it is just manually keyed to the ground-contact point throughout the walk cycle. If both feet are in contact with the ground at the same time, and the figure’s forward motion is continuing, is there a possiblity that the foot not currently synced up with the stride bone will show slipping?

Geez, and I was hoping that you could explain it ! :slight_smile:

I suppose you will be able to after some research :slight_smile: … Or maybe I will, after a few more 10’s of hours playing with it. :wink:

I’ve started that tutorial a couple of times, and done some experimenting, and it’s one of the most confusing features in Blender. For a repetitive walk cycle + path, you can get pretty decent results if you just increase the repeat count, without using a stride bone … but of course you don’t want to write “The stride bone is an advanced feature that is outside the scope of this text” :smiley:

Mike

Are you talking about this particular tutorial? … or the NLA editor / walkcycles in general ?

Mike

Are you talking about this particular tutorial?

I think he’s talking about this particular tutorial, in terms of the 100 frames. The NLA strip determines how long the actual non-linear animation will extend, and in this case the NLA strip was set to 31, but the curve took 100 frames to traverse. More generally, it basically seems that you have to account for your action in the NLA strip(s), just as you would if you weren’t following a curve.

For a repetitive walk cycle + path, you can get pretty decent results if you just increase the repeat count, without using a stride bone …

Doing this alone, I think you’ll definitely get some slipping. I think if you want to do a walk cycle/path combo, you’re probably best off using the stride bone, which I think isn’t too incredibly complicated (contrary to how my last post sounded… I do have some questions still, for sure)…

However, in my own work, I tend to work more the way described in Nathan Dunlap’s tutorial on walking (it’s on the Ludwig page) which doesn’t use paths at all, but rather moves the object by moving the root bone by hand while posing the contact foot to keep it fixed. This is a lot freer and makes for less robotic movement.

but of course you don’t want to write “The stride bone is an advanced feature that is outside the scope of this text”

Yeah, definitely, I need to mention and explain it… but not necessarily recommend it…

bugman_2000: i’m making a dvd demo of some of the animation work I’ve done in the Blender sources that haven’t made release cut yet… one of them enables a great, completely non-foot-slipping, freeform moving autowalking solution. When I have it done (probably this week), I can send you one if you like.

I can send you one if you like.

Absolutely! Please do.

Since I’ve already started a stride bone thread and it’s kind of embarrassing to have such a mangled blend file to show people, I’ll just post this here and ask if somebody could please take a look at it and tell me what is going wrong here… It’s gotta be something obvious but I’ve been wrestling with it for some time now and I don’t know what I’m doing wrong.

I should say that the actual stride bone curves aren’t tightly keyed to the contact points at the moment, so I’d expect a little slippage, but I don’t know why the thing is going as haywire as it is. The movement of the stride bone seems okay to me when I have unparented the armature from the curve and the armature is just walking in the NLA animation.

Thanks very much.

http://www.yousendit.com/transfer.php?action=download&ufid=CE91D4880690165C

Oh, and I have started having some problems with some kind of aggressive/invasive advertising on that yousendit.com, so if anybody has another place in mind where I can post blends, please let me know. Otherwise I can mail it to individuals.

I’m looking at your file now, but in the meantime I’ve uploaded your original file after unpacking and compressing it, which transformed it from ~12meg to ~100K ! :eek:

I’ve been using 4shared.com, and so far it seems ok.

Mike

Sorry I didn’t reply earlier, but it looked like you solved the Strip Start/Strip End issue.

I’m in the process of updating the tutorial and will be moving it to a different server. Still not quite ready for Primetime, but the link will be:

http://users.xplornet.com/~gimble/blender/tutorials/stridebone/stridebone.html

I’ll be leaving the old tutorial up until the new tutorial is finished.

I looked at your file and there didn’t seem to be much wrong, just:

  1. Your Stride Bone is backwards, and
  2. the stride bone curve needs a little more tweaking.

I just tried for a few minutes, so it’s not perfect. Also, I would use “reference markers” to improve the Stride Bone LocY IPO curve instead of just trial and error.

http://users.xplornet.com/~gimble/strideproblem_04.blend

As mstram said, I found it kind of funny that the blend file was ~12MB for just an armature. As soon as I saved it, the file size dropped to about 5MB. Seems like there was some packed textures in it.

Also, it seemed your Armature had some rotations in Object mode: RotX 90 degrees and RotZ < 1 degree.
I’ve always found it best to zero out any rotations and ensure the scale is equal to 1; otherwise it’s quite a pain to try and fix later.

I thought I had unpacked that. In fact, I know I tried to. I guess I need to go over the steps of how to unpack something properly. The version on my hard drive is about 5 mb.

  1. Your Stride Bone is backwards, and

Hmm. Yeah, it is. Unfortunately, that’s not how I started. I was having the same problem before I rotated the stride bone in edit mode and rekeyed the movements in an attempt to sort things out.

  1. the stride bone curve needs a little more tweaking.

Ah. I’m looking at your file now, and it’s clear to me that I have not been understanding the point of the stride bone at all.

I thought the stride bone was to represent the point of contact between the armature and the ground. The stride bone you’ve got trails behind the figure. And… I have no idea what it represents.

Okay. I guess I have to get back to your tutorial, because I clearly have no idea what is going on here.

Thanks very much for the responses.

Ah!!! Hang on! I think I’ve understood Malefico’s method. If I’m right, then I wasn’t as wrong as I thought… My bone isn’t backwards by this method, I think I understand the empty use…

Yep. Got it. Gimble, I don’t actually understand your way of keying the stride bone with tip backwards, but with tip forwards, I understand. The first contact foot is keyed exactly as I had thought, with the contact points represented by the stride bone. But the second contact foot is keyed (using a couple empties as standins) with the stride bone trailing out one stride-length behind the figure, representing the contact points, but offset by a stride.

Yes!

Thanks for all your comments, guys. Sorry to be so slow on the uptake.

I might be wrong (yes, I did just write that :slight_smile: ) but my understanding of the stride bone is that it has nothing as such to do with the contact but merely adjusts the forward speed of the armature (via the root bone, whichever bone that be).

Ordinarily, the armature would travel along the curve at an even speed from start to end but a good walk-cycle requires that the speed change slightly as weight shifts from foot to foot. By keying the stride bone at the various contact points, the NLA is able to repeatedly adjust the forward speed along the curve.

At least, that’s my guess. It’s similar, I believe, to my recent solution to rotating a cube using a shifting empty where the empty takes control of the cube’s otherwise normal rotation.

Yes, you’re right the Stride Bone should be pointing forward for your Blender file.

Usually forward pointing -> negatively sloped LocY IPO curve
rearward pointing -> positively sloped LocY IPO curve.

I guess it is important when it comes time to do the alignment part (which I skipped and just did a quick and dirty trial and error method :slight_smile: )

Well I had a long explanation before, but I got logged off for some strange reason…

Anyhow, glad you have it working.

Do you think you can post (a compressed nonpacked !) version of your “fixed” file? (shouldn’t really be any bigger than ~200k or so for just an armature !) I still don’t understand the stride bone, but if I can compare your previous file to one you have working it might make sense to me.

Mike