Clayton's Quest Post-Mortem
Roles: Character Models, Rigging, Animation, Level Design, Particle Effects, Sound Effects and Editing, and Occlusion Culling where applicable
Download it for desktop: Here!
Clayton's Quest was developed through the hard work of five developers, comprised of two artists and three programmers. We developed the game as our senior project at New England Institute of Technology in 2017. Across twenty-six weeks and alongside other classes, the team was solely responsible for all aspects of this game's development from Pre-Production to "Gold Master."
An Action-Platformer at its heart, Clayton's Quest is heavily influenced by the iconic games, Banjo-Kazooie and Super Mario 64. Fans of those games looking to have their nostalgia itched will have an enjoyable time playing through the roughly hour and a half of content.
A formal Post-Mortem is in the works, and will be linked once completed. In the meantime, below, I will be explaining my role as an animator on the team, how certain effects were achieved, and some rationale behind some of the decisions that I made.
Main Menu and Opening Cinematic
These animations were created in Unity using sprites. For moving pieces of a whole object, the sprites were offset to custom positions to allow for more accurate "joint" rotations. Fading sprites in and out in an "anime flashback" style was a low-cost and fast alternative to puppet or hand-drawn animation.
Unity Generic Rig Import (and why we didn't import our rigs as 'Humanoid')
At first, I attempted to create a Humanoid rig in Unity for Clayton's model (the blue character pictured above) and the NPC models, but upon import, I noticed that Clayton's hips were not moving. The hip bone in Clayton's hierarchy was being used for Root Motion, which unintentionally froze the joints. It looked as though our character was suspended by invisible tethers in the sky, and made some of the more complex animations that we needed look awkward.
After this test, I modified Clayton's skeleton to include a "root" bone located at level with the model's grid floor. By taking the existing skeleton and making it a child of the root bone, Clayton could then be imported again. Since the root required no skin weights, it was alright to transfer the weights from the previous skin to the new skin which included the root. Before the re-import, all the existing animations needed to have the root's transform keyed on the timeline at the start and end of the individual animation. The Generic Rig in Unity allows a user to manually define a rig's root transform. This option unlocks the skeleton's hip bones for animations which require a model to adjust its center of gravity. This was necessary to make characters look more bouncy and to allow for full body motion.
Blendshape Faces for a "Toon" Aesthetic
Clayton and the NPC characters use the same Blendshape face models which are on a system independent of the characters' bodies. The face is comprised of three individual parts: eyebrows, eyes, and a mouth. Each facial feature has Blendshapes associated to facial expressions, but can be mixed and matched together. This method also lets a designer adjust the distances between the parts, allowing for variation among characters if so desired. The eyes might be set to angry, the eyebrows set to inquisitive, and the mouth set to happy to create a smug expression, or all three could be set to happy for an overjoyed look. Originally, the intent was to have our NPCs interact with one another in a similar way as The Sims, but that feature was scrapped due to time constraints. Even still, the face system was applied in-game for preset dispositions and as an additional visual for Clayton's remaining life.
Animating in Motionbuilder
I chose to animate in Motionbuilder for a few reasons:
- Each take has its own timeline, useful for making multiple animations without the need to break up multiple animations within one timeline or a unique file per animation
- Poses allow for quick and easy custom transitions between animation states
- Each FBX generated from Motionbuilder can hold any number of takes, making it easier to group similar content for import into Unity
- Easily handles IK/FK controls, pinning, and IK influence
- Can export as Motion Files, most efficient use of animation data in .fbx
This approach was also much faster than to have handled it in Maya, a choice which made hitting animation deadlines with relative ease. It also helped me to iterate quickly if there was a problem with an animation.
Coming Soon: Level Design Fly-through