`Meet Mat` is Back - The 3D Digital Painting Contest
Animation Demo Reel - Jacob Döhner

Animation Demo Reel - Jacob Döhner

Jacob Döhner
by jacobdoehner on 20 May 2022 for Rookie Awards 2022

Welcome to my entry for this year's Rookie Awards! During the last 9 months I worked on my demo reel at PIXL VISN media arts academy in Cologne, Germany. I tried to give a detailed breakdown of my workflow and thought process on each project.

35 2322 7
Round of applause for our sponsors

Scorpions In The Desert


The „Scorpions in the Desert” was the first project I worked on for my demo reel and is a collaboration with Laura Ludwig, a very good friend of mine here at PIXL VISN who specialized in Lighting, LookDev and Compositing. While I was planning my demo reel and gathering ideas for possible projects, Laura asked me to join her project and create a small animation of a scorpion rig from Cave Academy. I really liked her ideas and shots and also thought it would be a good idea to start my demo reel with a simpler animation, so I joined the project.


As I was testing the rig, I noticed that there were no space switches for the pole vectors and they were in world space so I would have to animate them every time the legs of the rig would move. Therefore, I created a space switch, making it possible to switch the pole vectors between world, root, and leg space.

In the next step, Laura and I planned the animation, cameras, and the overall composition. Initially, Laura only planned to work with one scorpion in the scene but after I had a meeting with my animation teacher Fonzo Romano, he suggested placing a second scorpion in the scene, as it would not only make the animation more interesting when there is an interaction between the scorpions but also improve storytelling and the composition in the end.

Laura liked the idea of a second scorpion, therefore I created a previsualization of the animation so we could rearrange the cameras. We used different techniques, like the rule of thirds, golden ratio, and looked for arcs in the picture to guide the viewer’s eyes to the scorpions in a natural way. Our goal was to create cinematic shots that even though they are really short, directly tell the story from the first second on. 


As we had planned the shots and the animation, I started with a walk cycle as the base of my animation. After 1-2 days, I finished the walk cycle of my scorpion and created two motion paths, one on the ground and one on the skull. 

My teacher Robb Innes showed me a way to control the speed of the walk cycle with an expression and in relation to the motion path. This works by creating an unlimited float attribute (e.g. called „cycle”) on any control, in my case a new control which also later functions as an up vector when attaching the rig to a motion path. This attribute works as a driver and determines the speed of the walk cycle.

At this point, I faced a problem because I had already animated the walk cycle and connecting the animation to the attribute would not work the way Robb showed me. After experimenting for a while, I found another, quite easy way to connect the existing animation to the attribute: First, I converted the value of the cycle attribute to a time value by using a unitToTimeConversion node. I selected one of the animated controls and loaded all its inputs in the Node Editor. Every animation of an animated control is stored in so-called mergedLayer nodes. These nodes have a time input that, if not connected, uses the time value according to the current frame in the timeline.

The value of the cycle attribute should represent the current frame in the timeline, meaning a value of 1 is frame 1 or a value of 13 is frame 13. Therefore, I had to change the conversion factor of the unitToTimeConversion node from 1 to 250 (because at default settings a value of 1 output as 0.04). After that, I connected the output of the unitToTimeConversion node and plugged it into the inputs of each translation and rotation mergedLayer node. This overrides the time value of these nodes and uses the value from the cycle attribute instead. Once everything was connected, the speed of the animation was controllable with the cycle attribute.

Now, I had to repeat these steps above for every control that was part of the walk cycle, but it would have taken quite some time to connect everything manually, so I quickly wrote a small simple script that automatically connects the output of the unitToTimeConversion node to the mergedLayers node of each control. Finally, the complete walk cycle was controllable through the cycle attribute on the new control.

To create a relation between the speed of the walk cycle and the speed of the rig on the motion path, I simply needed to create an expression for the cycle attribute and find the right conversion factor (depending on the length and direction of the motion path):

This method is really easy and efficient to use because you can still make changes to the walk cycle animation without having to disconnect and connect everything again. If you want to add any additional animation on top of your walk cycle, you just have to create a new animation layer and set its mode to additive. 


