Learning to walk...

About Truespace Archives

These pages are a copy of the official truespace forums prior to their removal somewhere around 2011.

They are retained here for archive purposes only.

Learning to walk... // Roundtable

1  |  

Post by W!ZARD // Aug 21, 2008, 12:36am

W!ZARD
Total Posts: 2603
pic
I've spent a large part of the last week learning to walk in trueSpace. Here's a synopsis of what I have found plus a handy device I made for addressing the dreaded "slipping feet" syndrome.

So here's what I did:

I imported a Mike Moves BVH skeleton from the trueSpace Library - the slip on Banana skin one though any BVH or self built skeleton will do. I checked the default pose and then removed the existing animation clip from the AE leaving me with an unanimated skeleton.



Next, (and you can skip this part if you want to add your character mesh later or just save a basic walk-cycle Anim Clip) in attached my latest upgraded character mesh - his name is Boris.:D. I did all the weight painting but did not set any joint limits (this is something else you can also do later if you require - good for when working with physics). I did it this way because I wanted to be able to see how the mesh deformed as I was building this first walk cycle. From what I could see it makes no difference whether you attach you mesh then create the walk-cycle keyframes or do it the other way around.


Next step was to Google "walk cycles" which bought up a wide range of excellent tutorials on the subject. Using these tuts as references I posed Boris in the first position, with his forward heel just touching the ground. I built this pose at frame 12 and set the anim to loop over 24 frames (12 to 36). I did this so I could also create a standing still and starting to move motion later on using frames 1 to 12 - again this is a matter of choice. For convenience I set Boris at 0 on the X and Y coordinates. I also made a cube to go around him with the faces transparent and the edges showing - this provided a reference for things like ensuring he was standing at a consistent angle (we lean forward as we walk).


So, with my start pose created I copied the keyframe and pasted it at the end so my cycle would loop. Next I copied Boris in the start position, selected the 2nd Boris Skeleton and clicked the mirror tool. tS asks if you are sure you want to do that and I said yes. The 2nd Boris character mesh I just deleted leaving me with a reversed copy of the Boris Skeleton. I deleted the Anim Clips associated with the second Boris in the LE.


This second and now immobile skeleton became the template for my second pose of the original Boris. I advanced to the centre of the loop (in this case frame 24) and posed the first Boris (still at 0 on the X and Y axes) so his Skeleton matched that of the reversed skeleton then deleted the reference skeleton.



Now Boris loops from one extreme of the walk cycle at the Frame 12 (ie, left heel just touching the ground as the right foot is just about to leave the ground) to the opposite extreme at Frame and back again at frame 36 which looped back to twelve. Now comes the intermediate pose, at frame 18, halfway between the two extremes at 12 and 24.


Using the poses demonstrated in the tutorials as a reference I created the intermediate pose. When I was happy with the result I again copied the character, mirrored him, deleted the meshes and animas and after moving to Frame 30 once again used the copied mirrored skele as a reference to create the second intermediate pose. Now I've got keyframed poses at Frames 12, 18, 24, 30 and 36 - all six Frames apart.


At this stage I've basically roughed out the major 'shape' of the walk-cycle. This is just like regular modeling, where you start by roughing out the shape and then adding further geometry to get the detail required. It's time consuming and (at least until you become more experienced and competent) somewhat laborious.


More poses are needed at this stage so there are keyframed poses every 3 Frames - it's probably not necessary to copy and mirror the skeleton for these as the overall shape of the motion is roughly define – although of course you can copy and mirror the poses for refence if you wish..


trueSpace provides us with a bedazzling array of ways to pose our skeletons. The different methods of locks, IK handles, Forward and Reverse Kinematics are each necessarily complex individually - in combination they are somewhat bewildering (which is putting it mildly!). There will undoubtedly be as many ways to pose our animations as there are animators - over time each individual will develop their own preferred workflow. Here is mine which may give you a starting point to developing your own method.


Remember I have no joint limits set at all so it's important to make lots of small adjustments and to keep as much of the skeleton still as possible or else wild and improbable poses some develop as do subtle incremental revolutions of the bones accumulating into completely unexpected and frustrating revolutions. In order to keep everything aligned it's easy to activate the Default Pose and by selecting symmetrically opposite Joints in Joint Limit Mode (remember you can select as many as you like) and then adjusting the joints so they all match up.


