The Danish Film Institute and other news

dfi

So, this blog has been pretty quiet for a couple of months. Hydralab has been busy with a number of other projects (which we hope to put up soon), and also with developing our pipeline tools.
At the same time, for the last 6 months, we’ve been working with the Danish Film Institute, through their New Danish Screen initiative, and spending some more time with the script. The focus of the story has sharpened considerably, and we’re now entering our second development phase, where I hope to test out some of my ideas.
We’ve also stepped back to rethink the production process. I’ll post more on this later, but our new process puts a considerable emphasis on a robust previs, with a skeleton crew, before any production begins.

Loco and the city

test_city_poster

Above is a recent motion control clip of one of our city sets (shot on our loco rig).  There’s a bit of compositing on the movie above, and we have a test running with 15 CG characters in the scene to see how much animation we need to put in for the scene to read believably.  If we get around to lighting that scene before production starts, I’ll put it up here.

Below are some more of the reference plates from the shoot, as well as shots from other city sets in progress.  The stand-in figures are built by the talented Hanna Habermann who will be joining the project again in January for the rest of the shoot.

Recruiting!!!

recruit_postcard

back_postcard

We’re now recruiting for the positions listed above.  These are on-site positions, although I’ll also consider remote work, if the experience is at a high level.

In addition to the above, we’re trying to gather interns for the layout and scene setup work.  Potentially, there is also some shot work, and on-set assisting, depending on your skill set, or how the work goes during production.

The work will happen at our studios, which are located within the Animation Workshop in Viborg, Denmark.  The school has a vibrant community of students and professionals, and attracts talented people from around the world.  It’s an inspiring creative environment.

The production runs from February to August, although we’ll be looking for interns to start as early as January.  The other positions run from two to three months.

Mail us at the address above (in the second postcard image).

City street

IMG_4653

These are some of the images of one of our 1:24 scale city streets.  There are also some images of props, courtesy of Moddler, that we’ll be receiving in the near future and incorporating into the sets.  These sets are, as most things on the project, in process, and we’re currently adding more text (signs, placards) and color to bring more life to the environments.

One of the problems we’ve discovered is that one can never have enough studio space – the shooting space has turned into a labyrinth of metal rails (for the motion control), computers, sets, lights, flags, bounce cards, and our monolithic fill dome (which we’ll use to try to hit the roughly 7:1 key/fill ratio we want for our outdoor environments).

Below are some more city shots, and some of the bedroom (which we’ve started shooting), and of the studio. There’s also a forced perspective shot – from the kitchen to the street, where we set a 1:24 street outside the 1:12 kitchen.

Mercurial, file browsers, and the pipeline

browser

So, we’ve more or less finished the first version of our file browser – a custom Qt/PyQt interface written for the project primarily by Mikkel Jans.  Above is the version view component of the browser.  The browser is the start to managing our pipeline data processes – publishing, versioning (I’ll get into that below), launching files, and connecting (at the moment through socket interfaces) with our pipeline applications.

Versioning:

logo-droplets-200We’ve chosen to use Mercurial, a distributed version control system, for our file versioning.  A user might typically save, say, a Maya file dozens of times during a day, but she’ll commit a new revision only a handful of those dozen times.  Each commit requires a comment which describes pertinent information about that commit, and the user is able to revert to any commit in the history, or restore a commit as a separate file to a local folder.  Branching is also possible, which means that it’s relatively simple to ‘try out’ ideas in your work files.  In a typical programming environment, you might then merge that branch with your main branch, but it’s a bit more difficult with Maya or Shake files to merge through a text editor (so we’re not addressing that aspect yet).

We’ve also written a standard view into our browser which displays the revision history on a selected file, with a visual graph that displays the DAG (directed acyclic graph) of the file history.

What this means is that we don’t add user names or version increments in our naming convention – each file’s history is saved in a mercurial repository, along with comments, usernames, and other tags that we include in the changesets.  Since mercurial saves only file differences, and compresses that file history into a binary format, the entire mercurial repository for a file, including dozens of commits, is usually considerably less than the size of the actual file (at least for most of our work files which are saved in ascii formats).

Mercurial forms one of the components of our pipeline.  It allows us to easily roll-back assets, keep track of asset relationships (dev -> publish), monitor user activity on work files, and have an overview of the different iterations a file goes through.  It’s relatively lightweight, cross-platform, and integrates well with our primarily Python based setup.

Trees, trees, trees

img_4322

So, part of our recent work has been developing trees for the film.  Below, you can also see some of the grass tests, using fake fur, and a base of different colors.  The “trees” are actually bushes donated by our local cemetary (by a very friendly and helpful group of caretakers), which were on their way out to the trash.  We’ve stripped them, reshaped them, and added bulk with various spice leaves (ground parsley, coriander, and other green/yellow dried spices).  Bente (who you’ll notice standing in the pictures) has systematically developed a process for detailing the many trees that we see in the film.

Also pictured are Charlène Barré (responsible for a number of the props), and Sian Puckett (our new Spanish intern).

Kitchen sinks, stove tops, boxes, and other miniatures

img_4062