I started by searching for references of scorpions walking, crawling out of holes and especially reference of interaction between scorpions. After observing and analyzing the references, I noticed similarities between almost all scorpions: Depending on the situation, scorpions can either move slowly and more fluid when they are relaxed or really fast and stiff when they are aggressive or feel danger. I wanted to introduce this contrast of behavior in my animation, so I animated both scorpions more relaxed in the first shot and as soon as they notice and interact with each other they are both stiff and approach one another really fast.

I started by correcting the motion paths first and then adjusted the speed and timing of the scorpions. The usage of animation layers was not only crucial for this project but made it really easy to animate both scorpions. As shown, I created a new animation layer and set its mode to additive and started correcting the shape of the body first, followed by the claws and the tail. 

Once I had made all corrections and was happy with my animation, I contacted Philipp Willer, Lead animator at Pixomondo, and asked for feedback on my animation. Overall, he already liked the animation I did but showed me that there was room for improvement considering shapes and silhouettes. Oftentimes, certain parts of the body, like the claws, were covered by other parts of the body, so the silhouette was not clear. To make sure I always have clear shapes in my animation I use C-shapes as shown in Fig.06. If these arcs are visible and clear, the shapes in the animation will also be clear and improve a lot.

Finally, after I have made all the corrections, I just needed to bake the legs of the scorpions and make sure they are on the ground. This is always my last step because when I have to make bigger changes in the animation I have to bake the legs all over again. 

Leopard | Rigging & Animating a Quadruped


The Leopard project is a bigger project because it consists of two parts. In the first part, I created a rig for the leopard with the help of Advanced Skeleton and animated a simple walk cycle to practice quadruped animation. I later used the walk cycle to showcase and break down the rig and show more details of the model closer to the camera. Once I had the rig and walk cycle done, I showed it to a friend of mine, Carsten Baars, who is specializing in FX and had also started a new project at that time. He created a jungle environment and worked on a river simulation in Houdini. He really liked the animation and the model from Massimo and asked me to join his project. 


While I was planning a project where I could show off quadruped animation skills, I was looking for a rig and discovered Massimo Righi’s great animal models with super realistic fur. I found this leopard rig and bought it from Massimo and already when testing it, I realized that the rig was too simple and I needed more features, especially considering deformations in certain extreme poses.

I did not hesitate and started learning more about Advanced Skeleton, an automatic rigging tool, and how to use it to create a really good rig in a short amount of time. Basically, I learned everything I needed to know about Advanced Skeleton from a series of videos by David Mattock on YouTube (AnimatorArtist Life). 


I started by searching for different anatomical references for a leopard, like muscles and skeleton. I found different perspectives of a really accurate CG skeleton with muscles by Vladimira Avanti Strukanova, Senior Creature Modeller at Ziva Dynamics, and later used it as my main reference for joint placement.

Advanced Skeleton comes with presets for different kinds of characters or creatures. I used the quadruped preset and started by placing the joints first, constantly looking at my reference to be anatomically as accurate as possible.

I changed the setup of the front legs because the IK setup was going all the way from the scapula down to the foot. I rather have the scapula setup in FK and separated it from the IK chain, to have more control over the movement of the leg. I made changes to the foot setup to have an additional foot break control, which later really helped rolling the foot off the ground. 

After I ran the auto rigging process, I checked the whole rig and made sure everything is working. Advanced Skeleton was not generating a good result in the face of the leopard. After several tries of fixing the face rig, I deleted every joint in the face setup except for the eyes and the jaw. Keeping just these parts of the setup was totally fine, as I did not plan to do any detailed face animation anyway.

I still wanted to be able to have a little bit more control over facial expressions, so I added the roar expression by using blendshapes that came with Massimo’s model. Looking at my references, I also noticed that the skin and lip at the mid-section of the mouth move back when the jaw opens up wide. I created another blendshape to correct that shape at the maximum opening position of the jaw.

After checking the overall functions of the rig, I continued working on the skin weights of the rig until the deformations in any extreme position looked good. Once the rig was finished, I was able to start working on the animation.