For the posing I have full locks on the head, the back bone where the shoulders are attached, each shoulder bone and each wrist. Additional full locks are at the hip, both thighbones and both feet. There is an IK handle added at each foot and each hand. Activating and deactivating the locks (when in Dynapose mode) allows me to quite precisely set each joint using the widgets in Forward Kinematics - about 75% of the posing is done this way. Using the Locks and the IK handles allows for more global movements of the skeleton and these are invaluable for fine tuning which I'll discuss next.


(But wait! There's more!)...:D

Post by W!ZARD // Aug 21, 2008, 12:43am

W!ZARD
Total Posts: 2603
pic
The bulk of the work is done by now and we can see the overall shape of the motion. It;s here we will notice that our feet are not as still as we would like them to be. To help fix this I have made a “Foot Print Jig” (attached below) which moves smoothly from the start of the animation until the end, taking the place of the ground which will eventually be still as the character walks across it.

Other current threads have discussed setting linear interpolation between walk cycle keyframes – I found that the only place I needed linear interpolation was on this jig to create a uniform movement.


As the jig moves beneath the character the footprints on it's surface provide an ideal reference for the placement of the feet – at the end of the 24 Frame loop it simply cycles back to the beginning so no matter at which stage of the walk cycle you are at it is possible to see exactly where the feet need to be. This is where the IK handles on the feet become invaluable. We can use the handles to ensure each foot is exactly where it needs to be in relation to the footprint and the translation is spread smoothly up the leg IK Chain.

From here it's almost done – my first efforts made Boris, (see below) who essentially a Frankensteins Monster kind of guy look decidedly camp! His wrist flopped and there was this bizarre double oscillation to his hips that just wasn't right! Here again it was a relatively simple matter to adjust the main keyframes (at every 3rd frame) to hone his gait into something more suitably monstery using a combination of IK and FK.


Using this same method we can finally quickly run through all 24 frames, set precise foot positions and keyframe them ending up with every Frame Keyed and it's almost done.


In the AE using story mode, cut and paste the new walk cycle for as long as it's required for the scene. Create a new anim track, set start and stop keyframes and simply scale the new anim track until the characters feet – which we know are at the right cyclic position thanks to the handy Foot Jig – until the feet are stationary and no slippage is visible.


Expect to put a lot of time into getting your first walk cycle sussed out – every one that follows will be much faster. Additionally, I'm confident that learning to create a walk cycle like this will contribute hugely to your abilities to animate characters in general.


Once you have you character walking it's easy to add additional tracks to introduce waves and nods and head turns etc and to add little variations to dispel the cyclic look.


Here are a couple of screenies – the first shows Boris in the start position on the patented Wizard FootPrint Jig, the second is a still from a WIP animation in which Boris walks from one side of the bridge to the other with not foot slippage at all!


Also attached is a copy of the FootPrint jig – I cannot overstate how much easier this simple tool made the entire process.


This is by no means THE way to animate – it's just the first way I found that works. It took me a good week of consistent 8 and 10 hour days to figure this out – hopefully, using these notes as a starting point you'll be creating funky walk cycles in a fraction of this time.


As usual my apologies for the lengthy post and I hope this helps

Post by J90 // Aug 21, 2008, 12:45pm

J90
Total Posts: 107
A script that creates a ghost mesh with the current pose on the click of a button that can't be moved rotated ect.. would be very useful

Post by W!ZARD // Aug 21, 2008, 5:14pm

W!ZARD
Total Posts: 2603
pic
A script that creates a ghost mesh with the current pose on the click of a button that can't be moved rotated ect.. would be very useful


Damn, that's a good idea J90 (Joe?) - even better would be a script that simply mirrored the existing pose at a defined Key Frame - this would mean we would only need to actually pose half the walk cycle and could save a huge amount of time.

Post by trueBlue // Aug 21, 2008, 6:32pm

trueBlue
Total Posts: 1761
pic
I suppose you could just copy your character at a given Keyframe and then adjust it's Render Attributes. You would have to delete the Animation Clip for the copied character.

Post by W!ZARD // Aug 21, 2008, 7:14pm

W!ZARD
Total Posts: 2603
pic
That would work - whatI did was export the 'invisible' attribute from the advanced tab of the Object Render Attributes block to the top level of the model in the LE which allowed me to show and hide the copies with a single click - very handy.

Post by J90 // Aug 21, 2008, 8:30pm

J90
Total Posts: 107
Damn, that's a good idea J90 (Joe?) - even better would be a script that simply mirrored the existing pose at a defined Key Frame - this would mean we would only need to actually pose half the walk cycle and could save a huge amount of time.


Actually it is Jerome.


That would save quite a bit of time.

Either way works.:)

