Notes on rigging.

Using quaternions to simulate joint articulation and deformation.

Posted in Notes by Charles on April 16th, 2008

So I’ve been looking into using quats to simulate joint rotation and deformation. What I’ve found out is that most joints of a human can fall into two systems: single and double quaternion systems. If a bone system doesn’t twist using its bone like the forearm then it can fall into a single quat system, which dictates just a direction , resolution of the twist happens naturally when two perpendicular axis’ come together at 90 degrees.

If a system has a twist dictated by bones in conjunction with muscle deformation, then one quaternion is needed to dictate the twist space the second ‘deformation’ quat rides on. With this we can say that twist is not only dictated by the resolution of the system it exists in, but by the spin this system dictates. The order of which system drives each space is important.

Another great reel!

Posted in Notes, Reels by Charles on April 7th, 2008

I saw this today, amazingly solid reel. Showing pretty much everything you want in a rig.

http://www.challenge.com.my/lzy/reel/

Busy of late

Posted in Notes by Charles on February 25th, 2008

I’ve been a little bit busy this year. Production on the game im working on is ramping up, and being in charge of a team responsible for all creatures, players and faces working in game can get a little stressful at times! But all good fun.

So anyway, i’ll be updating this more regularily with some more interesting topics such as:

Character rigging paradigm and communicative processes, systems, dynamics, stretchy rigs etc etc.

I’ve also been thinking about attending Siggraph this year - and give some talks. Im still thinking about it - personally I’d be petrified showing a crowd of people my zany ideas!

I also picked up an ipod touch! - to replace my dead old classic ipod. So i’ll be able to read my papers and update this blog more often and on the go.

Shoulder rotation - the constant rotation and reference.

Posted in Gimbal Lock, Math, Movement, Notes, Quaternions, Reference, Relativity, Rigging, Rotations, Transform Spaces, Twist by Charles on October 21st, 2007

A simple problem, with your arm out t-pose palm flat (facing down) do this:

  1. Rotate you arm down to the side, then forward (You’ll notice the bicep faces up)
  2. Now go back to your arm out. Rotate it forward (the bicep will face to the right or left now)

We have an oddity here, and I think it’s one of the founding principles of biomechanical rotation, it ‘resolves’ itself. When two rotations meet the union causes another plane of freedom to be introduced - i.e the top of the bicep will twist 45 degrees with your arm going forward and -45 going backwards. Looking at this from a math perspective its spherical rotation. (a quaternion)This spherical rotation similar to a quaternion is what stops the arm from twisting itself off its joint. The muscles are are treating its ball and socket joint as a spherical rotation or in other words a quaternion. Now this may not seem interesting but this is before there’s been any rotation of the elbow.I.e the twist of the upper arms is brought on by the constant rotation of the shoulder  and its resolution or twist,  is brought on by the rotation of the elbow. This is why it can be hard to get a frame of reference for the twist. I’ll see if i can update this with some pics.

Simple dynamics and clickability!

Posted in Algorithms, Calculus, Character, Dynamics, Math, Matrix, Modularity, Rigging, Transform Spaces by Charles on October 9th, 2007

I tend to think in small chunks - I break down an idea, work out each part and then put it back together hopefully. I’m trying to use this approach with dynamics - I’m looking into a simple system to handle a variety of situations. Currently I’m thinking of simple spherical detection. This method use just a diameter from a point - its a simple system, but it might be scalable for more complexity.

Dynamics I find very hard to get to grips with, I have to take it very very slowly. Just understanding derivatives is hard, as its the function of the equation. Its also very fragile as a system - finite tweaks make big changes, especially in complex systems. My aim is to build simple systems that can be ‘bolted’ together right across the board from dynamics, to transformation stuff. Its sort of the middle man of rigging. I’m not the string or the parts of the puppet, im the knots that tie the string to the parts.

Some rigging notes & ideas today

Posted in Animation, Notes, Rigging by Charles on October 9th, 2007

What is rigging?

  • It’s very important to be aware of what rigging really is - in essence is a system for the animator to pose a character effortlessly and and efficiently.
  • It’s a control mechanism that ties the character to time.
  • It’s a marionette for a puppeter (you could classify a mo-cap rig as this, the actor being the puppeter)

Automation Vs Manual Controls

