Journal

The Making of “A Night at the Cathedral”

When the team at Studio Lampion started preparing for the production of what would eventually become our animated short film A Night at the Cathedral, all we knew was that we wanted to create a showcase project for our prospective clients and at the same to develop an efficient pipeline for our future productions.
It would have to be an animated short film of high quality and incorporate a distinctive style, yet at the same time be as simple as possible: As a start-up company with only two core artists we realized it would be vital to start out small and within reason – especially considering the production would be 100% self-financed and that we would be working on it alongside our paying projects for clients.

Early concept art of the magnificient bell tower

Brainstorming for story concepts we came up with more than half a dozen plots in just as many different settings but soon realized they all had one thing in common: They were too complex! So we took a step back and critically analyzed all the concepts we had come up with and whether there was anything that could be simplified so much as to be realistic within our modest means.
After much back and forth we eventually decided to go with the medieval theme as this undertaking seemed reasonable after eliminating any dispensable characters, settings and subplots. Moreover, we felt a strong connection to the main character and had a vivid image in our minds of what the resulting film should look like. We were aiming to portray a painterly, traditional cartoon feel and wanted to avoid the somewhat sterile look displayed by many modern 3D productions.
Armed with a set of proprietary tools that would help us in achieving this goal and years of production experience in all areas of 2D and 3D film-making, we finally got underway with our short film A Night at the Cathedral.

At this point in the process we had concepts for the characters, the setting and a basic plot, which boiled down to “Our birdbrained protagonist Belze is on a quest to steal the golden statue of the Holy Mazioles from a medieval cathedral and, of course, fails miserably.”

Cologne Cathedral

With the story’s plot taking shape we decided to get a feel for the film’s atmosphere and surroundings and did a lot of research on medieval art and history. Unfortunately, only few medieval structures remain in our town of Berlin, so we took some time to travel to historic and inspiring places such as the Cologne Cathedral, Notre Dame de Paris, Lyon and to visit castles on the Rhine river. There we took hundreds of reference photos, many of which we later reused as textures or details in our background mattes.

Concept Art of Clara playing the organ

The various impressions gathered during these research trips were incorporated into our concept art, which we drew, painted, modeled and rendered in 3D to visualize our ideas and to help define the look of the film.
Around the same time we started sketching out ideas for the protagonist Belze, our evil but not exactly brilliant thief. Belze represents the archetype of the comedic villain: He is sinister and wicked but yet clumsy and totally useless. In designing this character we were inspired by classic Disney villains and also took some cues from the Monkey Island series.
His antagonist is Clara, a young lady playing the organ during the night our story unfolds. She is a somewhat one-dimensional plot-device in that she doesn’t have any motives of her own and is only there to react to whatever Belze is up to.

Storyboard: Belze fleeing from the Cathedral

With the characters and story roughly laid out in our minds and on paper, our next step towards the realization of this project was creating storyboards. You might say we “cheated” a bit in this phase, as we did not actually draw most of the storyboard sheets at all – instead, since we happened to already have some early models of the characters and environments underway, we used these to create mock storyboards in 3D. This of course benefited us immensely, as we are definitely better 3D artists than draftsmen and this way had more options and patience for experimenting with the scenes’ layouts and getting perspectives to work just right. Furthermore we could keep working in these initial scenes over the course of the project and continuously updated them to include our latest improvements in modeling, texturing and animation. This workflow streamlined our task of managing the huge number of digital assets a 3D film production invariably entails.

3D character model

The character models in this film consist of very basic meshes with a polygon count closer to last generation video games than most modern film productions. We opted for this route because it is well suited for our simple character designs. Their bold features helped us to focus on creating strong silhouettes that are easily read and not having to worry so much about getting the rig messed up or facing other technical annoyances.

The rig itself is quite elementary and based on one we had created for an earlier animated short film, Now That Takes The Biscuit, which was similar in style to this film. Therefore the rig lends itself well to cartoony animation and features support for stretchy limbs and basic squash and stretch effects but does not offer much in the way of fancy automation or dynamics.

Clara's facial features where rendered in 2D

While Belze’s face was rigged the traditional way using blend shapes, we decided for a totally different approach for Clara; her flat and cartoony expressions would have been impractical to model, texture and animate in 3D, so we developed a proprietary plug-in for Adobe After Effects that projects the facial features onto her face in 2D. For this to work we needed to render out UV- and ID-passes of her head so that our plug-in would know where to place the eyes, mouth and nose. As these facial features were hand-drawn and animated in 2D, it was easy for us to create custom expressions depending on each scene’s specific needs and to time and animate them accordingly.

