I had to fix the walk, it just seemed out of place for the character. So I decided to have a look at the walks chapter from the Animator's Survival Kit and came across exactly what I was hoping to find.
It mentioned that the differences between Males and Females. While males have more up and down movement in their walks, females have the complete opposite. Aside from the lack of up and down movement in their steps: the have more movement in their hips and their feet go inwards when they put their feet down (partly due to if they're wearing dresses then it restricts the movement somewhat). The chapter compared it to walking on a tight rope - where you have your feet moving inwards with every step to stay on the rope so you don't fall. I also used a video from a YouTube channel called Endless Reference that was given to me by a course mate in the year below and it has a lot of footage for things such as walks, runs, and other exciting actions. Here's a link to the video I used as reference for remedying the walk. (Click here.)
From the video it had exactly what was said in the Animator's Survival Kit - more prominent hip movement and lack of up and down movement as well as the feet going in similar to walking on a tightrope.
Despite reading about it, I didn't have the feet move in front after every step - got everything else done except that. I also didn't loop it either as there was an issue with one of the frames - in fact, at one point it just did all the movements bar the small up or just the up and down movement with the arms and everything else moving.
. . . . . .
This is the final product. I won't lie when I say that I am disappointed with it, but I do feel this is something to look back on and learn from so that next time I can then do this again and produce something I can fully be proud of, despite those feelings - I don't think it's too bad, but it could be a lot better. The main thing I am dissapointed with was that all the research and blog posts for a whole year and this is all I have to show for it that was considered decent for the hand in - though as I mentioned earlier, it's something I can look back at and learn from for the future. It won't deter me from practicing all this stuff in future, truth is I am actually looking forward to learning more about animation and character set up.
I did a variety of batch renders of the walk from different angles, batch rendering is when you render a bunch of frames as images, and then once that's done you put it into a movie editing software to put the images in and then create the video from those.
So the angles I done were: perspective, side, and front.
Here is the result:
Friday, 23 May 2014
First Walk Animation Attempt
This was the next animation I
tried to do, this was just going to be a simple walk - seeing as walks are important within
animation, it made sense to see if I can get this done for the project. Here
was how it turned out.
I thought I managed to get the up
and down movement moving well and in-sync as well as the placement of the feet.
Despite getting the placement right of what limbs should be where – it didn’t
look right. It turned out that for a female character I was giving her a walk
that would be on a male character. Here is what I got done for the animation –
it was scrapped, but I figured it’d be good to show you what I did and the next
post will explain to you how I remedied this.
Jump Animation
After the first failure of an idle animation, I tried my luck in doing a Jump Animation. The character would be jumping onto a surface, to give myself a bit of a guideline for it, Dominic thought it be best if he recorded me doing that action as it would be something to study as a guide line for the key poses (apologizes to the lecturers in advance for the video - it was purely for study purposes).
I studied the part of the video that was in slow motion. From the video there, the key poses I had to make sure were perfect was the start (0:04), to the bend half where my arms where down (0:05), to the where my body no longer goes down (0:07), the part to where my body now stretches up-right along with my foot coming off the group and on the ball of my foot (0:09), (0:10) my body in the air and my feet tucking up more - so my legs don't hit the table, and finally the contact as I land on the table (0:11) feet are firmly planted and I lean my body forward slightly to shift the weight from the back to the front - which'll mean I don't fall backwards off the table.
Now I had the key actions needed, I had to get to creating the animation itself. This didn't turn out well also - there main issue I had was the arms - it could of been how they were rigged or how well (or badly) I did the influences for those parts of the arms but when I moved the shoulders and rotated them some of the mesh comes out (Fig 1) - I would of switched to IK for the arms but with the issue that I spoke about in a couple of posts not resolved (but worked around) - couldn't risk it so it meant that the arms are just dangling at the side - which is a shame as you saw in the video above the arms' movement do play a key role in it as well and would of given it more life. I will embed the video in this post now.
Another reason for the failure was that I didn't bend the top part of the body more, and here's a picture to show why I didn't (Fig 2).
| Fig 2: Bend Issue |
The back bends awkwardly and you can also see that at the buttock area that the mesh moves where it's not supposed too. and moving the lower back control gives it a really awkward hump when it's in this position. (Fig 3)
| Fig 3: Awkward hump at the lower back when I move the control that affects that area |
So, from the video of the character, you can see that the back is too straight and it looks a bit like a frog jumping more than it does an actual person.
It seems more to do with issues with the set up of the character more than anything, especially for things such as this - here's hoping the walk attempt pans out much better than the previous two attempts.
Idle Animation Attempt
This is the first of a few posts about the animations I did (or for the most part, attempted) to create. I tried to do at least three animations I could be proud of but unfortunately only got to submit one that was the best out of the lot. (Note, the blogs were created but the videos weren't - updated that recently)
While the others were not submitted - I do want to share with you my attempts on how I tried to get to grips with this process. Remember that this blog is just as much about my learning throughout this journey of gaining knowledge for animation.
So, the first thing I tried to do was create an Idle animation (or an animation for a character who would do an action when left for a long time). I wanted to convey that the character was nervous and shy. I found an image on-line that showed body language (click here for full image).
| Fig 1: taken from the image available in the hyperlink above |
(Fig 1) Picture above is taken from an image I found on deviant art and it depicts a character coming across shy. First thing that comes to mind is that the body is all hunched up together - shoulders are quite high up, the head is facing downwards, and her feet are pointing inwards.
I tried to do something that tried to give off the impression that my character was shy, but I wanted to add some movement to eat otherwise it'd be just standing there. So my thought process was observations I saw people do when they were shy or nervous. First thing that came to mind was the head - avoiding eye contact any time they could so I had my character have her head more over and over, I then thought maybe shifting the hips from side to side will give the character more life, and have the shoulder move up and down. The problem with this and the reason why it turned out to be a failure was because that instead of looking nervous and shy - it looked more like a dance more than anything and the legs didn't turn out that well either - they slide across the floor near the end..
I figured it be a good idea to put embed the video into the post - this way you can see just where I am getting at.
The thought was there but I realized that this is kind of going away from what I set out to do - if I wanted to look into body language and such I would of set out to do so at the beginning. Either way it's still stuff to blog about.
Binding Process: Set Up #11 - Paint Weights Tool
This tool allows you to go paint
the weights in manually on your model – which means you can determine if a
joint as a little influence, maxium influence or no influence for certain
joints. This was my more preferred method in comparison to using the Component Editor I spoke about in an earlier post.
| Fig 1: The hierarchy in the Paint Weights Tool |
When in the Paint Weights Tool, the important bit I had to remember the three colours that were visible when I selected a joint within the hierarchy: Black, White, and Grey (Fig 2).
| Fig 2: The colours used to represent the influence |
- Black = no influence
- Grey = partial influence
- White = maxium influence
| Fig 3: Paint Weights expanded |
Replace will replace any part of influence on the mesh with the value that it is set. Works well
Smooth is used for parts of the mesh where certain vertices bend into each other. This proved particularly useful for the part of the mesh that's at the back of the knees.
| Fig 4: Smooth Paint weight is used for the bend at the back of the knee. |
I would of liked to go on more about the set up part of the binding process, but I feel as if I have covered more than enough on the technical side of the process, now to the animating.
Binding Process :Set Up #10 - Component Editor
I am not going to go into every single bit about the skinning process - I will explain the two techniques I used and where they came in use.
Now that the rigging was complete, there was just the issue of binding the rig to the model. But once that was done I had to fix the influences of the model. I won’t go into too much detail about these process as there is still lots more I want to talk about, but I will go over the main bits of this process that gave me a lot of trouble to deal as well as the two main techniques I found useful for this.
Now that the rigging was complete, there was just the issue of binding the rig to the model. But once that was done I had to fix the influences of the model. I won’t go into too much detail about these process as there is still lots more I want to talk about, but I will go over the main bits of this process that gave me a lot of trouble to deal as well as the two main techniques I found useful for this.
The first technique I used was using the Component Editor.
| Fig 1: Component Editor (Dope Sheet) with the vertices selected and the joints that influence those points |
(Fig 1) When you select the vertex (or
vertices) on a model, and open up this window, you shown with all the joints in
your rig in the form of a spreadsheet, with this you see at what points where
moving the joints in where the selected vertices are influence other places
that should not be affected at all. It is also known as Dope Sheet Editing
(spoke about briefly here).
I didn’t really use this method
of editing the influences too much – I only really used it for fixing the
problem with the legs. I selected the vertices on the left leg and opened up
the component editor and noticed from the sheet that there was a little bit of
influence that was being carried over to the opposite leg whenever I moved it –
so, all I did was highlight of the values in the leg opposite and then pressed
0 – this changed all it’s values to 0, which meant now that when and if I move that
leg, then the leg next to it wasn't affected (Figs 2 and 3).
| Fig 2: Columns now changed to 0 - meaning no influence when I move the left leg in those areas. |
| Fig 3: I now can move the left leg without the opposite foot and ankle moving with it. |
I didn't really use this way for
tweaking influences as much - it's good for zeroing out on certain limps and it was nice to look use something that I did read about earlier on.
Set Up #9 - IK/FK Switch for Arms Issue
This messed up quite a bit - I don't know how it messed up, and I don't know why it did, but it went horribly wrong.
This post would of spoken about the creating switch to allow the arms to go from Inverse Kinematics (IK) to Forward Kinematics (FK). While it ended up as failure - I still want to share with you what I did and how it would of worked if it went smoothly.
So, the first thing I did was duplicate the Wrist Control wrist twice, I then snapped those curves to the shoulder joint and the elbow joint of the arm. Once they were positioned (Fig 1) - I froze the transformations and named them as the following:
I then proceeded to add a Point Constraint to those points and then I added an Orient Constraint. The problem now that while the controls were set up - I could not move them. This was because the I needed to switch the joints from IK Mode to FK Mode. If you click the IK Handle there is a value that's called ik_Blend and that's the value that'll be used for another Set Driven Key. I had to create another attribute on the wrist control curve and called it ik_fk Blend - and this will be the driver attribute I used for this Driven Key.
After this was all set up I clicked on the visibility values in the driven as this will be what is affected and hit key, the issue that came up was something I couldn't fix but had to work around, but when I set the joints to FK and then IK - nothing moved at all. I spent a good hour trying to figure out what and where went wrong and I couldn't fix it so I re-opened a version previous and create the switch without testing it after moving it into FK mode.
That was it for the rig set up, now it's time for the skinning techniques.
This post would of spoken about the creating switch to allow the arms to go from Inverse Kinematics (IK) to Forward Kinematics (FK). While it ended up as failure - I still want to share with you what I did and how it would of worked if it went smoothly.
So, the first thing I did was duplicate the Wrist Control wrist twice, I then snapped those curves to the shoulder joint and the elbow joint of the arm. Once they were positioned (Fig 1) - I froze the transformations and named them as the following:
- shoulderFKControl
- wristFKControl
| Fig 1: Highlighted curves for each arm, appropriately named |
I then proceeded to add a Point Constraint to those points and then I added an Orient Constraint. The problem now that while the controls were set up - I could not move them. This was because the I needed to switch the joints from IK Mode to FK Mode. If you click the IK Handle there is a value that's called ik_Blend and that's the value that'll be used for another Set Driven Key. I had to create another attribute on the wrist control curve and called it ik_fk Blend - and this will be the driver attribute I used for this Driven Key.
After this was all set up I clicked on the visibility values in the driven as this will be what is affected and hit key, the issue that came up was something I couldn't fix but had to work around, but when I set the joints to FK and then IK - nothing moved at all. I spent a good hour trying to figure out what and where went wrong and I couldn't fix it so I re-opened a version previous and create the switch without testing it after moving it into FK mode.
That was it for the rig set up, now it's time for the skinning techniques.
Thursday, 22 May 2014
Set Up #8 Arm Placement
This next post will talk about the placement for the arm joints. I did have to research a little bit about some placement of bones in the arms. I learnt that the actual name for the Collar Bone is actually called a Clavicle and what that does is that in some models it acts as the shoulder. It acts as a strut for the shoulder - allowing the arm to move away from the body.
With that in mind, I decided to get started on the joints for the arm (Fig 1).
| Fig 1: Image of the left clavicle. The red circle shows the placement of the joint. |
| Fig 2: The Joint placements in the left arm |
| Fig 2.2: Joint placements in the left arm, top perspective |
The rest of the joint placements are as followed, leftClavicle, leftShoulder, leftElbow and leftWrist. For what it's worth, I did create a joint called leftForearm (Fig 2 and 2.2). The main reason for this was that I tried to create some sort of twist you see when you rotate your wrist. Essentially you'd add an expression to the wrist that would rotate the forearm by x amount (I can't remember the equation you use for it) but I attempted it the exact same way it was supposed too but it didn't work, eventually I figured it would be best to leave that out.
Now that was done, I had to create the IK handles within the arm. I used a IK Rotate-Plan Solver from joints leftClavicle to the leftShoulder. The next Rotator-Plan Solver is for the leftShoulder to the leftForearm. There was a little trick that I learned that allowed me to keep the wrist as FK but move the effector from the forearm to the wrist joint.
![]() |
| Fig 3: Hypergraph of the IK Handle |
I selected the IK Handle on the forearm joint and clicked on the Hypergraph window that showed me the IK Handle selected as well as three other boxes (Fig 3). The one with the greyed out writing is the the effector of the IK Handle. Clicking on that, press W for the move tool and then hit Insert will move let you move the effector - which should allow you to move the effector to the wrist joint (Fig 4).
| Fig 4: The effector now moved to it's new location; the wrist. |
That's it for this post, next will be a relaivately big post talking about the final controls for the arm and an attempt of an IK/FK switch.
Set Up #7 Neck Control
This short post will be about the neck control I set up that will allow me to move the neck joint on the rig.
First thing I did was unparent the original neck joint (Fig 1) and renamed that back4 and in it's place I create a new joint called neck (Fig 2).
The next step was now creating the neck control, for this I created a NURB circle and positioned it about the chin.
I then zeroed out the curve by freezing the transformations on it thereby making the position in the image above (Fig 3).
Neck is to create a point constraint on the curve to the joint, which then allows me to have some sort of head movement at the moment (Fig 4). A problem I face now is that when I move the curve for the chest - the head and neck rotate with it, I then selected the joint and then the curve and added an Orient Constraint. What this now does is not only keep the head in check when I rotate the chest curve - but I can also rotate the head up and down (Figs 5 and 6).
| Fig 1: Original joints unparented, new joint now in between. |
| Fig 2: new joint now parented - complete with IK Rotate-Plan Solver |
| Fig 3: Neck Control positioned around the chin. |
| Fig 4: Point Constraint added, there is movement for when I move the curve. |
| Fig 5: The Orient Constraint rotate the chestControl now means the head joint no longer rotates with it. |
| Fig 6: The Orient Constraint also allows me to rotate the curve to make the head joint rotate. |
Set Up #6 Body Controls
Now going to talk about the controls I created to use for the Spline controls for the rig. In the last post I created clusters for the Neck, Chest, Abs and Hips. I will now be creating the controls so that I won't have to click on the clusters the clusters to affect the joints.
Before I could do any of that, I had to re-position the placement of where the clusters effect the IK Spline. I selected the Cluster, then pressed Insert on the keyboard - what this does is allow me to move the pivot point on anything in the scene.
The pivot point for the:
- clusterNeck: did not need to be moved. That was/needed to be at the neck joint.
- clusterChest: the pivot point needed to be moved to back3.
- clusterAbs: stayed where it was.
- clusterHips: positioned to the hip joint.
| Fig 1: The curve mainly used for the body controls. |
For the controls for the chest, hips and abs - I used a circle curve and then held V to snap it to the receptive joints (Fig 1).
| Fig 2: The curves positioned. |
Once that was created, I then froze the transformations of all the curves so that the positioning of all those controls will now be where they were now aligned too (Fig 2). I decided to use a different kind of control for the curve for the hip control (the square) - I also had to click Insert on the keyboard to allow Maya to let me move the pivot point of the hip control to the root joint of the skeleton; this is to allow up and down movement for the model. and for the back control - I created a double sided arrow that is located at the back of the model. I moved the pivot point of the top of the IK Spline chain (Fig 3). Now that the controls where ready, it was just a process constraining these curves to the Clusters (the little C's). (Figs 4 - 7)
| Fig 3: Pivot Point for the Back Control is now moved forward to the top of the neck joint. |
| Fig 4: Back Control moves what it's supposed too. |
| Fig 5: Chest Control moves what it's supposed too. |
| Fig 6: Abs Control moves what it's supposed too. |
| Figs 7: Hip Sway Control moves what it's supposed too. |
Now that these are all constrained properly, I can now hide those Clusters, to do this - I created a new layer called NO_ENTRY. I then moved those Clusters inside the layer and then clicked on the V to make them no longer visible (Figs 8 and 9).
| Fig 8: The layers for the rig - will go into more detail about this in a later post. |
| Fig 9: Clusters now not visible and the curves in places - controls are now fully functional. |
To finish off this part of the process, all I had to do is parent all these new curves to the hipControl, this now allows me to move these curves up - gives it a bit of up and down movement.
| Fig 10: hipControl does what it's supposed too. |
That's it for this post.
Set Up #5 IK Spline and Clusters
With the feet all set up, it was time to make my way up the body, I created a new set up joints. These joints were named: root, hips, back1, back2, back3, neck, headBase and head (Fig 1).
| Fig 1: New joints added - they are highlighted in Green. |
The Root Joint is located at the crouch area of the area - the this is the joint that will become the parent of the entire rig. I also created a hip joint so I could parent the Hip joints to it (Fig 2).
| Fig 2: the Left and Right hip joints are now connected to the Hip Joints. |
The next step was now to add a different kind of IK Handle, called a IK Spline from the hip joint to the neck joint (Fig 3). It creates a line from those joints and to move it I'd have select vertices that would be created through those points to position those. But with those points I can now create Clusters which will later on be used to help set up the controls for my where those clusters are placed.
| Fig 3: IK Spline from the hip joint to the neck. The line that's highlighted in between the purple joints is the Spline. |
| Fig 4: A vertex that's used to move a point in the spline. |
Once that was done I just had to create the clusters, which was just needing to select the vertex and then click on Create Deformers > Clusters. A little C should then appear, the last bit now just involved me moving all the clusters from in the middle of the spline to just out the spine area (Fig 5).
| Fig 5: The clusters in the new position, ready for their controls. |
Naming conventions for these clusters:
- clusterNeck
- clusterChest
- clusterAbs
- clusterHips
The next step then was to create the controls for those clusters.
Set Up #4 - Set Driven Key (Foot Roll)
I spoke about what Set Driven Keys did and how they are useful for me for my dissertation, I am now going to talk about how I managed to set up the Foot Roll for animation. For those who didn't read the earlier post, this allows me to create an attribute and then do animations within those created values to help myself (or other animators) make certain animations easier.
From what I have seen on most rigs, many of them have various attributes created in their channel editor - Toe Bend, Foot Bend to name a few examples. Although in the tutorial I used for the helping me set up the Group Game Character (and the bases of how I managed to get my Character Set Up ready), it only did the one.
So, first thing I did was create an Attribute for the Foot Control (left and right) called the Foot Roll. When the window loaded up, I did the following (Fig 1):
| Fig 1: The Set Up for the Foot Roll attribute. |
Name: Foot Roll
Keyable
Data Type: Float
Minimum: -10
Maximum: 10
Default: 0
When that was done, clicked okay and it was done. Now I had set up the attribute, I now had to create the Set Driven Key for it.
For this, I would have to select the Foot Control (the curve created in the previous post) and then click Load Driver - as this will be what I select to activate this Driven Key. After that I then selected the Reverse Lock joints I created in the previously and then click Load Driven - reason for this is that these are the joints that are going to be driven when using the Driven Key, these will be what are affected and will then affect the joints that they are parented too (See Fig 2). Simply put, adjusting the value in the driver (Foot Roll Attribute in the Foot Control) will affect the positioning of the driven joints.
Now that was set up and ready, it was time to create it. I then clicked Key. From there I set the Foot Roll attribute to 10, and selected the RLFoot joint and rotated that in Z for 22 (Fig 3).
| Fig 3: Foot Joint rotated 22. in Rotate X with the Foot Roll set to 10. |
| Fig 4: RLToe being designated not to move within Foot Roll when that's before 5. |
| Fig 5: RLToe being rotated in Z to 65 when Foot Roll is set to 10. |
| Fig 6: RLFoot set to 12 when Foot Roll is set at 6 |
| Fig 7: RLFoot rotated in Z at -20 at frame 10. |
I set the Foot Roll attribute to -10, and then rotated it in Z for a value of 35 (Fig 8).
| Fig 8: The final stage for setting up the Foot Roll. Selecting the RLBase and then rotating the base in Z for a value of 35. |
And that is how I set up the Set Driven Key for the Feet. I did this post for only one of the feet, but the process is exactly the same.
Next post will talk about how I got the back of the rig set up.
Tuesday, 20 May 2014
Set up #3: Reverse Lock for feet and Foot Controls
I created a few joints from the ankle to the toes, these would be parented to the already existing joints already in place for the foot - the idea for this is when I go to create the Set Driven Key for the foot (coming up in the next post). These joints are known as Reverse Lock Joints.
At the foot, I created the following joints underneath both feet: RLfootBase > RLtoeLock > RLfootLock > RLankleLock (Fig 1)
| Fig 1: The Reverse Foot Joints underneath the Ankle to Toe Joints on the rig. |
Allow me to explain why the joints are placed in this order: RLfootBase is what will be selelected to move the foot, the joint next in the chain is RLtoeLock which would be used for the Toe joint, the RLfootLock for the foot and the RLankleLock for the ankle - reversed order to how they are set up .
Once this is set up - it's time to parent these to their respective joints, in which all I had to do was select the reverse lock joint and then the joint it will be affecting and then pressing p to Parent (note: depending on the case will determine the action, p will parent and P will unparent).
Once everything was parented up correctly, the reverse foot lock was complete (See Figs 2 - 4).
After I created the Control that would be for the foot, this was then parented to the Reverse Lock Joints that allowed me to affect the joints by selecting this curve (Fig 5).
Then selecting RLBase and then the Control, press p to parent, and now I can move the entire foot by selecting the curve.
The next post will talk about the Set Driven Key I put in place to get the Foot Roll motion for the rig.
Once this is set up - it's time to parent these to their respective joints, in which all I had to do was select the reverse lock joint and then the joint it will be affecting and then pressing p to Parent (note: depending on the case will determine the action, p will parent and P will unparent).
Once everything was parented up correctly, the reverse foot lock was complete (See Figs 2 - 4).
| Fig 2: RLBase moves the whole foot |
| Fig 3: RLToeLock affects the Toe Joint |
| Fig 4: RLFoot affect the Foot Joint |
| Fig 5: The Control Curve that will be connected to the bottom of the foot. |
| Fig 6: Moving the foot by selecting the Foot Control |
The next post will talk about the Set Driven Key I put in place to get the Foot Roll motion for the rig.
Subscribe to:
Comments (Atom)