Post by W!ZARD // Aug 22, 2008, 1:21am

W!ZARD
Total Posts: 2603
pic
Actually it is Jerome.


That would save quite a bit of time.

Either way works.:)


OK Jerome - I thought the 'J90' handle might be a reference to the Gerry and Sylvia Anderson British scifi puppet series called Joe 90.:D

Post by Igor K Handel // Aug 22, 2008, 9:36pm

Igor K Handel
Total Posts: 411
pic
Wizard, what's the "lattice" around bob being used for?

Edit. Been playing with Walkatron. Searches on net reckon each foot steps somewhere around once per sec or less. So one comlete leg cycle per 24 frames. This got me thinking. Wouldn't it be nice if the spacing of footsteps in your rig could somehow be typed in a panel and then the sequence of shapes appeared at the correct intervals for this stride length / speed on the ground plane. How that could be done is beyond my LE skills.

Nearly got a nice footroll control set up. Seems to be heavily dependant on a combo of joint limits and putting locks in the right place. Also something funky going on with the ankle rotation when using leg IK. Even with lock children the toe and ball angle in relation to the bottom of the leg, the angle seems to get smaller as the leg raises, but not always. OOH I just thought of something, what if overall leg ik started at the toe but the ball and ankle rotations were locked..Hmm off to try that now!
IK

Post by W!ZARD // Aug 23, 2008, 12:13am

W!ZARD
Total Posts: 2603
pic
Wizard, what's the "lattice" around bob being used for?

IK

Ah yes! The Walkatron 3000 comes with a handy optional extra - The Auto-sightamatic Lattice! :D

It's nothing more than a visual reference - the material I found on walk cycles talked about how the hips sway from side to side and also twist back and forth while the shoulders do the opposite to maintain balance - I made the Lattice simply so I could get a better picture of how much twist and sway to add to the various bones. I also reasoned that once I get sufficiently familiar with walk cycle construction I should be able to dispense with the copying of bones for references and just eyeball the symmetry poses against the Lattice

Post by W!ZARD // Aug 23, 2008, 12:58am

W!ZARD
Total Posts: 2603
pic
Wouldn't it be nice if the spacing of footsteps in your rig could somehow be typed in a panel and then the sequence of shapes appeared at the correct intervals for this stride length / speed on the ground plane. How that could be done is beyond my LE skills.

But wait there's more! I thought of that myself and - as it's also beyond my LE skills - I came up with a fiendishly cunning refinement to the Walkatron 3000 that should easily address the issue of longer strides.

The Object Axis of the Walkatron 3000 is located at the 'start' end so simply scaling the Anim Reference along the Y axis should (I think :o) easily allow for longer or shorter stride lengths.


Additionally, I have my anims set at 25 Frames per second (PAL is the norm in this part of the world) but should someone want to use the 30 FPS rate (or any other rate) then scaling the anim track for the Walk Reference should allow for easy adjustment for any needs. (Note I've not checked any of this out I'm just trying to think ahead).

Post by mrbones // Mar 3, 2009, 9:52pm

mrbones
Total Posts: 1280
pic
Heres some good walk cycle information.

Cheers


http://www.artofillusion.org/docs/walktut/walk_tutorial

and

http://www.awn.com/tooninstitute/lessonplan/walk.htm

Post by mrbones // Mar 3, 2009, 9:53pm

mrbones
Total Posts: 1280
pic
Heres info on run cycle


http://rodri.aniguild.com/tuto_run/run_en.php

Post by mrbones // Mar 3, 2009, 10:15pm

mrbones
Total Posts: 1280
pic
Ive found that using the last frame as the first frame too works well cheers:banana:
Awportals.com is a privately held community resource website dedicated to Active Worlds.
Copyright (c) Mark Randall 2006 - 2021. All Rights Reserved.
Awportals.com   ·   ProLibraries Live   ·   Twitter   ·   LinkedIn