At one point during the production we were considering using motion capture technology for our character animation but eventually came to the conclusion that it would be cost-prohibitive and would also most likely work against the cartoon look we had established for this film.
So everything ended up being animated by hand the traditional 3D way. The biggest challenge here was in properly emulating the cartoon animation style we had used as our reference. We soon learned that the way squash and stretch animation works in 2D may look great but is unfortunately physically inaccurate and therefore hard to translate into our meticulous world of three-dimensional space and movement.
Our solution was to animate as far as possible in 3D and to afterwards emphasize the animation and squash and stretch effects using 2D tools such as the liquify filter in Photoshop on a frame-by-frame basis.

Normality: All characters were shaded and lit using our proprietary 2D tool

This method became feasible only due to our particular approach to shading and lighting. Unlike most productions where shading and lighting are applied in a 3D application on actual 3D models, we used an in-house solution to avoid this often frustrating and painstaking task. In this project the shading and lighting was done in 2D in Adobe After Effects using our proprietary plug-ins Normality and Celulight. This real-time re-lighting solution enables us to interactively shade and light on animation sequences that were rendered as normal-passes from a 3D program beforehand.

We found several advantages in this method: All changes are applied in real-time making the process feel far more intuitive and creative than hitting “re-render” time and time again in a 3D program. As there is no appreciable delay involved this workflow lends itself well to creative experimentation. And best of all, we could view the character animations within the context of the final backgrounds in a color-corrected, composited environment, making it easy to judge the quality and appearance of our final shots.

Normality offers a vast array of tools and controls to help define the look you're aiming for

To use Normality a number of simple passes are extracted from a 3D renderer which contain for example information about an object’s surface normals and the scene depth encoded in a 2D image format. These passes render in mere seconds and require no tweaking, making it a totally fail-safe process.
This image sequence is then imported into After Effects, where Normality is applied to the normal pass. Once a light is added to the scene, Normality calculates the shading right there in the compositing environment; any changes to the lights and shaders are made visible immediately and interactively.

What started out as a set of simple plug-ins for After Effects has developed into a complex shading and lighting solution over the years – the software is no longer limited to mere diffuse or specular lighting: It currently includes support for fake reflections, refractions, subsurface-scattering, screen-space ambient occlusion and even a very simplified global illumination model, many of which were used during the production of A Night at the Cathedral. Thanks to these tools our render times were only a fraction of what a full 3D raytracing renderer would have required.

Wireframe of the cathedral split into several independent parts

While part of the team was busy animating and shading characters, others began creating background mattes for all 30 shots, which meant modeling a medieval cathedral and its surroundings from the ground up. Obviously a cathedral and its interior is an enormous and highly detailed scene which can be quite a burden even on state-of-the-art soft- and hardware. Consequently the polygon count for individual objects was kept as low as possible.
To make working with this 12.000.000 polygon scene bearable, we split the cathedral up into more than a dozen blocks, each pertaining to a specific area and which could be imported on a shot-by-shot basis.
Wherever it made sense, instancing was used in order reduce the scene’s memory footprint: For example, the side of the cathedral is comprised of a dozen identical instances of a single wall piece that are automatically repeated and thereby save a lot of memory. The same is true for benches, stained-glass windows, chandeliers and many other complex details inside the building.

Background rendered with PANDA

Both the cathedral model and textures are basic in terms techniques applied – just clean polygon meshes and medium resolution textures including diffuse, bump- and normal-maps. Our trick to creating the painterly backgrounds seen in the film was Studio Lampion’s proprietary non-photorealistic 2.5D renderer, PANDA (Paint AND Automate). This tool automatically repaints scenes using actual strokes painted by an artist by converting the location and direction of these 2D brush strokes into actual 3D space. It thereby becomes possible to automatically repaint the scene from arbitrary perspectives. The brush strokes remain coherent over time to avoid the noisy flickering effect simpler 2D paint solutions may exhibit.

PANDA was used to generate the non-photorealistic look on our 3D models

After having PANDA create a painterly base for a shot, we brought these background layers into Photoshop for basic cleanup and adding additional detail in 2D. Often reference photos of statues and ornaments we had taken in castles and churches during the pre-production phase were used to embellish the background mattes by first extracting a normal-map from the photo and then conforming the colors and overall lighting to the background environment’s.