Quadrupeds can be quite hard and overwhelming to animate in the beginning and everything about them was still new to me. My teacher Fonzo Romano recommended to me reading the Quadblog by Daniel Fotheringham where he explains the differences in anatomy and the movements in quadrupeds. The Quadblog is one of the best resources on the internet to learn about quadrupeds and how to animate them: Daniel starts by explaining the differences in spines and gaits in quadrupeds and shows how to be physically correct about weight, timing and offset of hip and chest. Later in the Quadblog, he shows an efficient and logical way on how to quickly animate a quadruped in five steps. Before starting directly with a more complicated shot, I wanted to practice and apply Daniel’s techniques by animating a quadruped walk cylce.

I started animating from the inside to the outside, starting with the core/heart of the animation: The up and down movement of the hips and the chest. Once this was animated anatomically and physically correct I moved on to the head, back, and front legs and finally the tail.

It is quite difficult to get the roll off movement of the front feet right in the beginning and I spent a lot of time working on this part of the animation. The scapula, wrist, foot and its foot break controls all have an important role in this movement and if they do not play hand in hand, the roll off does not look smooth and the legs pop or jitter. 

Now that the walk cycle was finished, I baked the cycle to the spot and created additional animation on a new layer on top of the cycle for the final render. 


When I joined Carsten’s project, he sent me the environment for the animation and I started by creating a quick previs by blocking out a few poses over the 240 frames. This helped both of us to get the idea of the project and make some bigger changes to the environment, if needed, right in the beginning. Once we had the animation planned, I looked for different sequences of leopard reference that fit my ideas (jump, landing, shakes etc.) and that I could later use to match my animation.

In the Quadblog, the first step of the five-step quadruped animation method is the blocking of the center of mass of the creature. Oftentimes, the COG control (or root ctl) of most quadruped rigs is located at the hips and not at the actual center of gravity. This was the same case with my rig , so I created a new temporary COG control which is located approximately in the middle between the hip and the chest.

Now that the setup of the rig was updated, I hid all legs, the head and the tail and blocked the center of mass of my leopard, getting in the basic movement and timing of the body. Next, I worked on the chest and head only and made sure timing and weight would match the reference and are physically correct. Then again, I worked on front and back legs and the head and tail.

At this point, I needed feedback from someone professional and more experienced, so I contacted my teacher Fonzo Romano and Philipp Willer. Both gave me some valuable feedback and it took me just about another day to correct and finalize the animation.

Dragon Vs Lizard


Primarily, the goal of this project was to showcase my skill in animating heavy weight creatures. Many experienced animators told me that this is an important skill if you want to work in the industry because a lot of animators struggle with weight and timing which is crucial for heavy weight animation. For my project, I chose a dragon because it is not only heavy weight but it also has a quite complicated flight mechanism which can also be challenging to animate at the same time.

Together with three students at PIXL VISN, I created a 4-shot sequence of a dragon trying to catch a lizard creature. Tim Jagodka provided me with an already existing environment he had created for another project, Stefan Klosterkötter textured the two creatures and Ivan Pechalin is responsible for lighting, rendering and compositing.


While I was planning shot ideas and looking for heavy weight creatures, I found these two creature rigs on Gumroad by Ara Hokhikyan. I really liked the look of the models and additionally, both rigs came with a Maya native muscle system, which provides really nice deformations when animating.

Next, I needed an environment that would not only fit to the idea I had in mind but also to the style of the creatures. A few weeks before, Tim Jagodka created an Islandic environment with Quixel assets and it was the perfect fit for my shots, so I asked him if I could use it for my project, too. A few days later, he sent me the environment which was actually an Unreal Engine project, so I needed to convert it to Maya and prepare it to be able to render in Arnold. The following days, Stefan and Ivan joined the project, as both really liked the ideas I had and the creatures I got from Ara. 


Both creatures I chose for my project do not exist in real life and therefore I can not find any real life references of them. Therefore, I needed to search for references of animals that are anatomically similar or some CG references from movies with different creatures. The anatomy of a dragon is a combination of a bat and a lizard, so I used videos of bats to understand the flight mechanism of dragons better. The other creature has long arms and long legs and looks pretty much like a big frog, but looking at the model in its default poses it also reminded me of a gorilla, walking on his fist. Animating the creature just like a frog would not have fit the size of the creature very well and would look weak, so I introduced some movements of a gorilla to give it a stronger appearance.