These are some of the recent miniatures props we’ve been building in our in house workshop, led by Bente Laurenz Jacobsen, and with Charlène Barré, Karen Rohde Johansson and Israel Hernandez.  These stills are just progress shots taken during our dailies – which means there’s significant noise and shallow depth of field in most of the shots.

Moddler & Rapid Prototyping

bench_0005

So, John Vegher, founder of Moddler (among other things), has generously offered to rapid prototype the props for our 1:24 scale outdoor sets.  Above is our first prop, a bench which we modeled in Maya, detailed in ZBrush and then sent on to Moddler.  Below is a turntable of the ZBrush model.

ma_bench_turntable

The idea is to ship the props over here and paint them before they integrate into the sets.  We have about a month left before the outdoor shoot, so we’ll be spending some time putting all of the parts together.

Clearly from the pictures, the results are fantastic.  This process saves us a tremendous amount of time building the props at the small scale, and also, having to re-build versions of the props in 3D in order to match to.  More photos below.

Color, texture, and a making of

ma_tp_edit_v003_sor3

MAKING OF:

ma_tp020_makingof_v001_h264

At the top is a version of the test with some color/texture, and simple shaders.  I’m also posting a “Making-of” so people can follow some of the integration process.  These are both roughs – there are comp, animation, and render errors, but are nonetheless interesting for us.

While I think the test got the crew used to the general pipeline/workflow, aesthestically we’re still a bit off.  At the moment, this hits closer to something from Monster House, or Polar Express.  I’d like to move more towards stop-motion, and we hope to get in some animation studies over the next few weeks, spending time with some shots from the fantastic Madame Tutli-Putli.

At the moment, the textures are mostly without detail (both in the diffuse and specular), so we’ll be working to increase some of the sophistication.  We might also spend some time with the shaders, although I’m not yet convinced we need anything more than a blinn, some fresnel, and hi-detail textures.

Sets, lighting, and motion control

ma_move_test_v0010001

We’ve now got our own motion control rig set up.  It’s based off of the last rig, which we shipped down to Studio SOI, who are using it for some exciting projects.  The test above is from a demonstration we gave to the Danish Film Institute earlier today.  There is a bit of subtle shaking in the shot, which comes from us handling the rig while the move was in progress.

Below are some recent tests of the trees Bente Laurenz Jacobsen (who is pictured below) is building for the project.  We discovered that ambient daylight is difficult to recreate indoors, so we built a large rig (like a flash umbrella), that we will be stretching cloth over and hanging above the sets for the day shots.  The shots below represent both the indoor light tests, and some outdoor shots.  The environment around the workshop provides an interesting backdrop to the shots.

There are also some shots with Nancy Munford and Karin Ørum who came up for a weekend in February to finish work on the street sets.

The stairs on the house were some of the last items that got painted – hence they’re still foam in the pictures.

3Delight & rendering

ma_tp020_comp_v007_spg0057

A more complete version of this sequence is here.

A lot of things have happened in the last month – one of which is that we’ve been sponsored by DNAsoft, developers of the renderman based 3Delight renderer. The character in the rough test above is rendered with 3Delight, which we – myself, Aske Dørge, and Nicolai Slothuus – spent about a week and some working with.  I’ve included some images below on the various stages of the process.  We took extensive set measurements to determine the camera position (although I think we’ll be trying out some image based modeling methods for the next test), shot chrome spheres, matte balls, and foreground bluescreen elements.  As always, there’s a fair bit of compositing in Shake as well as some sound mixing in Final Cut Pro.  Most of the sounds in this clip are downloaded from the great online resource freesound.org.

For the renders, we used 3Delight’s point cloud rendering methods – which meant that at small HD resolution, we could output our character with motion blur, displacements, depth-of-field, and occlusion (along with a range of other secondary passes – or arbitrary output variables) at under 1 minute a frame.  Our next test is to try and come up with a global illumination process, using our set survey data, and light emitting surfaces baked into a point cloud, and rendered using some custom shaders.  One of the great features with renderman based renderers is the simple shading language (RSL) which, in 3Delight, we can access through the Maya interface.  This means we can test and write custom shaders in the interface, before converting them to standard .sl files, which we then compile through 3Delight’s shader compile utility.

For the animation pipeline, we decided to rely on Maya’s geometry cache features, which allow us to isolate the animation and lighting pipelines from each other.  This means that the lighting scene references only the models (no rigs) and the layout, and the geometry cache imports all of the animation information.  As the animation updates, so do the lighting scenes.

We also implemented some custom spotlights, with falloff regions, and on-screen visualisation.  For this test, since we used spotlights to mimic all of our direct and indirect illumination, the falloff regions gave us more granular control over attenuation.  At some point, I may look into a linear workflow, at which point Maya’s standard decay types might be more useful (or not).

The last stages of building

img_3326

Above is a timelapse of the last day of official work (the video is a bit low quality).  We shipped the sets the day after and have set them up in the studio.  Karin (and possible Nancy, another builder) will be coming here in about a week to finish some of the houses, and survey the setup.

Below are some of the stills.

Concepting heads

