Tuesday, 4 June 2013

The Grand Illusion

It's a concept I explored in Film Arts Practices, and saw development in this module: managing to create the illusion of something being there when in fact there is nothing. Of course, all filmed media is an illusion, but taking a bunch of shapes, moving it around to animate it and making it into something that seems to live and breathe is an even greater illusion. Looking back, I think I achieved it to some extent in Illustrating Atmosphere, the end product for Practices, but this would be taking it to another level entirely: a living character who, while not directly influencing the live action footage, would move and act believably enough that it would cease to be a bunch of shapes moving around and become a character acting and reacting in a dialogue exchange.

Quickly though, a summary of filming the live-action footage. It was a quick process, involving me playing the audio on the computer while I reacted to it. I had to get a good balance between acting enough that you could believe the audio and the video are the same person, but not overact so much that the illusion is broken and you just see someone flailing in time to dialogue. The only other major snag was the dolly shot at the beginning. I didn't have a dolly, and wouldn't have the room to fit it in the space if I did, so I resorted to putting the camera tripod on a book and pushing it along. Again, it required many, many takes to get right, and even then wasn't perfect, but it worked well enough.

As I stated in the previous post, I had a workable design, but an incomplete one. Thankfully the legs would be kept out of shot, since that was the major part of the design which remained unfinished, but it was still a huge step up to actually make the design in a finished form from two separate angles. All I had to go by was this early design I'd made while idly playing with Illustrator many months before, which I imported into Anime Studio Pro and worked from to keep the proportions consistent between the two angles.

Note the very different head design, lack of forearms which weren't designed yet and
a version of the legs which were very different from the current design, which is based
now more on the ball-and-pole-with-Mega-Man-esque-lower-limb look of the arms
Considering I was building a design I'd never fully realised to this extent before, I was surprised at how smoothly the design process went. The actual creation of the design elements went through with barely a hitch, the only major hurdle being the hands, which I'll get into later.

In contrast, rigging the character up for animation was a massively difficult task. Once I knew how it was done, it's a simple thing to do, but when you don't know how it works it is a massive headache that, for a while, worried me into thinking that there may not have been any way to get a workable animation model up and running in time.

The principle behind Anime Studio Pro is that it is primarily bone-based, which means you split apart the layers of the character like so:


...and then you add 'bones' to the design (the greenish triangle-y shapes visible above), which can be manipulated over time to move the character and create animation. Of course, when I lay all this out in hindsight it seems blindingly simple, but the process of actually learning my way through producing it was hellish to say the least. Many, many small factors come into creating a successfully rigged character. For example, there's bone strength, which defines how much influence each bone has over the design. Below you see the completed bone layout:


...with the strength levels visible as the semi-transparent 'aura' around each bone. As you can see, the general idea is to get the strength level to roughly encompass the area you want to influence, so the arm and legs are pretty much exactly tailored to each segment, while the torso can be less precise since having too much influence can make moving it look too 'rubbery' and give too much warping to what should be a solid-looking robot character. It took much panic and consternation to do it, but I finally got it working right through a combination of figuring out how the strength levels are supposed to work and switching the bone type from the default to 'region binding', which means that only the area inside the 'aura' is influence by the bone. You'd think this would be the default option, but no, instead I had to damn near burst a blood vessel trying to figure out why the arm bones were warping the torso and vice versa, plus realising that to 'parent' a bone (i.e. choose which bones are connected to which, so the upper arm is connected to the upper torso, the upper leg is connected to the lower torso etc) you have to have the bone you want the new one parented to selected before you create it, a realisation that put to bed many an attempt resulting in the arms causing the leg to flail around all over the place and so on.

The layers of the project,
with the 'switch' layer
highlighted.
The other side of rigging the character, switch layering, went extremely well. I've had practice in the past with rigging a face with lip movements, and the concept is simple enough: create a 'switch' layer, which is a group folder that you put layers into, create separate layers with all the various mouth positions you need, place them in the switch layer, and that's all you need to do. Then, when animating, you add keyframes to the switch layer, which causes the switch layer to swap between various layers on specific frames, which you then use to line up each mouth position layer to the appropriate time to match the audio, which can be imported directly into ASP.

An example of one of the mouth position layers within the mouth switch layer
From there, the process of animation was blissfully simple. The comparison I'd make to explain the process to a layman is to a marionette puppet: the complicated bit is creating the papier-mâché skin, painting it, putting in the electronics to make the mouth move, and finally add the appropriate strings to make it control properly. From there, it's just a case of moving the puppet around on strings and flapping the mouth in time with the dialogue. The principle remains the same here, you add keyframes to the bones to make them move from point to point, and use the switch layers to change the mouth position/eyelid position/etc at the appropriate points. It just becomes a long process of tweaking and trial and error. Thankfully I had a clear idea of the movement I wanted before I started, which meant the 'floatiness' of the early testing I did was no longer present.

There were minor things I had to change in order to make it work, however. Originally I wanted to have her turn her head, but that would involve a massively complicated movement involving many, many different layers all moving in perfect unison to a very, very specific placement, and I couldn't get it to work in the time available. Because the character would now be entirely still save for facial movements, I added little body movements to avoid her being completely rigid and lifeless, and I think I got away with it. In the third shot, the character moves quickly from position to position except for the move back to the default pose. I slowed the move down and moved it back so that it came later, since it felt awkward when it was simultaneous with the blink, but just shifting it back a bit made it much better. A more positive unplanned alteration was with the eyes. Originally I was going to add eyebrows on a switch layer so that they would appear, disappear and move with the eyes to add more expression, but I found that the character was expressive enough that they weren't needed, which was a nice surprise.

Other than that, the only notable thing I discovered while animating was that switch layers are not automatically bound to bones, meaning that the mouth and eyelid layers didn't move with the rest of the head. Thankfully this was an easy fix, as the bone binding tool allows you to literally fix the issue with two mouse clicks.

The unbound, broken version of the eyelid layer

The fixed version of the eyelid layer that moves with the head bone
With that, the animation part was done. Or, so I thought...

No comments:

Post a Comment