This is an area that really takes a long time to get grip with, the trick is finding the right balance of controls for the animator,  over use-ability and efficiency. Essentially you have to think, if I automate this does it out-way controllability if I was to manually control it - and is it more efficiency.

automation/manally = posability/efficiency

Textual Gui’s or Image based ones.

Posted in GUI, Images, Rigging, Textual by Charles on October 4th, 2007

I read a great little article yesterday on textual gui’s and whats really need for user flexibility - the biggest problem I’ve seen working with animators everyday is that there control rigs have so many ‘options’ tucked away, they get lost looking for what they need. Spending half a production day just looking for the option to do something is pretty bad in my opinion.

When I first graduated,  I got hired as a junior animator at Framestore in London - the first tool I used was Softimage 3.7 (this was before most of Soho moved to maya). I had to learn the tool in about two weeks and remembering now, the biggest help was the gui (and well ofcourse the beautiful f-curve)

Soft’s gui back then was purely text based (as it is now to some extent), and this imensly sped up learning not only the tool, but the rig i was using. The biggest issue when building a rigging/animation gui is should it be textual or image based.

One way is to look at it is as language, and how when understand it’s nouns, verbs, plurals and adjectives. For example:

‘green hill’ first implies a descriptive color, and secondly an image. The problem here is that hill as noun isnt strong enough a word to be a good description in our heads. I.e is there a sterotypical hill everyone knows? Where as ‘Dog’ or ‘Tank’ - hold so much sway in there descriptions we dont need to describe them with images (there in our heads)

Culturally this does change however, I dont think Amazonian tribes have ever seen tanks before, but if you treat your animators as the culture your aiming for, you can save lots of time. A good real-world example is the foot. If we imagine the foot has a keyable pivot and several positions around the foot we can key, we can make these ‘positions’ either as a textual gui or as an image they can pick areas of.

Should its text buttons, drop downs etc or an image you pick - is it not a strong enough image (for example heel), that we dont need an image to describe it. The other problem is too many images we assume, heel could be an high heel, trainer, animal heel if we make it textual. But if all these images are strong enough to mean the same thing then we really dont need an image.

Images are great for clarification of complexity too - take for example ‘knight’ and ‘night’.On brief examination, i.e you opened the rollout and you see these text buttons, you brain isnt going to understand quick enough - where as seeing a picture of a knight in armour you instantly understand. (this is where the image holds more stereotypicalness than the text version)

Our brains tend to treat both images and text inputs as keys to a fond image, feeling or idea. Animators tend to be ‘click-and-understand’ people, seeing what a button does before they know what it does - in a way building that relationship with the gui in there brains. This is similiar to when visiting a new place or country, we walk around getting a feel of the place. But whats key is that the sign posts give us good directions.

Modular ‘hinges’ of a rig.

Posted in Modularity, Rigging by Charles on October 3rd, 2007

I was thinking about simplification in rigs today, and how we can modularize the joining of parts of the rig together - for example gluing together the upper arm to the chest via the shoulder. It would be cool to specify how this join would work e.g automated shoulder, stretchy shoulder, fk/ik etc

The bare bones character rig.

Posted in Pivots, Relativity, Rigging, Rotations, Transform Spaces by Charles on September 28th, 2007

Heres a list of what I’ve found should be in a rig. It’s from studying generalized rigs and demos, Building them, and most of all asking the animators I work with every day.

  • Main torso control with keyable pivot
  • Independant pelvis control
  • Independant chest control
  • Head control with keyable rotation space (local/world) and keyable pivot.
  • FK/IK  arms with keyable rotation space (local/world) in FK mode.
  • FK/IK legs with keyable rotation space (local/world) in FK mode and keyable foot pivot in IK mode - additional support for quick pivot places (gui based).

On top of this, you could add stretching, breakable limbs, pinnable arms legs etc - but this is the bare bones rig.

Edit: The keyable head space pivot is an idea inspired by  Jason Schleifer’s, Animator friendly rigging. Go check out his site here. And Bernard’s utterly stunning softimage reel over here. - sorry if there was any confusing, if people thought it was my idea.

If anybody’s been trying to contact me,

Posted in Notes by Charles on September 25th, 2007

I think my email is completely screwed. I got hit by four or five pages of spam and now it recieves nothing anymore. I’m changing over to an alternative email. Sorry to anyone who’s been trying to contact me, you should be able to send a message now without it getting bounced back.