Finally, everything was brought together in After Effects where we added special effects such as fire, snow and fog to the shots and integrated characters and backgrounds by making the lighting match using Normality.

The production of A Night at the Cathedral was finished in November ’08 after about eleven months of work. Studio Lampion is currently refining certain elements of the film based on the feedback we received from our screening audiences.

Article first published in 3D Artist magazine.

The Making of “Bagel 2”

The idea for my animated short film Bagel 2 was first conceived by my friend and colleague Matthias Koenig and myself shortly after seeing all the news about the European space mission “Beagle 2″ in December of 2003. We found it quite amusing that while all one ever heard of the European Beagle were messages of failure and tragedy, the American mission at the same time was doing a much better job.

We soon realized that the story could make a cute animated short film and started sketching out our ideas.
Sadly, Matthias dropped out of the project early on due to him working on another personal project.

In the beginning, there were several different designs for the protagonist Bagel 2, some of which you can see sketched out below. Only a single day before the modeling-phase started, the look for Bagel 2 was finalized.

Concept art for Bagel 2

The Storyboard

Fortunately, the story itself was already roughly fixed when I started drawing the storyboard, but now the time had come to judge for every single shot, whether
a) it was required in order to tell the story
and
b) it was possible to implement in the relatively short timeframe of about 4 months.

I was aiming for a two minute film, and so I added, removed, changed and swapped shots until I was happy with the story and the length.

The storyboard was then scanned, cropped and inserted into Adobe Premiere to create an animatic. This can be useful to see if a story really works, in that it helps in timing the length of shots. Also, when people ask you what you’re doing all the time, it’s always nice to have at least something to show them!

The first shots from the short as envisioned in the storyboard

Modeling

By early April, all pre-production work had been completed and I could finally start modelling the “characters”:

A quite simple model was used for the robot Bagel 2

As you can probably see, the models featured in Bagel 2 are relatively simple, so the construction process didn’t take too long. All animate objects are modelled using NURBS, only the terrain and rocks are made of polygons .

Take a closer look at Bagel’s antenna (or tail) in the above image: In the film, there was a shimmering light where here is only a little green dot. This was done because it’s much simpler to add glowing lights in post-production than to render them in 3D. In After Effects, all I had to do was to filter out that specific shade of green and apply a glow effect there, giving me great control over the look and intensity of the light.

Interestingly, one of the only stored textures used in the film is the body of the American space ship, “Bob”. The flag and the details on him were painted in Photoshop.
Most other textures are created using procedural shaders, meaning that they are not stored in image files but are created only through mathematical formulas directly at render-time. I preferred using procedurals because even though the original texture for the Marsian landscape was huge (around 300MB), it still wasn’t large enough for close up camera views.
Procedurals do not lose quality when zooming in, so they were the obvious choice here.

Procedural shaders were used wherever possible

The detail on Bagel’s tires and Bob’s thrusters are created via displacement shaders . These are applied like bump-maps, but with the difference that they actually move the geometry instead of just the normals of the surface. If you look closely at the depiction above, you can probably see that the tires on the left are completely flat, unline those on the right.
Displacement shaders are great when you want to keep your models light and still retain a high level of detail. Beware though, certain renderers take much longer to render displacement maps than bump maps! I rendered most scenes using the free RenderMan-compliant renderer 3delight, so rendering displacements wasn’t that much of a problem in my case.

 

Lighting

The light rig used for the planet's surface

Above you can see my lighting setup for the terrain, the vehicles were lit separately.
In most shots the terrain was lit by some 15 individual light sources, adding to the 10 or so that were needed to light each of the “characters”. If you look closely, you can make out the sky dome surrounding the landscape, which is used to create the colours of the sky.
A single directional light was used to simulate the sun, which was also the only one casting shadows. The novice would think that one directional light could simulate the sun well enough, but that’s far from the truth: To effectively simulate outdoor light in a 3D program you’ll need to use either a technique called “Global illumination” (GI), or you can always fake it using an array of well placed lights.

 

I opted for the second approach, because even though GI can give you more realistic and fancy results , the render times will shoot through the roof making it infeasible for use in animation.

Also, and this was even more important to me, the traditional way of placing lights gives you much more creative freedom in developing the look of your images!

Lighting is a time consuming task where the most subtle of changes can make a big difference in the final image. While adding lights you must always keep track of the number of lights you already have in your scene, because every light source adds to the final render time.

Compositing