Next, I roughly created the cameras and worked on the flight approach of the dragon in the first shot primarily. I used the same techniques I learned from the Quadblog working on the leopard project and applied them on the dragon, animating from the inside to the outside. Getting the flight mechanism, weight and timing right took me quite a long time so I worked on the first shot for a bit longer than I had planned.

Moving on, I worked on the other 3 shots, starting with the cameras: The cameras I had already created seemed a bit boring so I introduced more speed and action into them, considering the rules of cinematography at the same time. Additionally, I always made sure the transition of each shot would be as smooth and seamless as possible by matching the movement/direction of each camera. This resulted in a really nice effect and was visually very interesting to watch, especially when you watch it for the first time.

In the next week, I worked on the animation of both the creature and the dragon from shot 2-4 and progressed real fast. Once I was done with major movements in the animation, I worked on the small details, like fingers sliding on the ground, shakes and jiggles when the creatures are roaring. I finalized the last two shots and prepared the animation caches for Ivan, so he could already start with lighting.


After a couple of rough weeks, I was finally done with my animation and prepared everything for Ivan, so we could soon start to render the final shots. Meanwhile, I was ready to present my animation to get feedback from Fonzo and Philipp again. We talked about what could be improved in the animation and also in the cameras, as they were a bit too wild sometimes. Both also suggested to work on some shapes and silhouettes again and rework the wings in the beginning.

Ape Warrior - The Purpose Of Life


Before I started working on my Animation Demo Reel I created a list containing the animation skills I had to cover in my reel. I already covered a wide range of the skills with the previous three projects I had created but three very important skills that are required in any animation reel were still missing: Lip sync, body performance, and therefore also acting. At this time, my reel only contained VFX projects and I did not want to mix in a feature animation shot with a stylized character, so I had to come up with an alternative. I found an animated shot by Charles Icay (Gryffin Animation Academy) with a realistic ape. In his shot, he also covered the same skills I needed for my reel, so it inspired me to create a similar shot, with realistic facial animation, lip sync, and body performance.


Overall, the rig was working really well and there were a lot of extra functions, like muscle or breath controls. Unfortunately, the mouth rig was not good at all and deformations looked quite bad and could not be improved by painting skin weights only. I was not able to find another ape rig with a good facial setup, so I had to stick with the rig from Kiel Figgins and had to rig the mouth myself. I wanted to have a bit more functions in the mouth rig, so I created a setup consisting of a combination of joints and a wire deformer system with a „lips seal” function and a more advanced mouth corner setup. 

Now, the only control that was missing was a mouth corner control. With the help of Kerstin Tillmann, who specialized in rigging at PIXL VISN, I created a mouth corner setup with the ability to control the „follow weight” of each lip control. Additionally, the mouth corner was only able to rotate around the gum and teeth, so this way the deformations also looked really good when the control was moved forward.

Now that the mouth rig was completed, I moved on to the next step and searched for a movie scene and audio sequence that I could use to create my shot. A friend of mine, Philipp Willer, gave me the advice to search for a deep, male voice because it would fit the best for an ape. Additionally, he told me that my animation would benefit from words starting with a „B” or „P” (such as „purpose” or „pass on”) because the lips of the ape would „puff up” and it would create a really nice looking effect.

After a couple of days, I found the „Phone Call” scene from Lucy (2014) with Morgan Freeman and Scarlett Johansson where Morgan Freeman talks about the purpose of life. I came up with the idea of an elderly, wise ape that passes on his advice to another younger ape of his tribe, so I ended up using a monologue audio sequence of Morgan Freeman from that scene. I extracted the vocals from the background music with FL Studio and applied a reverb and delay effect on the audio to emphasize the mood of the whole scene.


