WIP:Experiment in Non-Slipping Feet (UPDATE: More robust and portable) ---Demo

UPDATE: See the blend file attachments below for new demos.

I have here something I’ve been working on for a couple of weeks now. It’s basically my attempt to give the sprite “arbitrary foot steps” if you understand me.

I put it all into a script I called Sticky Feet. It makes the feet stick to the ground (wherever they may fall) until it is released again in another foot step. The length of the step is determined by the speed of the character- not by a pre-made animation.

I have included the blend file below. You may notice that the armature is split up into a number of different objects. That is still a work in progress. I’m not sure how to explain it right now. It’s there to avoid some rather tedious scripting and may disappear in the near future. So don’t ask :p!

This is my first serious scripting project so some of the code might be a little confusing. I tried to put in as many notes as I could. If there is something that could be drastically shortened or improved, feel free to enlighten me. I’m still learning:o.

I’m still trying to simplify it to the point that I could more easily apply it to creatures of more than two legs. Right now the script is dependent on more objects and properties than I’d like. Expect updates regularly.

EDIT: Just added the latest versions. Did away with most of the extraneous logic bricks, properties, and objects. The script can also work on multiple characters without their inner workings getting tangled up (as long as each character is in a separate object group). I’m hoping to make the file simple enough to put into a kind of template.

the controls are:

W: forward
S : backward
A: left
D: right
Mouse Movement: look around
Space bar: over the shoulder view with target

below are the blend and some images.


sprite.blend (644 KB)fourlegs.blend (622 KB)

Haven’t tried it, but this will be good for platformers

When you turn the character in its place, the legs cross each other. Looks very interesting tho :slight_smile:

I just added another demo to the original post. In the demo you will find a four legged creature. the controls are the same as the human demo.

Over the past couple weeks I’ve been drastically changing the script. It now supports multiple sets of legs and requires far fewer logic bricks and properties. Also, More than one sprite can use the script without them getting tangled with each other(as long as they are in separate groups).

In the demo, try walking and turning, turning in place, or walking backwards. Watch those legs go!

There are still a few things I need to iron before it’s done. Tell me what you think.

-C. Wynn

Omg thank u sooo much!!!
Ive been trying sooo hard to make walk cycles like this
you my friend are a genius!!! :slight_smile:

I just updated the blend files. They’re basically just better than before. A lot of the logic bricks have disappeared and are now hard wired into the script to make it all more portable. The feet no longer dip under the ground- EVER! Also I’ve inserted something into the script that increases the stepping rate as the speed of the parent object increases (along with a lot of other things). Some of the new things are still experimental and might disappear or change.

-C. Wynn

but no dipping under the groun :slight_smile:

Cool, I hope you’ll be able to do this with solid meshes, that would be really awesome, good work so far, I’m terrible at python.

Prety nice, congratulations!!!

That is my next goal. It will make it much more stream-lined, though may require a few more mesh modifiers. I’m still trying to find a suitable python solution to keep everything as simple as possible (namely, combining all the armatures), but I’m having some difficulty in that area.

-C. Wynn

id love to see more :slight_smile:

Neat job! :slight_smile: I was wondering why noone has done that before…

Still working out the kinks. Right now, the script really only works when there is only one character using the script at one time. I’m still trying to think of good solution.

-C. Wynn

Inverse Kinematics work-around. YAY! :stuck_out_tongue: