During the last session with Harriet (Union VFX) on 10th December, she gave some useful feedbacks regarding my CV and showreel. She liked the bottom descriptions in the showreel that mention the tasks I did for each work. She also pointed out the weak samples in my showreel, so I updated my showreel to remove those and added several new clips from my previous works. This time I’m able to include my FMP animation as well since it was completed by the end of Term 4.
Final Compilation
Compilation of my animation study of six-legged basic terrestrial movement patterns, FMP animation and breakdown.
Masking and Rendering
Week: 6 – 9 December
During the final week of my project, there were still several tasks need to be done which are rotoscope masking and rendering. I have finished the character animation in all tracked footages last week. So based on the animation, I’m able to identified which shots and areas in the footages that need the masking treatment to make the objects that supposed to be in front to appear on top of the 3d characters.
There are 4 shots that required masking; Shot 01, 02, 03 and 10.
Tutorials
I’ve never done any rotoscope masking using Blender before, so I watched several tutorials from YouTube on how to do a proper masking. I think the tools and method are almost similar to After Effects which I’m quite familiar with.
Shot 03
Shot 03 probably needed the most number of masks when compared to the other three, but nevertheless I started with this shot first as I was eager to see how to result will turn out. I began drawing the mask for the bench and because it has holes at several areas, I just made and combined multiple masks as a quick solution without using another mask to cut the hole similar to the ‘pathfinder’ tools in Illustrator.
I then continued drawing several new masks for the other bench, tree, trash bins, and people.
All masks needed for this shot has completed for frame 1, but the camera is actually moving and panning throughout this shot. The problem was the masks were not moving together and only stay at the same spot. I could animate the mask shapes frame by frame but it will take too much time. Good thing is this footage was already tracked and has multiple tracking markers in it. So I used the advantage by parenting the masks with one of the markers. And voila!, the masks are now moving together with the objects and view.
However, there were still some slight miss-alignment to the mask with the objects. So I made a quick adjustments to the mask’s shapes and positions at several frames to realign them.
Compositing Nodes
The masks need to be composed using nodes in order to make it appear correctly with the 3D characters and original footage layers. In Blender, I discovered after working with my personal project in Term 3, that when compositing 2 layers using the ‘Alpha Over’ node, the layer attached at the bottom will appears on top of the other layer in the render.
Below is part of the first iteration of nodes I setup to compose the masks with the background and 3D characters.
I noticed that the mask has jagged edges in render. I’ve tried changing multiple settings in the mask editor to solve the problem but the jagged edges were still visible and didn’t changed a bit.
I then thinking the problem probably came from the Mask node, but the settings are very limited. The ‘Feather’ and ‘Motion Blur’ in the node have nothing to do with the jagged edges. So I tried adding and testing several nodes in between the Mask and Alpha nodes.
With the Blur node applied, the jagged edges were still very visible, but blurred. So this is not the real solution.
I rewatched the tutorials and noticed that they added the Dilate/Erode node. But this was still not fixing the problem as the function of the node is to quickly shrink and enlarge the overall shapes of the mask and not smoothen the edges.
I then looked and searched for nodes that has anything to do with ‘smooth’ or ‘anti-alias’. After multiple tries and errors, I found the ID Mask node (unexpected name for its function). It don’t have any effect at first with the ‘Anti-Aliasing’ option turned on, but increasing the index to ‘1’ fixed the problem!
I used the ID Mask in conjunction with the Blur node to make the smooth edge blur a bit, so it will match with not-so-sharp footage.
After the Shot 03 finished, I proceed with the other three shots. The process was almost similar to the Shot 03. It took me about a day to finish the masking in all four shots.
Shot 01
Shot 02
Shot 10
Shot 10 probably the easiest mask for the pole only.
Results
Character Animation in Tracked Footages
Week: 29 November – 5 December
With less than 2 weeks until deadline, I proceed to incorporate the character animations into the tracked footages as planned. I have finished all the basic character animations last week, so this time I reused the animation and composed them into the footages. Some shots have additional acting animation such as the characters talking to each other, waving hand, etcetera that were animated directly in the shots.
For Shot 01 and 02, I used the exact walking animation I’ve created last week without any changes. At first, I used the running animation for the horse on Shot 02, but the character moves too fast from outside the frame on the left to the right.
For Shot 03, I was actually thinking to make the crab character sitting on the bench at the left, but it’s doesn’t quite fit with his multi-legged form. So I ended up making him talking with the horse character.
This shot actually started with the crab character talking while walking with the horse. But then I changed it to make him talking with another crab instead as I already have a shot (Shot 03) with crab talking with horse.
I think shot 08 is quite bad, so I probably would not include it in the final animation.
Shot 10 was the longest I worked on. It has several versions before I got the final one, with different character number and positions.
Personal Showreel Update
I updated my personal showreel with some of my best works from the university and previous jobs for the upcoming Showreel / CV reviews session with Harriet Edge-Partington (Union VFX) on 10th December.
Animating The Characters
Week: 22 – 28 November
As the camera tracking phase finished last week, I began animating the characters. I planned to spend 2 weeks for the animation, which is to complete all the basic character movements (walk, run, jump and turning direction) in the first week and integrate the characters into the tracked footages during the second week.
Six-legged with Insect Anatomy
In my current state with the thesis, I already found and understand the basic movement patterns of six-legged insect. There are 2 popular patterns used by most insects which are ‘tripod gait’ that always has 3 feet on the ground during the normal walking, and ‘bipod gait’ for higher movement speed especially running, which always has 2 feet on the ground for every cycle. This tripod and bipod gaits are also applied when the insect turning their body to another direction.
So with this knowledge, I animated the crab character first.
Crab walk cycle
Crab run cycle
Crab turning body animation
Crab jumping
Six-legged with Horse Anatomy
In my thesis, unlike the crab, I still haven’t really have a solid finding for the movement patterns of six-legged creature with horse anatomy. But I think it’s okay to proceed with the animation at this point because it can also help my finding for my thesis as I’m further experimenting during the animation process.
For the animation, I used several references from the real quadruped horse since the animation behaviour and patterns would be very similar. I also found and used the short clip of Avatar’s ‘behind the scene’ that features some snippets of the creation and animation of the six-legged Direhorse from the film.
Horse walk cycle
Horse run cycle
Camera Tracking
Week: 15 – 21 November
As early as this week, I started working on the camera tracking phase for the selected footages that has been confirmed last week. I have made the final cut for each shot and exported them for the next process in Blender, so I will only need to solve the camera movement for the exact duration and frames only. I planned to have all the footages to be tracked by the end this week so I can focus on the animation and post-production during the remaining 3 weeks before the dateline.
The camera tracking went smoothly as I already learned and experimented the process quite heavily during my personal project and indie film project in term 3.
Term 3 Indie Film Project (Camera Tracking):
https://kamil.myblog.arts.ac.uk/2021/06/06/indie-film-camera-tracking/
Term 3 Personal Project (Camera Tracking) :
https://kamil.myblog.arts.ac.uk/2021/05/02/personal-project-rough-designs-practices/
https://kamil.myblog.arts.ac.uk/2021/06/06/personal-project-camera-tracking/
I chose to begin with the last shot (shot 10) first as I considered this as a benchmark shot for my animation. It has a long camera panning with multiple objects movement when compared to the other shots. I want to get this shot finish first, so in a worst case scenario if I suddenly don’t have enough time to complete all shots, I will go all out with for this shot only with all animation in it. But of course this is just the thinking only as I want to have all the shots in my final animation.
About couple of hours later, I managed to get the satisfactory result for shot 10. The process was quite smooth and I’m very happy with the track.
I then proceed to track the other shots. The processes are almost similar to the shot 10 and below are the results.
Footage Recording
Week: 8 – 14 November
I went to the university this week to record all the footages that I’ve planned in the storyboard last week. I actually don’t have any proper shooting equipment to get high quality visual. I only used the same iPhone 6s for most of the shots like I did for my previous personal project in Term 3. This time I also use the old Galaxy Camera for several closeup shots since this camera can do optical zoom up to 21x. I recorded multiple version of footages for each shot as backup.
The exterior scene especially last shot is probably the hardest to shoot since I can’t control the crowds. I have to get the perfect timing and position of the crossing pedestrians and vehicles on the road that happened spontaneously. I need a shot with not too many people, with good placement, direction and empty spaces among crowds for me to place 3 or 4 characters walking together with them. I also don’t want any moving vehicle that obstruct the view and attention for the crab character that will wave his hand to the camera towards the end of the shot. The shot will be panning slowly from left to right, so I need to capture the moment during the shot duration of traffic stop at the crossing. After multiple attempts, I finally got 2 to 3 shots that I think usable for the last scene.
The interior scene on the other were fairly easy to shoot because there are always time where not many people walking around in the building. The major problem with interior scenes is the lighting. There are many areas in the building that have a relatively dim lights so it caused a lot of noise on the footages as the camera try to increase the ISO to brighten the shots. The worse shot is the stair scene since the area was very dark. So I will remove the shot from the final video.
There are also shots that I changed from the original plan especially the classroom and library scenes as I can’t find suitable areas and angle for the shots. Most rooms were a bit crowded and equipped with students when I was there, plus the empty classes I found does not have a very good lighting either. So I ended up with hallway shots only.
When I got home, I quickly transfered all the recording into my computer to check on a larger screen if the footages are usable for my project. Upon checking I found the footages are not as good as I hope, but I think I can still use it, so I don’t plan for re-shoot.
I then made the footage selection and cut using Final Cut Pro. There will be 10 shots with 9 of them will require CGI treatments (camera tracking and animation). I exported each individual shot that has been confirmed for camera tracking phase which will begin next week.
Final Story Idea
Week: 1 – 7 November
After several changes to the story idea, I finally decided to make a short animation with commercial style for my FMP. I’m interested with the idea of University’s ‘Enrol Now!’ ad for new student intake. I was thinking to do a parody commercial where UAL opens new courses to six-legged creatures instead of human. The final animation would feature several six-legged creatures as students moving around in UAL’s building and areas, so the animation would still have my original FMP idea to have 3d character animation on a real footage that demonstrates six-legged movement patterns.
I look around the internet to find some university commercial as references. I found that there are variety of styles; some are short or too long, some are using real videos, motion graphic, music only or using voice to promote their university. I think it would be interesting to use voice as well in my animation with parody funny sentences, but at this moment, I’ll go with music only and probably add the voice later if I think it’s suitable. Below are only some of the many university ads that I found interesting.
In my own version of commercial / animation, I planned to have different versions of six-legged creatures doing the walking, running, jumping and turning body animation in different areas around the UAL building such as in class, library and hallway. I was thinking to have a great ending shot with a full front view of the university building from across the street, where multiple characters crossing the road towards the university before the UAL logo appears at the end of the commercial / animation.
Finalising Character Models & Rigging
Week: 25 – 31 October
This week I continued modeling the horse character from last week and the pending unfinished crab character I did during the summer break. I want to start with the animation as soon as possible, so I have to finalise both characters quickly including the rigging, UV map, and textures.
Crab Character: Modeling
The crab character still has several unfinished parts which are the antenna and the mouth area including teeth and tongue.
I started by defining and finishing the shape of the lip and the interior of the mouth
I then did a very quick models of the character’s tongue and tooth from basic cubes.
The tooth and tongue model were then placed inside the mouth. I duplicated the tooth into three more teeth with slightly different sizes and rotations to make it look uneven.
For the antenna, I duplicated one of the legs and modified the shape to make it look like the antenna from the sketch.
After the model finished, I think the single antenna looked a bit weird, so I decided to make it a pair.
While working on the modeling, I was also rethinking about the story of my FMP, probably changing to something related to student and university. Maybe the story will be about the characters going to class, similar to my reference for the crab character, which is Monster University. I will finalise the details of the idea and shots next week.
Crab Character: UV and Texture
I didn’t planned to have a realistic or painted texture for the character, but instead to use a simple procedural textures. So I need to unwrap the character’s UV first.
The first step is to mark the seams so Blender can unwrap each part properly, and I can have the texture seams at the areas I wanted, which are at the back and the bottom so they will not really visible to the viewer.
I duplicated the crab body parts to 2 or 3 more for color variations, so in the animation / shots I can quickly turn on or off the object in the collection to make the character look different between shots.
Crab Character: Rigging
For the character, I built the skeleton manually from scratch using the standard Blender bone.
Skinning and vertex weight
For the skinning process, I used the manual vertex value instead of the standard weight painting method. I prefer the manual method especially when the object has a low-poly state since I can choose and select the vertices easily.
For me it is multiple time faster to skin this way where I can just select the vertices and enter the intended weight to quickly make them following which bone I want, compared to using weight painting brush where we keep painting again and again to get the correct values for each body parts. This manual method is especially very effective when dealing with very narrow areas such as fingers. Using weight paint in this area instead can be very painful when it painted the wrong surfaces since they are very close to each other.
If I want the vertices around the character’s chest to follow 100% to the upper spine bone for example, I can just set those vertices weight value to 1.0 to that bone, and set the vertices loop between the upper and lower spine to the value of 0.2 so that it will follow the upper spine for 20% to create soft and smooth bend. It’s very fast and I can get consistent weight for all sides.
Horse Character: Modeling
After the crab character finished, I quickly worked on the horse character. The process was almost similar with the crab especially for the UV unwrap and rigging, so I will not described the process as detail as the crab character.
I started by reshaping the head and face to make it look more stylised.
I think the horse’s face look a bit fierce so I made more adjustment to the face again to make the character look more friendly. I enlarged the eye made it more round.
I also decided to reduce the number of hair on the character, and made the character to have a human-like hairstyle.
Horse Character: UV and Texture
Horse Character: Rigging
I used the same techniques as the crab character including the IK and the manual vertex weight value for the skinning.
After using the manual vertex value method several times for both characters, the only thing that really annoying was it will not automatically normalize the weight value to the sum of 1.0 between multiple bones that shared the same vertices. So I will need to use the ‘Normalize All’ function every time I entered new value to the selected vertices so it will deduct and calculate the balance weight values to the other bones. If I forgot to ‘normalize’, multiple bones can effect the same vertices with the same maximum weight which can cause the shapes to not properly follow the intended bones.
I used the manual vertex weight value when skinning in 3dsmax as well, but 3dsmax will automatically normalize the value. I’m not sure if I can do the same in Blender but I cannot find the way yet, other than to use the ‘Normalize All’ function.
Finally, I managed to finished both characters including the texture and rigging this week, so I can start with the animation as soon as possible. I planned to finalise the story first next week.