The idea of this spider was to learn how to use procedural animation, specifically utilizing sine and cosine curves to simulate real world motion. I wanted to be able to have creatures in a scene that I didn't have to key frame animate but would still look believable.
I found some very interesting reference photos to work off of however, figuring out how a spider moved was very creepy and unnerving.
I found some very interesting reference photos to work off of however, figuring out how a spider moved was very creepy and unnerving.
I started off with a proxy model to get the basic animation. This blocky version and movement was not nearly creepy enough for what I wanted though and so I moved on to a model with a more stiletto shaped leg.
Spider Animation Test from Kristen Eggleston on Vimeo.
The leg has four separate joints, the foot, knee, hip and a rotation, that all work together to create the forward motion of the leg. These movements are all offset by the copy number of the particular leg.
Mechanical Spider Leg from Kristen Eggleston on Vimeo.
All of the motions are driven by sine and cosine equations and if statements to tell if it should be moving or not based on the frame range. For example, the equation for the hip movement that causes the entire leg to go up and down is:
if(int(($F + (stamp("../../legCopy", "copyNum", 0) % 4) * 5) / 9) % 2 == 0,
sin(($F + (stamp("../../legCopy", "copyNum", 0) % 4) * 5) * 20) * 10 + (stamp("../../legCopy", "copyNum", 0) % 4),
0)
Meaning that if the integer of the frame plus the copy number divided by nine is even, rotate the leg up, otherwise don't move it.
if(int(($F + (stamp("../../legCopy", "copyNum", 0) % 4) * 5) / 9) % 2 == 0,
sin(($F + (stamp("../../legCopy", "copyNum", 0) % 4) * 5) * 20) * 10 + (stamp("../../legCopy", "copyNum", 0) % 4),
0)
Meaning that if the integer of the frame plus the copy number divided by nine is even, rotate the leg up, otherwise don't move it.