This weekend I didn't do much for dissertation, but I took part in the UCS Global Games Jam 2014 - the first g, I worked with Scott and Diego for our game. The theme was this jam was "We don't see things as they are, we see things as we are" - now beforehand we all decided that this game would be an experimental one, and we ended spending hours on the design.
We got the theme at 19:30 and we ended up finishing it up at 0:00am, but we decided that the game would be played the perspective of a small creature - which we narrowed down to six: fly, spider, mouse, ant, frog and a snail. We researched two creatures each and we narrowed it down to the fly and the spider, we did think about getting both done but that be a lot to refine in 48 so we decided to go with the spider.
The game itself is an exploration game where you would see the world through the eyes of a spider - which was why we had 4 different cameras in the game trying to get it close enough as possible, ofcourse there was no way we could simulate it perfectly in the space between 48 hours, we also decided that we want the player to also feel powerful as well so we decided to have a few interactions within the environment also - knocking over domino's, hitting a golf ball around and just cause chaos.
My role in the production was modelling assets (alongside Scott while Diego did the code), and animate the spider's legs. Now, bearing in mind I am still learning how to animate and build a rig for a human biped character - sorting out the skeleton for the movement was probably the most difficult thing I had done. It's a new anatomy I would have to learn and not to mention the kind of tools you'd need for certain joints - which in 48 hours would be really difficult and the animating of the legs is fine, it wasn't as smooth as it could of been as I didn't use the Graph Editor in the game.
To sum up my experience in the games jam, I really enjoyed it and I am happy with what the team was able to produce. Hopefully in future I can give the spider's animating another try.
Well, this is it for this post: http://globalgamejam.org/2014/games/eye-spider the link to the game as well. Give it a try and see what you all think.
Hopefully I will get to doing more dissertation stuff over the course of the weekend - been spending most of this week doing work on other modules.
Thursday, 30 January 2014
Thursday, 23 January 2014
20th Jan Dissertation Presentation
This post will be about the presentation I had done on the Monday that has just gone. So, for a while, the class knew that we would have to pitch a presentation about what it is we are doing for the presentation, where abouts we are in terms of work at the moment and our plans going forward to ensure that this will get done when it should.
The general response that the presentation was that it wasn't too bad, one of my lecturers said the blog is coming along nicely, organised well and it's going in the right direction. The main thing that was said however was that I have underscoped what it was I wanted to produce as a final product. A few blog posts back I spoke about how what it is I want to do for the final product is will be a cycle of movement that would be spanned over 2 seconds - so, all that for a whole year's worth of work, which thinking over it would look really bad.
But I am in luck however as another lecturer, Dave, said that he is up for meeting Friday morning to discuss and talk about what would be much more substantial for an end product. To be honest, I am happy about it - I would rather be told that I have too add things to it than be told I have too much to do and would be better scaling down.
As far as how I felt I presented, I thought that I was able to present pretty good - I like to think that I have improved with how I am able to conduct myself when presenting. I am usually told I do speak quite quiet and fast sometimes but I felt that I was able to project my voice in a clear and loud enough manner. I did however felt that some of the slides could have had a bit more information on them but I was able to expand on those vague points enough.
I also did point out that I tend to have a habit of not posting on my blog as soon as I have done something regarding dissertation. I remember taking notes from last semester and I had completely forgot about them until a couple of weeks ago or so, even with this post, so I will try to keep on top of all the updates that I do going forward and hopefully this won't happen again.
Hopefully by tomorrow I will have a post going forward about what the final product will be.
The general response that the presentation was that it wasn't too bad, one of my lecturers said the blog is coming along nicely, organised well and it's going in the right direction. The main thing that was said however was that I have underscoped what it was I wanted to produce as a final product. A few blog posts back I spoke about how what it is I want to do for the final product is will be a cycle of movement that would be spanned over 2 seconds - so, all that for a whole year's worth of work, which thinking over it would look really bad.
But I am in luck however as another lecturer, Dave, said that he is up for meeting Friday morning to discuss and talk about what would be much more substantial for an end product. To be honest, I am happy about it - I would rather be told that I have too add things to it than be told I have too much to do and would be better scaling down.
As far as how I felt I presented, I thought that I was able to present pretty good - I like to think that I have improved with how I am able to conduct myself when presenting. I am usually told I do speak quite quiet and fast sometimes but I felt that I was able to project my voice in a clear and loud enough manner. I did however felt that some of the slides could have had a bit more information on them but I was able to expand on those vague points enough.
I also did point out that I tend to have a habit of not posting on my blog as soon as I have done something regarding dissertation. I remember taking notes from last semester and I had completely forgot about them until a couple of weeks ago or so, even with this post, so I will try to keep on top of all the updates that I do going forward and hopefully this won't happen again.
Hopefully by tomorrow I will have a post going forward about what the final product will be.
Mess Around 1
In this post, I will talk about a couple of bits and pieces I done with animating and my experience with the graph editor. As this is the first time I am getting back into using Maya, I decided to do a simple animating of a bouncing ball. May not be human animating practise but, any practise is good practise.
So, I won't go into too much detail about animating the bouncing but I will admit that the Auto Key function (which sets Keys on the timeline once you have declared which values you're animating) was good help.
So, to sum up what the graph editor is: it's basically a visual representation of what what's been animated on the timeline of an object. The black dots in the graph editor represent the keys are in the timeline - each key shows where a specific action ends. So, the line going in an arc is Translate Y curve - so, where the object has reaches the peak of it's height and then descends. The rest of the lines going down at the bottom are the values of where the object has been scaled to help give it that bounce look (squashed and stretched).
While it is used to help refine your animations to make them more convincing I figured that for the sake of this post - I'd thought that it would be a bit more interesting to play about with some of the values. So, while the arc that's Translate Y has remained the same, other lines such as the Scale Z have been heavily tampered with - so from the frame 8, the ball will expand from the Z axis to the value of about 9, will result in the ball being stretched out more than it did originally.
That's pretty much it for the post, I just thought it would be good to share some small bits and pieces - they will be more to come once I do more of this kind of thing. Until then.
So, I won't go into too much detail about animating the bouncing but I will admit that the Auto Key function (which sets Keys on the timeline once you have declared which values you're animating) was good help.
![]() |
| Screenshot of the scene and the Graph Editor |
![]() |
| A screenshot of the Graph Editor after I messed about with some of the values |
![]() |
| A screenshot of what the ball looks like now at Frame 8 |
Bits and Pieces I have learned 1
Every now and then I will start posting some bits and pieces that I have picked from The Art of Rigging that was given to me to help get a good start. It is definitely helping me get a rough idea how the rig will be built by the time I get round to building them.
First thing I want to post about is the hierarchy (which can be accessed through the Hypergraph)
So, this is the Hypergraph Hierarchy, this would have all your assets within the environment in here - most cases not grouped together. So, from the picture you can see that Joints 1 through 5 that Joint 1 is the Parent of Joints 2 through 5. Which would mean you move that joint, then all the other joints will move within it). Joint 6 is on it's not, not associated with the other joints.
But by simply holding middle click and dragging Joint 1 over Joint 6 - the result will be that now Joint 6 is now the parent of Joints 1 through 5. This can be useful for in the instance I remember that a joint is needed somewhere else.
I also learned another neat trick which was mirroring the joints. This is handy for when you have a chain of joints that are the same (arms or legs) and it's an efficient way of make sure that . There are two functions to choose from mirroring joints in a rig - those are either the Behaviour or the Orientations.
Behaviour: with this option, the joints are mirrored to have the opposite orientation as the original as well as the opposite local rotation axis of each joint. Good for animating opposing movements in a pair of counterpart limbs.
Orientation: using this function for mirroring will mean that the mirrored joints will have the same orientation as the original joints. This is handy for animating limbs that are turning in the same direction.
That is all for this post so far, but there'll be more posts about this stuff to come soon.
First thing I want to post about is the hierarchy (which can be accessed through the Hypergraph)
![]() |
| A screenshot of the joints in the scene in the Hypergraph Hierarchy |
So, this is the Hypergraph Hierarchy, this would have all your assets within the environment in here - most cases not grouped together. So, from the picture you can see that Joints 1 through 5 that Joint 1 is the Parent of Joints 2 through 5. Which would mean you move that joint, then all the other joints will move within it). Joint 6 is on it's not, not associated with the other joints.
![]() |
| A screenshot of Joint 6 now being the Parent of Joints 1 - 5 |
But by simply holding middle click and dragging Joint 1 over Joint 6 - the result will be that now Joint 6 is now the parent of Joints 1 through 5. This can be useful for in the instance I remember that a joint is needed somewhere else.
I also learned another neat trick which was mirroring the joints. This is handy for when you have a chain of joints that are the same (arms or legs) and it's an efficient way of make sure that . There are two functions to choose from mirroring joints in a rig - those are either the Behaviour or the Orientations.
Behaviour: with this option, the joints are mirrored to have the opposite orientation as the original as well as the opposite local rotation axis of each joint. Good for animating opposing movements in a pair of counterpart limbs.
Orientation: using this function for mirroring will mean that the mirrored joints will have the same orientation as the original joints. This is handy for animating limbs that are turning in the same direction.
![]() |
| A screenshot of mirrored joints |
Wednesday, 22 January 2014
Gamasutra - Three-Axis Animation
This post will be on the notes I took on an article from Gamasutra on Three Axis Animation written by Jean-Michel Ringuet.
So, animating within 3D is pretty close to reproducing a realistic motion, 3D itself implies a world that obeys the same laws and physics as our - a world that is truly believable.
Gravity is the key here, it's the force that affects any movement within any universe to make it believable, the creation of a force is the basis for a motion in a 3D Space. With this mind, characters beed ti have a force that counterbalances the effects of gravity everytime you want to move it.
The example from the article:
If you have a standing character going from point A to B - there's two ways to solve the problem:
1. You can select the mesh of the character, or the center of gravity, and move it from A to B. The outcome is that you've created an artificial force that allows you to move the body
2. You can create motions, or forces, that will move the center of gravity from A to B. This is done by replicating the way a body moves in the real world.
Solution One: you are creating the illusion of movement.
Solution Two: illustrates a true comprehension and reproduction of the physical laws to create a movement.
Understanding how gravity is sued to creating movement is the first rule of the three-axis animation.
Every move starts out of balance and then by the end of the movement it's regained balance before falling down. The center of gravity is usually the first bone (or the root joint) of any character skeleton. The body is in balance when you can trace a vertical line from the pit of the neck to the ankle of the supporting foot. If the line isn't perfectly aligned then the body is not in balance.
Every movement makes a rotation of several rigid bones around articulations. on the other hand, in game animation's - there is NO flexibility at all in the skeleton. The muscles are built over the skeleton, their function is to create the motion of the rigid parts, muscle also creates force.
In the human walk cycle (the example used in the article):
- The first movement is the rotation of the right leg around the hipbone - lifting the right foot in front of the body.
- Trying to do this with your thigh muscles will result in your right foot sliding across the floor.
While there is nothing wrong this but sliding the foot requires more effort - you'll also be out of balance. Shifting your hipbone lifts your right foot up.
Tilting the hipbone has two affects:
1. It makes your right leg higher than the left - this allows rotation forward without your right foot sliding across the floor.
2. It makes the center of gravity to your left leg.
This then produces a different in-balance between the upper and lower parts of the body.
In this instance you'd have one part of your lower body higher than the other - the upper body has to compensate for that. This is the reason for why we tilt our shoulders in the opposite direction of the hips. We even tilt our head slightly to stay level with the ground.
Even though this may look simple in a 3D program - int he sense you'd just rotate one object around each pivot point, it actually requires rotations on many other parts of the skeleton. Understanding this, you'll start to understand the principle of three-axis animation: EVERY PART OF THE BODY HAS TO MOVE IN THE THREE DIMENSIONS TO CREATE A REALISTIC MOVEMENT.
This pretty much sums up the key points I took away from this article, thought it was really informative and when you look back at the example with the human walk cycle it really does get you thinking about it all and how it all makes sense after a while. I look forward to putting these notes into my own animations soon.
So, animating within 3D is pretty close to reproducing a realistic motion, 3D itself implies a world that obeys the same laws and physics as our - a world that is truly believable.
Gravity is the key here, it's the force that affects any movement within any universe to make it believable, the creation of a force is the basis for a motion in a 3D Space. With this mind, characters beed ti have a force that counterbalances the effects of gravity everytime you want to move it.
The example from the article:
If you have a standing character going from point A to B - there's two ways to solve the problem:
1. You can select the mesh of the character, or the center of gravity, and move it from A to B. The outcome is that you've created an artificial force that allows you to move the body
2. You can create motions, or forces, that will move the center of gravity from A to B. This is done by replicating the way a body moves in the real world.
Solution One: you are creating the illusion of movement.
Solution Two: illustrates a true comprehension and reproduction of the physical laws to create a movement.
Understanding how gravity is sued to creating movement is the first rule of the three-axis animation.
Every move starts out of balance and then by the end of the movement it's regained balance before falling down. The center of gravity is usually the first bone (or the root joint) of any character skeleton. The body is in balance when you can trace a vertical line from the pit of the neck to the ankle of the supporting foot. If the line isn't perfectly aligned then the body is not in balance.
![]() |
| This image helps emphasize the point of the paragraph above |
Every movement makes a rotation of several rigid bones around articulations. on the other hand, in game animation's - there is NO flexibility at all in the skeleton. The muscles are built over the skeleton, their function is to create the motion of the rigid parts, muscle also creates force.
In the human walk cycle (the example used in the article):
- The first movement is the rotation of the right leg around the hipbone - lifting the right foot in front of the body.
- Trying to do this with your thigh muscles will result in your right foot sliding across the floor.
While there is nothing wrong this but sliding the foot requires more effort - you'll also be out of balance. Shifting your hipbone lifts your right foot up.
Tilting the hipbone has two affects:
1. It makes your right leg higher than the left - this allows rotation forward without your right foot sliding across the floor.
2. It makes the center of gravity to your left leg.
This then produces a different in-balance between the upper and lower parts of the body.
In this instance you'd have one part of your lower body higher than the other - the upper body has to compensate for that. This is the reason for why we tilt our shoulders in the opposite direction of the hips. We even tilt our head slightly to stay level with the ground.
Even though this may look simple in a 3D program - int he sense you'd just rotate one object around each pivot point, it actually requires rotations on many other parts of the skeleton. Understanding this, you'll start to understand the principle of three-axis animation: EVERY PART OF THE BODY HAS TO MOVE IN THE THREE DIMENSIONS TO CREATE A REALISTIC MOVEMENT.
This pretty much sums up the key points I took away from this article, thought it was really informative and when you look back at the example with the human walk cycle it really does get you thinking about it all and how it all makes sense after a while. I look forward to putting these notes into my own animations soon.
Friday, 10 January 2014
A Minor Change
This post is about a small change with the end product of my dissertation. It dates back to the Monday just gone where I was talking with my Mentor, he was showing me some stuff in Maya 2014 and talk of what I am going to have my character animate came up. It was originally going to be my character doing a kip-up, running then slowing down - doable by all means, but maybe not the sort of thing I should be doing. After discussing it more and more, I came to the conclusion that maybe animating all that for this purpose may not be the best idea, however, doing an animation of a character doing a single action that is animated and it's finished to a high and polish standard would be best, it's not only to give myself a little leeway, but it's also taking into account that I am still learning all this and rather than have something that is "half arsed", I can have something done that I can be proud of.
It's really nothing drastic, the stuff I am getting marked on is going to be the same, it's just what the final product more scaled down.
It's really nothing drastic, the stuff I am getting marked on is going to be the same, it's just what the final product more scaled down.
Sunday, 5 January 2014
Chapter 6: Gimbal Lock
This is the sixth chapter of How To Cheat in Maya 2012. This chapter will talk about a common problem quite a few animators run into, Gimbal Lock.
Before I go into it from the notes I got from the chapter on ways how to avoid it, I will give a brief outline of what it is Gimbal Lock happens in anything that can rotate on all three axis - this happens in all 3D software. It's the result of mathematical calculations when using Euler (pronounced as "oiler") interpolations.
Maya has other rotation solutions available that won't Gimbal Lock (called Quaternion) - but works different and therefore the Graph Editor no longer makes visual sense of what is on screen, so Euler rotations are used if we want to use splines in any capacity whatsoever.
For the rotation within the axis to be mathematically possible with a manipulator, there must be a hierarchical order to them.
Anything can rotate in X, Y and Z within Maya has rotation. The axis can be set in any combination of the three axes - the last axis is the top of the hierarchy:
If the rotation was any different (I.E. Rotation order: ZYX) the principles would be the same.
Before I go into it from the notes I got from the chapter on ways how to avoid it, I will give a brief outline of what it is Gimbal Lock happens in anything that can rotate on all three axis - this happens in all 3D software. It's the result of mathematical calculations when using Euler (pronounced as "oiler") interpolations.
Maya has other rotation solutions available that won't Gimbal Lock (called Quaternion) - but works different and therefore the Graph Editor no longer makes visual sense of what is on screen, so Euler rotations are used if we want to use splines in any capacity whatsoever.
For the rotation within the axis to be mathematically possible with a manipulator, there must be a hierarchical order to them.
Anything can rotate in X, Y and Z within Maya has rotation. The axis can be set in any combination of the three axes - the last axis is the top of the hierarchy:
ROTATION ORDER: XYZ
Hierarchy starts with the last axis
Hierarchy starts with the last axis
- X is the child of Y, Y is the child of Z. The last axis will always rotate the other two wih it as if they were in one piece:
Z AXIS AFFECTS X AND Y
- Rotating the Middle axis brings the first axis with it as if they were a single piece
Y AFFECTS X - Rotation the first will only affect that one
If the rotation was any different (I.E. Rotation order: ZYX) the principles would be the same.
Rotation Modes
Three rotation modes:
Gimbal: shows how the rotations happening, it's technically consider the only "real" mode.
Local: this mode rotates all three of the axis together so it appears that your rotations are always lined up. This is the default and it's useful once you understand what's going on.
World: keeps the axis oriented to the world space. It's not really used for animating unless there's's no east way to get what you need.
It's good switching between the three modes as it helps with your work flow as long as you remember what you mode does what.
Setting Rotation Order
The best way to combat Gimbal Lock is to set the rotation orders of any three axis controlled. Figuring out the rotation order depends on what you need to do in your animation. When analyzing the movement you're going to animate, looking at the movement to figure out what axis is rotated the furthest, the axis that is the least and the base you choose off of that is a good idea.
Zeroing Out Poses
The best way to guarantee that gimbal lock has a minimal chance to happen is zeroing out your poses when blocking. When the rotations keep picking up from the previous ones when posing, the values accumulate inefficiently over time. When you zero out poses, you start a new poses by setting the three-axis controllers back to zero, by doing this you make sure you are not up stacking up the rotations on top of each other, and it also means Maya can interpolate between keys much more efficiently.
This sums it up for my posts on How To Cheat in Maya 2012, very good book that gave me a lot of tips to consider, I was originally a bit put down by the fact it wasn't for the 2014 version of Maya but as I researched and said in an earlier post - there really isn't much difference in each iteration of the software. it is most definitely a book I will use again in future.
Chapter 4 - Techniques
This is the fourth chapter of How To Cheat in Maya 2012 - this chapter will talk about a techniques that are used throughout the animation process.
The Auto Key (when it's set) will automatically create another key on the timeline automatically as king as you have defined the values you want to animate.
It spoke about techniques used within the timeline. The timeline itself is an important asset you will use much more than anything else when animating in Maya (next to the Graph Editor). However, the timeline is used for more than just scrubbing the timeline.
Figure 8 Motion
Figure 8 Motion is simply an arc where side-to-side movement is offset from the up-and-down movement.
Copying a curve works really well for taking a curve that has similar transitions.
IK/FK
FK (Forward Kinematics): how the body works in in real life. The position of the hand (or the foot) solely depends on the joints that lead up to it are, works very well with walk cycles and gesturing.
IK (Inverse Kinematics): instead of relying on the position of the joints to determine the position of the hand (or foot), they are positioned on it's own and the system will figure out the rest.
It's also worth noting that it is important to know when you have to switch between using IK and FK.
Character Sets are all the attributes of the model you are going to animate grouped together in a node that makes it easier for animating objects together.
Another post is too follow.
The Auto Key (when it's set) will automatically create another key on the timeline automatically as king as you have defined the values you want to animate.
It spoke about techniques used within the timeline. The timeline itself is an important asset you will use much more than anything else when animating in Maya (next to the Graph Editor). However, the timeline is used for more than just scrubbing the timeline.
Figure 8 Motion
Figure 8 Motion is simply an arc where side-to-side movement is offset from the up-and-down movement.
Copying a curve works really well for taking a curve that has similar transitions.
IK/FK
FK (Forward Kinematics): how the body works in in real life. The position of the hand (or the foot) solely depends on the joints that lead up to it are, works very well with walk cycles and gesturing.
IK (Inverse Kinematics): instead of relying on the position of the joints to determine the position of the hand (or foot), they are positioned on it's own and the system will figure out the rest.
It's also worth noting that it is important to know when you have to switch between using IK and FK.
Character Sets are all the attributes of the model you are going to animate grouped together in a node that makes it easier for animating objects together.
Another post is too follow.
How To Cheat in Maya 2012 - Chapter 3 - Graph Editor Windup
This is a book I requested out from another library a while back, I did ask for 2014 book but this was the only one they had, and also from the research I have done there isn't much difference between the versions of Maya.
Well, this is it for this post, more to come.
Chapter 1 in the book talks about the principles of animation, which I covered in an earlier blog post.
Chapter 3: Graph Editor Windup
This chapter talks about the basics of the graph editor. The graph editor allows you to type exact values, search for keys that are amiss, compare drastically different curves or isolate specific stuff. In edition to the visual advantages - you can also work within keys that are not available in the timeline.
The Add Key Tool allows you to click keys where you need them and easily create a curve that can be tweaked for the results we want. When doing this however, it is created in Maya Default tangent do altering takes up unnecessary time. Maya offers an Insert Key Tool, this can be called upon at any time.
Maya 2012 offers a new region tool, this is an upgrade over the lattice Deform Keys tool. New region keys allow you to edit more keys in a more intuitive way.
Value Operations
The value operations are the following:
+=value Add
-= value Subtract
*= value Multiply
/= value Divide
Using these value operators - you can get results faster without clicking on and manipulating tools.
Buffer curves offer you two different versions of any curve and it switches between the two instantly, this is much better than saving two different files of the same thing.
Well, this is it for this post, more to come.
Subscribe to:
Comments (Atom)