lrn_caricature_movie

I’m trying to work out a visual vocabulary for the level of caricature in the film.  This is one of the tests – above is the turn around of the high detail version, and below are some shots of variations.  One of the concepts in the film is that the characters are imprinted with some of their personal histories – kind of like scars.  It’s not clear here, but I’ll keep posting examples of what that means in later posts.  These examples are also a bit conservative – I’ll be trying to push a bit more in the next couple of iterations.

Again, these are done with ZBrush.

Bang & Olufsen commercial

bo_leaves_large

This is a recent HD commercial I directed for Bang & Olufsen, produced at Mark Film.  Thanks to the great team I worked with: Tore Rex, Jesper Bentzen, Jimmy Levinsky, our producer Claus Toksvig, and the really fantastic guys at Mark Film.  Thanks also to Lawrence Marvit, who worked on the matte paintings and background design.  We had about two actual weeks of shot production with the full crew, and some additional time for pre-production, asset building, sound and finishing with a much smaller crew.

I got to try out a number of production ideas on this spot – which proved to be a good test bed for the film workflow.  I also locked the storyboards well before the crew came on board, and we relied heavily on the 2d animatic to plan out the schedule, focusing our time on only what the camera would see.

At some point I’ll try to put up a “making of” and some additional images.

Buildings and terrain

These are some of the latest pictures from the workshop.  We have four miniature outdoor environments, which are set on reinforced plywood and foam.  Karin has been cutting through the foam with a chain saw to establish the major forms, and from here we’ll go into the details.  A number of the streets are cobblestone (the pattern we’ve made is on the rolling pin), and the sidewalks are based on Berlin sidewalks – which are wide and both tiled and cobblestoned.

Loco 2nd Generation, stable and shipped

soi_3g_timelapse

So we shipped out our 2nd generation LEGO rig to a studio in Germany, who’ll be working with it for the next year on a combination stop-motion/CG project.  Above is a quick timelapse test I did this morning – the camera is running through the middle of people, dogs, movement, and general unrest in my squeaky wood floored studio.  The rig got a bit pushed on occasion, but the move came out incredibly stable – what you see above is directly from the camera.

All of pictures you see below are with the top mount.  There is also a 1.5 meter bottom mount to hang the camera.  Notice how the rig transitions to black – this is some laborious hours sanding, washing, and spraying the rails and base plate.  For the next rig, we’ll try to hire someone else to cover some of these areas.

I’ve also implemented the iCommand NXT library, a command (not VM) based project of leJOS.  I’m having much better luck with setting rotation limits, and stepping down the power as we approach the actual rotation target.  I’ve also implemented some parity compensation, as well as gear lag, in the software package, and the data structures are a bit cleaner.  It looks as though I’ll be writing a keyframe interface as well in the next month.

I’ll be flying down to Germany on Sunday to set up and test the rig on the set there.  If I can (I’m not sure about the NDA restrictions), I’ll post some pictures.

As for the future – are you can see, parts of the rig are still Mindstorms driven, and LEGO built.  There are benefits (modular construction, easy to refactor), and some looming disadvantages (plastic parts on top of that list), and at some point, not the next generation, nor, probably the one after, we’ll consider looking into other microprocessor boards and sensors, and designing the rig in a slightly different way.  I think LEGO will continue to play a big part in the development, and certainly the feedback sensors, which is our biggest focus for the next version(s), will continue to be in the design and prototype process.

The LEGO rig on set

gd_canons

Goutte d’Or is now running with the LEGO rig daily on set.  Here are some images around the ship and of the new lift.  Above is one of the latest camera moves.

Character concepts

Here are some character concepts – these are pretty dated, but still the ones I’m working off of.  The last one is a 3d sketch, trying to work out the look.

Reclining man: ZBrush test

man_reclining

This is a test for some of my process ideas.  I’ve gotten recently back into using ZBrush, and I thought I’d see how far I could get starting from just a polygonal cube – above is the result of about a day and a half of working with the mesh.  In production, I’d expect to have a posed (possibly) higher resolution base mesh, with a nicer topological layout, but this was an exercise in figuring out how much mesh resolution I really needed to start with.

I expect that the majority of secondary characters in the film will have very little movement on a shot by shot basis, and rather than fully rigging/modeling/texturing these characters, I expect to work predominantly from the camera’s perspective.  It’s an idea I tried out on a recent commercial project I directed and supervised (which at some point I’ll put up here).  The storyboards and 2d animatic were locked down (after many revisions) well before production, which allowed us to really economize the production time on only what we would see.

Below are some progression shots.

New modules and Goutte d’Or

goutte_d_or

Above is a test clip we shot yesterday for Goutte d’Or, a stop motion film by my friend Christophe Peladan, which is using the LEGO rig.  I’m rebuilding the lift, and using a more modular construction for it.  I’ve also organized a large part of the LEGO collection, which you can see below.

There have been some great replies on the nxstasy forum to my questions about minimizing slop in the gear train for our rig.  With any luck, this new version will add some more stability and user friendliness.

The software has also been updated to deal with both the Canon EOS 40D and the Canon EOS 400D.