Preparing models for animation
Animation has to be planned and build into models prior to their development, Animated models work differently to regular hard surface models as they principly have to deform, in other words, stretch and pull. This design has to be incorporated into the design of the mesh topology as otherwise models will not animate or move correctly. I favor quad mesh design for animation as I believe it’s not only better practice but it makes the animation process much easier/more exact. Joints have to also be factored into this process, understanding that joints is the highest point of deformation thusly they have to have geometry that matches for that deformation. This allows for more fluid limb movement and generally easier in the weighting process.
The rig acts as a skeleton for the animations and the models. Bones are placed throughout the body and the bones are the animated part of the model, the assigned vertices simply follow the rig.
I am using character animation toolkit rigs for Gloria, This is a bespoke integrated legacy system in 3DS max designed for kinematic procedural character animation, it is somwhat hard to get to grips with and requires the user to already have a firm understanding of both 3ds max and character animation. I chose CAT rigs because I understood the potential for vastly speeding up the animation process, (Possibly the most time heavy task I was assigned) I knew it included features such as rig swapping (Changing models but keeping the same rig), saved animation poses (Making a sit pose will save and can be placed on any other rig) and procedural animation, (Using numeric values and graphs to generate walk cycles, run cycles and idles with little effort)
Weighting is the process of assigning values to vertices on the mesh to bones to tell it how it should be deforming based on a value of up to %100 bias. To ensure that animation and deformation is smooth, these vertices need to be manually added and tweaked until the desired result. For objects that I wanted to add to the animation such as the character instruments, I simply add a %100 value to the bone I want it attached to, for example, the hand bone.
The animation process for characters is as follows
Import character and make sure that all the geometry/topology is correctly positioned to allow for animation. Make sure they’re scaled correctly and they are facing the right angle as well as centred in the scene ( Can cause issues when exporting the animation)
Build the CAT (Character animation toolkit) rig frame underneath the character. Scale the frame to the correct size
Start by placing the pelvis bone and setting that as the parent bone.
Placing leg bones and feet bones extending from that, I then create the spine, head and arms from there.
Align the bones that are an underlying model. Ensure everything matches up and is scaled correctly.
Group character model with clothes any extra model work into 1 asset and apply the skin modifier
Assign all of the bones to the skin modifier and make sure there are no errors/bones forgotten.
Begin testing the rig and weighing the primary parts of the model such as the legs are arms.
I make sure to keep refining and testing to make sure no artefacts has occurred in places such as under the arms and the back of the legs
After the initial weighting, I move on to a test animation, where all the parts of the body are moving, such as a basic walk animation. Inbuilt procedural animation works for this.
I see if there are any issues with this and go back and correct them/reweight them
I now move over to posing.
I save the rig and begin setting the character in the desired pose ( Characters for this game have two primary poses, playing an instrument and idle)
I set the poses and save them on separate animation layer (Animation layers are like 3D temporal based photoshop layers) that I can easily swap between.
Once I am happy with the poses I set the keyframe length (The duration of the animation, usually 30 frames or 60)
I begin modifying the poses over the time scale with the midpoint being the final frame and then copying the first frames linearly to the last frame to ensure smooth looping animations
I tweak and test these animations (Far quicker with kinematic rigs)
I make sure they loop smoothly and export to test them in the engine
I export the models and animation to the Unity game engine to ensure there are no errors with export or with the animation.
If it passed these final checks I submit the model via Git Kracken version control to be put into the game.
Kinematics is the concept of a hierarchy of bones or points that work together to provide advanced motion. Initially a physics branch from the physics branch of mechanics that works with the concept of being influenced or lack of influence by a force, motion or momentum, kinematics works under a subset of mechanics known as dynamics.
It is used in 3D modelling for a series of purposes, my specific requirement for it here involves generating believable organic motion to simulate bones working together through momentum and force based parameters. This allows me to move very little in the way of bones to achieve desirable effects. I can create local simulations of motion from a single bone such as the palm and the enter arm and shoulder will follow accordingly.
For specific bespoke animations, the best method for achieving this is through keyframe animation, or pose to pose animation, setting several poses over a frame duration and linearly transitioning between them is how I achieved animations for the violin playing and all of the other instrument playing animations.
Kinematic animation for the flute character
Above - Kinematic diagram applied motion and angles, below, rescaling animation keyframes for gloria playing instrument animation
I export animations and models as FBX files because the file type stores all the model data including animations, meshes, textures, smoothing groups and normal information, this gives me a lot of control over the visuals in the 3D software and I can easily change anything in the engine if something isn’t working correctly. I test all of the animations before using them in the game by running test exports into a test scene in Unity, This way I make sure they run smoothly and these are no errors with the model.
Procedural animation is animation created not through posing keys but through values/graphs that individually affect bones. CAT has a very basic cycle built in that can be edited, I used to to build the Gloria job animation, I progressed through several iterations and eventually speeding the animation up to a more suitable rate. This basic cycle is also very useful for checking rig weights and if the characters are rigged correctly.
Posing and animation process for the brass character
Finished animations for Gloria and Piano man
Finished Gloria animations