Before I started with the project, I watched the Planet of the Apes trilogy to get more inspired for the shot and also observe how the animators from WETA Digital achieved high realism in their animations. While I was watching a cave scene from the last part of the trilogy, an idea for my shot came up and I started to create a cave scene with Quixel assets and previs right on the next day. From the very beginning, I used different techniques of cinematography to create a nice composition in each shot and I ended up using these cameras with some minor changes.

Now that the idea was there, I recorded references of myself: I shot multiple references of my full body performance but also close-ups of my face and mouth. Additionally, I recorded more and less exaggerated references of myself. Later, this was really helpful to decide if I want to push animation and shapes more or make the animation more subtle.

Once all the references were recorded, I started working on the body performance first to get a better feeling for timing, especially with the thoughtful pauses in the monologue when the ape turns around. My goal was not to only show his train of thought in the facial animation but also in the body as he is trying to find the right answer to the question.

After working on the body, I moved on to the face, starting with the eyes, eyelids, and eyebrows as they play the biggest role in facial expression. I worked on these parts of the face first to determine how expressive the face will be each moment and then adapt the mouth performance to the expression.

While I was working on facial animation, I created a small animation library with Studio Library. I stored specific animations, like blinks or mouth shapes to reuse them over and over in my animation. This technique came in handy when blocking out the lip sync because I did not need to create the specific mouth shape each time, I could just paste in from the library or blend it in with other shapes to create the desired result. 

Once the animation of the body and the face was done, I introduced some imperfections on additional animation layers, like small jitters that emphasized his thought process and also his hesitation to give an answer. I also created some corrective blendshapes for the brows, lips, and eyes. I corrected some bad-looking deformations but also introduced some more realistic-looking deformations in the wrinkles of his skin, especially around the eyes.


I finalized the animation and had one last review session with my teacher Fonzo Romano before the demo reel deadline. In our meeting, Fonzo suggested introducing some offset in head, body, and hand and separating them from each other because they all moved at the same time in the first shot. We also talked about minor exaggerations of some of the facial expressions, correcting some eye darts, and adding more detail in the animation of the shoulders in the second shot. For a final touch, I sculpted a „fake” contraction of muscles around the neck to get some motion into these areas, as there were no controls to animate the neck.


Now that the animation was ready and I was working on finalizing and rendering the project, I added some more assets to the scene, like a rope, cloth, and many different plants. I wanted to achieve more life in the background so I decided to quickly simulate the assets I added. I used nCloth to simulate most of the plants and the cloth in the background. To simulate the plants hanging down from the cave entrance and the rope I used nHair. These simulations took only about one day and added really nice detail and motion in the background. 


Next to the animation, lighting played a really important role in this project as well, because it set the mood and emphasized the importance of the story even more. I created a strong backlight, entering the cave from the big opening where the waterfall runs down. Additionally, I used two more fill lights that lit the ape just enough, so his facial expression was clearly readable. I created similar lighting setups with some minor adjustments for the next two shots, as the lighting conditions did not change throughout the sequence. To add the waterfall to the scene, I used video footage of a waterfall and projected it on a card in Nuke so it would move in 3D space in relation to the camera.

A few months ago, I started looking for other artists that could help me create a beautiful render for the "Purpose of Life" project. Together with Wunna Winter who is doing the groom, Stefan Klosterkötter who is texturing the ape and stick, and Thomas Eckstein who will light the scene and do the compositing, we worked hard to finish the project for the Rookies deadline. As all of us are working full-time and Wunna is graduating very soon, we did not manage to finish the project in time but I am very happy to share some already amazing looking WIP's!


Thank you so much to everyone who supported me during my time at PIXL VISN and helped me out on all of the projects for my demo reel! I just started my first position as a Junior Animation Artist at Pixomondo and I could not be happier!

Big thanks to Laura Ludwig, Carsten Baars, Stefan Klosterkoetter, Ivan Pechalin, Tim Jagodka whom I had the pleasure to collaborate and create wonderful projects!

I also want to thank Philipp Willer, Fonzo Romano,  Rebecca Neuer, Fabrizio Meli, and Robb Innes who supported me during that time and constantly gave me feedback on my work.

A big big thanks to one of my best friends Laura Ludwig without whom I would not be the artist and the person I am today! 

Comments (7)