Some musings about workflow
Posted: Sun Feb 18, 2007 8:14 pm
Right now I'm in a project I can't show off any examples from - if it gets finished, it should be online so I can give you a link. It's not my project, and I joined in as animator right in the middle, so the main mistakes already have been made. We communicate via phone and mail, the studio is in another city, and I suspect there's only one other animator besides me for this 3,5 min film.
This film will end up as video, which makes it somehow easier. If it was to end up as .swf, they'd be in deep shit now since no optimisation of any kind had happened.
The workflow is like this: there's a pretty normal storyboard, hand-drawn images scanned in, then made into a PDF. First flaw: there's absolutely no indication about how long each shot is planned to be. Uh oh.
Then there's an animatic of the same storyboard drawings and finished scenes as far as they exist. This is the only source of timing information I have. Second flaw: although they try, scene order does not always reflect what's in the storyboard. Without scene numbers visible in the animatic, I can but guess.
Layouts of the characters have been done in Flash. They are really OK, nice graphical style. Unfortunately the same artist did the scene layouts in Flash as well. Why this is a flaw you'll understand soon.
The other animator already did a nice job with rigging the characters in AS. His experience in 3D animation shows, and I'm glad about this. He started with AS only months ago (as far as I know), so his rigging still could need some optimisation.
He exported characters from Flash as Illustrator file, then imported these into AS. During this some information was lost, mainly about some sharp corners which turned out to get curved, but this is easily fixed with the curve tool. That was the easy part. Not so easy is the number of points which is confusingly big.
A real pain in the ass is some strange behavior from Flash. Imagine a big shape with a smaller shape of different colour on top of it. For import Flash somehow interprets these as a big shape with a hole plus a small shape. In AS the hole and the small shape are on top of each other so it's impossible to select one without the other, and because there's a hole I sometimes get into trouble when the whole arrangement gets bended much. Further, if I want to delete the hole, the fill of the bigger shape gets lost. The cleanup of this stuff needs to be done in Illustrator first, where I can select the small shape on top, shift-arrow-nudge it sideways, then select the hole and delete it, then shift-arrow-nudge the shape back into place. Erasing points is easier to be done in AS than in Illustrator.
The designer had created a nice set of different mouth expressions, but if I need to animate them I have to re-create them in AS with the help of layer masking. Here it gets really clumsy: the outline of the mouth needs to be animated. I do that with the mask layer first (point animation), when I'm satisfied, I copy the whole layer and put it on top of the stack in the group, unmask this layer, give it an outline and no fill, and finally have a moving mouth with an outline.
Normally I export animation from AS as .swf to be imported into Flash. Why? Because in AS the imported Illustrator files lost much information about line thickness. So the non-moving parts of a scene, background and props, are best in Flash where they had been created.
But if I used any layer masking, I need to export the animation from AS as PNG sequence with transpareny since .swf doesn't support this (read the tutorial). I even export the finished scenes from Flash as PNG sequence, because any Quicktime rendered from Flash can't be opened by the studio. This seems to be a Quicktime problem.
Fortunately this works fine. I import any PNGs into Mirage for compositing the final scene and render the Quicktime from there which always is fine.
Confused? Let's resume the workflow:
Flash -> Illustrator -> AS -> PNG -> Mirage, or
Flash -> Illustrator -> AS -> SWF -> Flash -> PNG -> Mirage.
There's quite a lot to be learned from this experience.
1. After storyboard, layout artist and animator need to sort all scenes and agree upon which scene can be done from which generic model with the same rigging.
2. The animator should make a plan for rigging each character so the designer knows how to break up the character in which parts. If the designer needs to work in Flash, do some basic cleanup in Illustrator, then the remaining stuff in AS.
3. It would be much faster to re-create the characters directly in AS once, then adjust, than to import each Flash layout for each scene separately into AS. Best way would be to do as many layouts as possible directly in AS.
4. Simplify. Not only this saves feedback and render time, it also helps to maintain overview if your character consists of only a few overlapping shapes instead of many complicated parts which additionally need to carefully stay placed point to point and edge to edge.
5. Bones are your friend, but quite often a simple point animation is much faster to do than to make a rig which caters every eventuality.
6. Next time I keep the heads as separate files. I will spend more time for a generic rigging of the mouth (it is a complex one, with several teeth which change shape, tongue and gums, and a mouth outline which not only moves but sprouts additional lines sometimes). I will point animate the mouth shapes from one generic layer which I copy. I will put the mouth shape layers into a switch layer, even if the character doesn't speak.
Every character should be able to blink. Maybe I have a second head set with just the lids but without the complicated mouth rigging. For scenes with just one expression it's easier to copy just one mouth shape from another (generic) file.
7. Beware of the difference between shape scaling and layer scaling. I often put layers into a group and later out of that group again. This only works if you "normalise" your artwork in the very beginning. For this I use shape scaling (first group of tools). If I forget about this and scale layers or groups, artwork will pop back to import size when I put it out of the group or into another.
8. It helps a lot to set the layer origin where you might need it. For limbs, this would be the parent joint (hip or shoulder), so you can rotate the layer (to save some bone animation). Sometimes things have to scale in perspective during animation. In that case the origin of the to-be-scaled layers has to match the vanishing point of the background perspective.
9. Plan ahead. If you can achieve something with layer animation, don't animate the bones. If you can do it with bones, don't touch the points.
10. Body parts which have contact with ground or props should not wiggle. I found it easier to keep them in separate layers as to bother with locking and unlocking their bones.
11. Sometimes memory is an issue. You can save some if you import props and backgrounds as PNG instead of Illustrator files. For scenes with camera moves remember to import the PNGs in a fitting resolution so they look fine even when zoomed in to.
Maybe I find some more things to think of, I'll add them later. I hope this is a bit helpful, at least it might prevent some of you to get into unnecessary trouble.
This film will end up as video, which makes it somehow easier. If it was to end up as .swf, they'd be in deep shit now since no optimisation of any kind had happened.
The workflow is like this: there's a pretty normal storyboard, hand-drawn images scanned in, then made into a PDF. First flaw: there's absolutely no indication about how long each shot is planned to be. Uh oh.
Then there's an animatic of the same storyboard drawings and finished scenes as far as they exist. This is the only source of timing information I have. Second flaw: although they try, scene order does not always reflect what's in the storyboard. Without scene numbers visible in the animatic, I can but guess.
Layouts of the characters have been done in Flash. They are really OK, nice graphical style. Unfortunately the same artist did the scene layouts in Flash as well. Why this is a flaw you'll understand soon.
The other animator already did a nice job with rigging the characters in AS. His experience in 3D animation shows, and I'm glad about this. He started with AS only months ago (as far as I know), so his rigging still could need some optimisation.
He exported characters from Flash as Illustrator file, then imported these into AS. During this some information was lost, mainly about some sharp corners which turned out to get curved, but this is easily fixed with the curve tool. That was the easy part. Not so easy is the number of points which is confusingly big.
A real pain in the ass is some strange behavior from Flash. Imagine a big shape with a smaller shape of different colour on top of it. For import Flash somehow interprets these as a big shape with a hole plus a small shape. In AS the hole and the small shape are on top of each other so it's impossible to select one without the other, and because there's a hole I sometimes get into trouble when the whole arrangement gets bended much. Further, if I want to delete the hole, the fill of the bigger shape gets lost. The cleanup of this stuff needs to be done in Illustrator first, where I can select the small shape on top, shift-arrow-nudge it sideways, then select the hole and delete it, then shift-arrow-nudge the shape back into place. Erasing points is easier to be done in AS than in Illustrator.
The designer had created a nice set of different mouth expressions, but if I need to animate them I have to re-create them in AS with the help of layer masking. Here it gets really clumsy: the outline of the mouth needs to be animated. I do that with the mask layer first (point animation), when I'm satisfied, I copy the whole layer and put it on top of the stack in the group, unmask this layer, give it an outline and no fill, and finally have a moving mouth with an outline.
Normally I export animation from AS as .swf to be imported into Flash. Why? Because in AS the imported Illustrator files lost much information about line thickness. So the non-moving parts of a scene, background and props, are best in Flash where they had been created.
But if I used any layer masking, I need to export the animation from AS as PNG sequence with transpareny since .swf doesn't support this (read the tutorial). I even export the finished scenes from Flash as PNG sequence, because any Quicktime rendered from Flash can't be opened by the studio. This seems to be a Quicktime problem.
Fortunately this works fine. I import any PNGs into Mirage for compositing the final scene and render the Quicktime from there which always is fine.
Confused? Let's resume the workflow:
Flash -> Illustrator -> AS -> PNG -> Mirage, or
Flash -> Illustrator -> AS -> SWF -> Flash -> PNG -> Mirage.
There's quite a lot to be learned from this experience.
1. After storyboard, layout artist and animator need to sort all scenes and agree upon which scene can be done from which generic model with the same rigging.
2. The animator should make a plan for rigging each character so the designer knows how to break up the character in which parts. If the designer needs to work in Flash, do some basic cleanup in Illustrator, then the remaining stuff in AS.
3. It would be much faster to re-create the characters directly in AS once, then adjust, than to import each Flash layout for each scene separately into AS. Best way would be to do as many layouts as possible directly in AS.
4. Simplify. Not only this saves feedback and render time, it also helps to maintain overview if your character consists of only a few overlapping shapes instead of many complicated parts which additionally need to carefully stay placed point to point and edge to edge.
5. Bones are your friend, but quite often a simple point animation is much faster to do than to make a rig which caters every eventuality.
6. Next time I keep the heads as separate files. I will spend more time for a generic rigging of the mouth (it is a complex one, with several teeth which change shape, tongue and gums, and a mouth outline which not only moves but sprouts additional lines sometimes). I will point animate the mouth shapes from one generic layer which I copy. I will put the mouth shape layers into a switch layer, even if the character doesn't speak.
Every character should be able to blink. Maybe I have a second head set with just the lids but without the complicated mouth rigging. For scenes with just one expression it's easier to copy just one mouth shape from another (generic) file.
7. Beware of the difference between shape scaling and layer scaling. I often put layers into a group and later out of that group again. This only works if you "normalise" your artwork in the very beginning. For this I use shape scaling (first group of tools). If I forget about this and scale layers or groups, artwork will pop back to import size when I put it out of the group or into another.
8. It helps a lot to set the layer origin where you might need it. For limbs, this would be the parent joint (hip or shoulder), so you can rotate the layer (to save some bone animation). Sometimes things have to scale in perspective during animation. In that case the origin of the to-be-scaled layers has to match the vanishing point of the background perspective.
9. Plan ahead. If you can achieve something with layer animation, don't animate the bones. If you can do it with bones, don't touch the points.
10. Body parts which have contact with ground or props should not wiggle. I found it easier to keep them in separate layers as to bother with locking and unlocking their bones.
11. Sometimes memory is an issue. You can save some if you import props and backgrounds as PNG instead of Illustrator files. For scenes with camera moves remember to import the PNGs in a fitting resolution so they look fine even when zoomed in to.
Maybe I find some more things to think of, I'll add them later. I hope this is a bit helpful, at least it might prevent some of you to get into unnecessary trouble.