This is it!

Well, its been one hellofa semester. Overall I’d have to say I’m pleased with the look of the final outcome although I’d still like to add some functionality in the way the skin interacts with the underlying structure. Maybe I’ll save that for my thesis!

Video thumbnail. Click to play
Click To Play

Skinned Bunny

 Here is a playblast for the rabbit I skinned for assignment 4.  Enjoy!

Video thumbnail. Click to play
Click To Play

Final Project Proposal

Here’s the model…

front.jpgback.jpg

Here’s a description of what I would like to accomplish with the final project:

1. First I will create a large tongue for the creature which will act as an additional appendage (i.e. will use it for grasping and picking up things) I will rig the tongue and the remaining hair/tentacles with the capability of switching between FK and dynamics controls using a custom script for ease of use. The hair tentacles will also be a type of appendage that he can use to feel things with.  Facial controls will be primarily bone based becasue of the scale of the facial features relative to the body but others will likely be created with shape deformation.
2. Once all animation controls are in place, I will begin the skinning process so that the high resolution mesh can be animated. Pose Space Deformations will be used to simulate muscle movements and jiggle, and I would also like to research the possibility of using cloth sims to create the look of skin slipping over the underlying muscles and bones.

3. Walk cycle animation will be derived primarily from bird reference (possibly roadrunner?) and the facial animation will be derived from human reference.

Mike Wazwhatthef%@#isthatsky

Here is my creature for Assignment 3 in low-poly form. As you can see, he consists of two legs and a body/torso with tentacle hair and a tail. When approaching the animation controls and joints, I noticed a few differences from most biped creatures. Because his head and hips exist as the same piece of his skeleton, I treated the hips more like a bird and less like a human in the way they can rotate and swing. This causes his entire head to sway back and forth as his legs move resulting in a comical teeter totter kind of stride. To further accent this effect, I have his mouth open and close to the beat of his walk cycle. The mouth presented some other challenges as well. Because the lower “jaw” is his body, it doesn’t make sense to have it open downward as with most animals so I chose to let it hinge upward. When I start adding muscles to this region I’ll need to think about what muscles could accomplish this action. His legs are also very bird-like except for the toes which are similar to a frog.

Video thumbnail. Click to play
Click To Play

lowpoly.jpg

More Monkey Business

For the second project, I chose to use Clint Eastwood as my main character reference. I studied footage from Dirty Harry and The Good, the Bad, and the Ugly to see how they handled the camera as well as how they portrayed Clint from scene to scene. I decided that my monkey would be an escaped zoo animal that had been abused by his caretakers. Living a life of solitude and fear has hardened him over the years and he finds solace in the green pastures of some unknown place.
Video thumbnail. Click to play
Click To Play

dirtymonkey.jpg

Here is my rig hierarchy.

heirarchy.jpg

And some Clint Eastwood reference video:

http://youtube.com/watch?v=YykfDFEk3y8

http://youtube.com/watch?v=awskKWzjlhk

Some reference photos:

rhesus.jpgyoda.jpg

Monkey Business

The goal here was to capture the “essence” of the movement of a creature. I focused on abstracting the form of the monkey into blocks of color and value while matching the timing of the movement in the source footage as closely as possible. The background is intended to mimic the distribution of color and busyness behind the primary movement of the monkey. I also doubled and tripled certain frames to match the jittery feel of the original video.

Video thumbnail. Click to play
Click To Play

Deceptively Guile

And the final render. In Max I was able to set up my IK/FK directly on the robot’s body parts instead of using bones. Vray for the rendering and shading.

anticipatefollowfinal.png

IK Phil

Here’s about half of the figure with IK and FK set up.  I’ll be doing the Guile backflip kick for my action.
process1.png

Meet Nosey

He’s just your everyday nose with creepy little cartoon legs. I set up a rig for this guy using inverse kinematics with standard bone objects in Max. Everything is keyframed up until he hits his legs on the first step. From this point on I used a soft body simulation to throw him down the steps.

Video thumbnail. Click to play
Click To Play

Klein Me

And here’s another pass at it. I figured out how to do everything I’ve been doing in about a tenth the code that’s actually much more flexible. Here we see 500 spheres created with a sin wave controlling their radius and 500 lights created with a cos wave controlling their color from red to cyan aligning with the center of the spheres. All objects are following the Klein_2 parametric formula from KSurf3D by animating along the surface of the bottle by incrementing the u and v values.  Originally, my script was using the current selection to animate the objects which works in the viewport, but not with batch render.  I eventually just wrote out keyframes for each frame for each object and this solved it.Video thumbnail. Click to play
Click To Play Fullscreen

The script to create objects:

int $i;
float $sini;
float $pi = 3.14159265;

for($i = 0; $i < 500; $i++)
{
$sini = sin(($i+1)/100.0*$pi);
print($sini);
sphere -radius $sini;
}

int $i;
float $red;
float $green;
float $blue;
float $pi = 3.14159265;

for($i = 0; $i < 500; $i++)
{
$red = (1+cos($i/100.0*2*$pi))/2;
$green = (1+cos($pi + ($i/100.0*2*$pi)))/2;
$blue = (1+cos($pi + ($i/100.0*2*$pi)))/2;
defaultPointLight(0.9, $red,$green,$blue, 2, 0, 0,0,0, 1);
}

The script to animate objects:
string $objects[] = `ls -sl`;
int $numObjects = size($objects);
float $speed = frame/12;
float $uinc = 0.025 ;
float $vinc = 0.1;
float $u = 0;
float $v = 0;

for($i = 0; $i < $numObjects; $i++)
{
setAttr($objects[$i] + “.translateX”, 5*(2 + cos(($speed+$u) / 2)* sin($v) - sin(($speed+$u))* sin(2 * $v))* cos(($speed+$u)));
setAttr($objects[$i] + “.translateY”, 5*(sin(($speed+$u) / 2)* sin($v) + cos(($speed+$u) / 2) *sin(2 * $v)));
setAttr($objects[$i] + “.translateZ”,  5*(2 + cos(($speed+$u) / 2)* sin($v) - sin(($speed+$u) / 2)* sin(2 * $v))* sin(($speed+$u)));
$u += $uinc;
$v += $vinc;

}
setKeyframe -e -at translateX;
setKeyframe -e -at translateY;
setKeyframe -e -at translateZ;

Next Page »