Perhaps the worst part about rendering 3D imagery is the time required to actually see your output. Since every single frame of the film must be processed separately by the render program, you never know where a mistake or artifact may popup until it’s too late.

Through thorough optimisation and tweaking I was able to cut down the render time to an average of about 1 minute per frame, which is quite acceptable for a high quality DVD format image.
Still, I simply didn’t have the computing power to render all those frames (around 4500) in my little “render farm” consisting of my workstation and the awesome combined power of my family’s two personal computers. What I needed was a way to render my frames quicker, without reducing the overall quality!

Having lived in Japan, I was introduced to the way anime is created. I remembered that anime is produced in “layers”: You generally have a background layer consisting of the scenery or location, and a foreground layer with the characters and any other moving objects.

The foreground was rendered separately

For Bagel 2 I found it was possible to employ this exact method to tremendously shorten my render times: Fortunately for me, on Mars there needn’t be any movement in the background, so in shots without camera movement the terrain is simply rendered a single time. Later the character’s animation is rendered alone in a separate pass, eliminating the need to render the computationally intensive background again for each frame. This technique reduced the render time by around two thirds per shot .

 

Compositing Shadows

There is a problem with this approach, though: Shadows cast on objects can only appear if the object itself is visible in the scene, obviously. But as I already mentioned, the background which would include the shadows is only rendered once� meaning that the shadow wouldn’t move according to the movement of the character. The practical solution is to use a special shader that receives shadows and simply makes everything else transparent, just like it isn’t there.

After rendering, the file sequence containing the character and shadow can then be stacked as layers in a compositing program to create the illusion of a single intact image or, in this case, film.

Particle FX

Some people have asked me how I made the particle effects in Bagel 2, such as smoke and fire. Well, I’m sure you’ll be glad to hear that most of them were accomplished relatively easily using an application called Particle Illusion SE and a compositing program. I received Particle Illusion SE for free with a magazine, and I must say it’s a great time saver for working with 2D particles.

The way I did it was simple: I’d choose a preset from the library which more or less fit my requirements for a specific shot. Then I’d play with the various settings until it looked and behaved just the way I needed it to.
In After Effects, I often like to stack the same particle sequence in several layers with different blend modes, which gives an added level of control.

In the scene below, most of the smoke was done using Particle Illusion. To create the smoke trail following Bagel, I animated the position of the smoke particle’s source, which I found worked surprisingly well.

The shimmering light coming from Bagel’s camera wasn’t done in Particle Illusion, however: This is a true volumetric light rendered in 3D and composited later with the rest of the scene. Most of the haze and fog is done using a pretty cheap trick: A simple fractal cloud layer in After Effects, with the blend mode set to “Add”…

Post Processing

I’ve heard lots of nice comments on the look and atmosphere in Bagel 2. Good that nobody’s seen the images that came directly from the renderer – they looked bland, flat and lacked much of the appeal they have now. Thank god for post-processing!

Straight from the renderer

After post FX

Compare these two images: The left one is “untouched”, in that it is exactly what Maya produced when hitting the “Render”-button. The image on the right was post-processed in After Effects to add an effect of fog and depth of field to the background, blurred highlights for that dreamy feeling and some quite intensive colour correction .

 

To achieve the haze and blur in the background, I had the renderer output a so called depth-map or z-map. This is a grayscale image of the scene, where the lightest parts are closest to the camera and the darkest are the farthest away. This map can be used by a post-processing application to mask certain effects.

Depth pass with Bagel in the crater

Many compositing applications include plug-ins for use with depth maps, but the trouble is that there are several different formats of depth maps so it’s quite likely that you’ll have to use a workaround like the one described below.
For the haze I used a “Solid Layer” with the colour of the fog and applied the inverted depth map as a mask. Then I played with the opacity and the blend modes until I was happy with the look – I found that an opacity value of 50-75% coupled with the blend mode “Lighten” will give convincing results in most scenes. Though you’ll need to fiddle around with the blend mode as results vary heavily depending on the scene.
Due to the depth mask, the fog gets thicker in the distance – there are many more effects you can achieve using this method!

 

The depth of field effect is achieved in roughly the same manner, but this time by using an “Adjustment Layer” instead of the “Solid Layer” and applying a blur filter. This one is a little more work to get to look right, but I think you get the idea.

Well then, I hope I was able to give you a little insight into the making of my animated short film Bagel 2. The film is available on 3dtotal’s “Short Drawer DVD” or viewable online in the shorts section of this site – I’d be pleased if you had a look!

(originally published on Vocanson)