This page contains the final renders of my three animation sequences. I will discuss how these animations apply to my character design and the narrative that I created for my character.
Animation 1:
Animation 2:
Animation 3:
How the Animations Apply to my Character Design
These animations relate to my character because they show the injured state of my character after they escaped from the lab where they were experimented on which is one of the main aspects of my character design. The point of these animations are to show how resilient my character is and show some of the superhuman feats they can perform while being unable to use part of their body. These animations also connect to my character’s narrative as they are attempting to find a facility where they can repair their body so they can seek revenge on the entity responsible for their current state.
The animations are now planned so the next step is to actually animate the character using the rig. To start the process of making them I found reference videos online that I could use for some parts of my animations.
All of my animations were set to 24 fps. My method of animation was to get key poses from my references and then slowly add more fluid and realistic movement through different straight ahead passes focusing on different elements of the animations. Each of my key poses were usually every 6 frames and then I would add more every 2 frames if it was necessary to make the animation look better. Sometimes I would animate on the in-between frames if the animation didn’t look quite right. This is the process I used for all three of my animations and as I progressed I slowly started to really getting in the flow of it.
I aimed to add anticipation and arcs to the movements of my character to make my animations at least seem more natural to the best of my ability. I would’ve liked to try and exaggerate some of the poses more but because of the limitations of both my character rig and base model I was unable to experiment with extreme exaggerations. I attempted to add some ease in/ease out in my animations but I think this wasn’t that successful.
I did have to model some simple objects for my animations but I didn’t put a lot of time into these as the main focus was the animation and not the secondary objects involved in them. Some animation was applied to these objects but it was to do with keyframing the position of these objects after the character interacted with them.
After all the animation was done I then focused on the camera so that my animations were staged correctly. My main method for this was locking the camera to the character using a point constraint on the camera which meant that no matter what was happening in my animations the camera would be looking at the character. I did do some experimenting with the camera positioning to add some extra appeal to some of the animations as well as using a blend point on the camera constraint so that the camera could disconnect from the character if it would be better for the animation.
Below are examples of my animation references and early versions of my animations.
Animation 1:
Animation 1 ReferencesAnimation 1 Blockout
Animation 2:
Animation 2 Reference 1
Animation 2 Reference 2
Animation 2 Reference 3Animation 2 Blockout
Animation 3:
Animation 3 ReferenceAnimation 3 Blockout
References:
Aozolai. (2019) Halo Reach | What does Armor Lock do? [Video]. Available online: https://youtu.be/Hl22SFfve8Q [Accessed 12/5/2022].
endlessreference. (2011) Athletic Male Angry walk – Slow Motion half speed. Animation Reference Body Mechanics. [Video]. Available online: https://youtu.be/ZPI7_oVNB24 [Accessed 10/5/2022].
endlessreference. (2011) Forward Roll: Athletic Male: Grid Overlay – Animation Reference Body Mechanics [Video]. Available online: https://youtu.be/MWHP6Z5HRkU [Accessed 11/5/2022].
endlessreference. (2012) Walk Limp Young Adult Male: Grid Overlay – Animation Reference Body Mechanics [Video]. Available online: https://youtu.be/AG_eITx8miE [Accessed 10/5/2022].
20th Century Studios UK. (2016) Deadpool | ‘Superhero Landing’ | Official HD Clip 2016 [Video]. Available online: https://youtu.be/EwUilIo036g [Accessed 10/5/2022].
As my character is now fully set up for animation, it is now time to plan the three animation sequences that relate to my character in some way. I will discuss how I can potentially apply the principles of animation that relate to my character’s semi-realistic theme.
I made three storyboard sequences to show the general idea of my three animations. This was so I could figure out what principles of animation would be suitable for my animations however they are not indicative of the perspectives that I intend to use. As my character is mostly based in reality, I wouldn’t be able to utilise some of the principles of animation such as squash and stretch to keep my animations within my theme.
First Animation Storyboard
The first animation sequence I thought of was an injured walking animation. Instead of just a simple walk cycle I wanted to include different elements in this animation such as a ‘superhero’ landing at the start and the removal of shrapnel from the character’s leg to recover from the injury. secondary action
Second Animation Storyboard
For the second animation sequence, I thought of the character sliding down an incline and then rolling to end the slide action.
Third Animation Storyboard
The final animation sequence idea I had was for the character to punch open a hatch to a secret location beneath the surface. Instead of having the character immediately succeed the idea was to have the character fail at first and then charge up their next attempt.
The principles of animation that I aim to include in my animations are: staging, ease in/ease out, exaggeration. added appeal, anticipation and arcs. Staging and added appeal will help to make my animations more interesting and make the actions in the animation more clear. Ease in/ease out and arcs will help me to make my animations closer to how the actions would happen in real life. Exaggeration and anticipation will help to make my animations more believable to the viewer.
Before moving onto the animation stage, I finalised my character rig.
Mask Joints and Controls
I added new joints and control handles for the mask so I could manipulate the position of it.
Knee Control Handles
I added control handles for the knees so I could rotate the legs.
Teeth Model
I added a mouth hole by removing faces from the model and manipulating some edges and I found a free asset for the teeth (JL_Penkoff, 2020).
Hand Movement using Driven Keys
I added movement to the hand using driven keys so that it would be easier to animate.
Now that the character rig is complete, the next step is to made the model be affected by the rig and to make sure it moves and distorts in the right way. This is done by skinning and then weight-painting the character.
Skinning:
Skinned Character
To bind the model to the rig I had to use the Bind Skin tool within Maya. To check if it worked I manipulated the arm and leg IK handles. The model was able to be manipulated by the rig but as I had not yet changed the weight painting of the rig some parts of the model were being moved and distorted by joints that shouldn’t affect them. This is mainly seen on the torso as the arm IK handle is stretching the right side of the torso.
Control Handles:
Rig Control Handles
To make the animation process less tedious I added control handles to my character rig before weight painting. The handles added were arm controls, leg controls, a hip control, a chest control, a neck control and a master control. This was a straightforward process and it involved creating a new spline IK handle for the spine and then creating curves and using the constraint feature within Maya to make these curves affect the rig. The two constraints used were the point and orient constraints. The connection editor was also used to connect the Y rotation of the hip and chest controls to the spine IK handle roll and twist values respectively.
Weight Painting:
Character with Weight Painting
The main issues with my character’s weight painting were the torso and the head as they were being affected by joints that shouldn’t be affecting them. This caused the head and torso to distort in unwanted ways when the character rig was manipulated. To fix this I had to adjust the weight values of the areas being affected for the joints causing the issues. The torso issue was caused by the arm and elbow joints as it had values attached to the side of the torso. I removed a lot of the weight values here and used the smooth function of the weight painting tool to make the distortion better. The head issue was caused by the multiple head joints all affecting the head with different values. To fix this I made it so the neck joint was the joint that had all of the weight for the head area.
Character with Weight Painting
The weight painting was mostly successful in fixing the issues I was having with my character but it wasn’t perfect as the arm distortion for when the character’s arm is lifted isn’t quite right. This is because of the way I created my character as the different armour layers were combined to the base mesh. If I changed how the distortion is in the image above, holes were created in the character mesh around the armpit area. I tried to fix this with multiple retopology methods but due to various issues with my model these weren’t feasible. I could’ve manually retopologised the character but I didn’t think this issue was big enough to go through that tedious process as it shouldn’t have too much of an effect on my animations.
The first step of the character animation process was to make a rig for it as this is what would be used to make the character actually move. This is because the 3D rig represents the equivalent of the character’s skeleton so manipulating this allows animations to be made.
Auto-Rig Test
Before I started making my own rig, I decided to see what the Maya auto rig would be like on my character. As my character is missing one arm it didn’t quite work correctly and some parts of the model were attributed to the wrong bones. However it did give me some insight as to how I should structure my own rig.
Bottom Half of the Rig
To create the rig for my character I used the Create Joints tool in Maya. The first joint that I created for my own rig was the hip joint as this would serve as the joint that the whole rig would be connected to. I then created the left leg, knee, ankle and foot joints to form the left leg rig. I opted to not use a toe joint as my character has cybernetic legs so it isn’t necessary for my character. After the left leg was done, I used the Mirror Joints tool within Maya to create the right leg rig.
Damaged Arm Rig
I decided to now rig the damaged arm as I would be able to mirror the joints made for this arm to start the other arm. These joints were the left clavicle, arm and elbow joints. The elbow joint doesn’t match up with where this joint would usually be located but I used it to have control of the damaged arm when I was in the animating stage.
Undamaged Arm Rig
As mentioned already, I started with the mirrored joints from the damaged arm which meant I already had the right clavicle, arm and elbow joints. I had to change the position of the elbow joint to actually be at the elbow for this arm since this arm actually has an elbow and added a wrist joint as well as joints for each finger and the thumb. There were four joints for each finger and three for the thumb. After I made the first finger I duplicated the joints for the other fingers and thumb and moved them into the right positions. This process was a little tedious but it was worth it for the animations.
Spine and Head Rig
The last individual part of the rig were the spine and head joints. This consisted of three spine joints and neck, head and head-top joints.
Full Character Rig
The individual parts of the rig were now complete but they weren’t connected. I connected the first spine joint to the hip joint and both clavicle joints to the third spine joint.
Original Joint Orientation
The next thing I needed to do was to orient the joints correctly to make sure the joints would move how they are supposed to. If I didn’t do this inverse kinematics wouldn’t work correctly with my character’s body parts as the body parts would bend the wrong way.
New Joint Orientation
IK Handles
To be able to manipulate the character rig easier when animating I now decided to set up the IK handles. This would allow me to see if my rig functioned the way I wanted it to. I set up IK handles for the right arm and both legs. I didn’t need to set up the left arm as it is the damaged arm.
Right Arm IK Handle
Leg IK Handles
The arm IK handle worked exactly how it was supposed to but the leg handles weren’t bending the right way. This was because of how I made the leg rig in the first place as the joints need to be straight from the front and from the side it needs a bend so the IK handle knows it is supposed to go that way.
New Leg Rig
To fix the issue I remade the leg rig so that it would bend correctly. This meant I had to orient the joints and reparent the legs to the hip joint. I then made IK handles for the new legs and it worked correctly.
As a whole, I am happy with the end outcome of the game project as we banded together to create a solid experience. The game experience is satisfying and feels complete as the game idea was designed to be modular so not every level was necessary. This project also allowed me to further develop my blueprinting skills further cementing my predilection for game programming.
One of the issues we had was that some assets weren’t created by the specific team member that they were assigned to. To stop this from happening in the future members of the team could be assigned secondary roles in which they will create assets if the primary individual is unable to for whatever reason. This was already the case with our 3D modellers so it is a proven solution and it saves us having to delegate work on the fly.
We could further develop our communication channels to allow all of our members to be able to effectively communicate. One member had difficulties communicating with the whole team for a lot of the development period so we could have spent some time earlier making sure everyone was comfortable and able to use our communication channel.
The main point in my reflection is that we should have had a more rigid schedule to ensure that relevant work was completed weekly so that all the individual work correlates so that aspects of the project can be completed earlier. Our fairly relaxed schedule meant that some of our important work was done later than would have been ideal. If we had a more rigid schedule than we could have probably had at least one more level completed and had some of the less important aspects of our project completed to make the overall project more interesting and enjoyable.
As a group we mostly functioned pretty cohesively and could rely on each other to get work done on time. There were a couple of instances where assets was unable to be created but we adapted to the problem and delegated the work to another team member so that it could get done sooner.
Our group leader did a fine job in making sure there was work for everyone to be doing and that it wasn’t too much for each member. His scheduling and management work helped to keep the team members on track so that a constant stream of work was added to the project weekly.
An example of when our team helped one another was when of the other 3D modellers had to assist the main 3D modeller when an asset they had created wasn’t able to be animated so the other 3D modeller edited it so that this could be done. Another example is when our 2D artist hadn’t yet completed our project logo which was needed so another member of the team created a logo asset while the 2D artist worked on other assets.
We decided on our roles based off of what we each were strongest in and most inclined to do so that there wouldn’t be much issue when creating the work. This also meant the skillsets of each member were used effectively making each aspect of the project the best it could be with our members.
To communicate we used a Discord group chat in which we regularly communicated mainly through voice. We sometimes used text if team members were unable to join or if we needed to show something. This was an effective method of communication for us as it was informal and allowed to discuss what we needed to at our own pace.
Example of our Discord channel which we used to assist each other
Instead of waiting for the levels to be designed and implemented before I could create the gameplay experiences and other functionality I made a test level to add this before the respective levels were done. This meant I was able to efficiently implement the gameplay experiences when the levels were ready and I could be productive throughout development. Early on, I used a dancing mannequin as a placeholder for objectives being completed.
Player blueprint including item interaction and shooting functionality
Test version of shooting mechanic with placeholder assets
First Level Gameplay Mechanics
An Unreal Engine plugin was used called Apex Destruction to add the destruction effects to multiple assets within the project as it allowed the gun to have realistic interaction with these assets.
First Level Blueprint
Implementation of a system used for the second level which only allowed an action to be performed when an item has been obtainedSecond Level Gameplay Mechanics
Second Level Blueprint
Implementation of the gameplay mechanics of a platforming level that wasn’t implemented due to time constraintsExample of the ending sequence and the UI that I programmed to appear after it has concluded
Ending Blueprint
I was responsible for the UI size, content and implementation but the visuals were made by another team member. The wording used in the UI is intended to match “cowboy-speak” to match the setting of the game.
Example showing the illusion of the train moving to make the environment make sense
Environment Blueprint
To create asset animations I used a feature in Unreal Engine known as level sequences. This allowed me to keyframe properties of the assets and control the timings of when these changed. The level sequences are activated from within the blueprints but I also used blueprinting methods to change the properties of some assets if the level sequence wouldn’t work for them.
Example showing the level sequencer interface animating the camera for the ending
Example of the safe animation using mathematical values
During the planning stage Max, Jack and I created an overall plan for our project idea which showed the whole scope of our project. The other team members joined later but they agreed with the plan. We put ideas down on a piece of paper for the different aspects of our game. It wasn’t thoroughly detailed but it allowed us to determine a baseline for what we would need to do to make a solid project and give a taster for what the game idea could be if taken further.
Overall project plan showcasing our entire game idea before cutting elements for our final version
The overall idea was to have seven different levels set within a moving train that had different gameplay mechanics to give the player a different experience in each carriage. The level elements and order of these levels was intended to be randomised to make the game more replayable as it would be a unique experience each time.
Our group was organised using a Google Drive document that included tables of work that needed to be done with colour coding used to display the priority and completion state of each aspect. The 3D modellers could choose what assets they would prefer to do and they would add a date when they completed each model. Other members had similar lists for their specific work.
Green = Completed
Orange = Partially Done
Red = Not Started
Example of table displaying the models needed for the game and the completion states with dates
Example of table displaying the levels in priority order and what had been completed for each level
We didn’t set a rigid schedule for our project but we strived to always have an improvement each week of the project as long as we had a functioning game at the end of our development time. Having some of the levels playable with a beginning and end sequence was the end goal.