Image Engine creates crowds for the Mandalorian and many other projects with Atoms Crowd


09/11/2020


Image Engine Logo

Image Engine adopted Atoms Crowd as their crowd toolset a couple of years ago.
Today we have a chat with Carsten Kolve (Facility Digital Supervisor) and talk about how Image Engine uses Atoms Crowd to create their crowd sequences.




Hello Carsten, can you please introduce yourself for the people who don't know you?
Hi Daniele and Alan, good to talk with you! I’ve been working in the VFX / animation industry for a little over 20 years now. Originally I started out as a software developer at MPC in London, primarily developing crowd tools for a system we called ALICE and working as a Crowd TD when there were virtually no viable alternative commercial solutions around. After a few years and a number of sword and sandal epics like ‘Troy’, ‘Kingdom of Heaven’ and ‘Alexander the Great’, I moved to Australia where I could take on diverse challenges and broaden my horizon as rigging tools developer, pipeline engineer, FX and CG supervisor. Crowds always seemed to land on my plate though, whether it’d be cattle herds for the movie ‘Australia’ while at Rising Sun Pictures, crowd supervision for the ‘Happy Feet 2’ penguins at George Miller’s Dr.D Studios or minifigs for ‘The Lego Movie’ at Animal Logic.

For a bit over 6 years now I have been working for Image Engine in Vancouver as Digital Supervisor. This is a really diverse role where I get to be involved with all aspects of production, including which toolsets to use.

I just did a quick count and of the about 30 shows I was lucky enough to directly work on at 5 different studios, about half had some kind of crowd component to them. So yeah, it’s a bit of a recurring theme.


Can you please tell us why you chose to use Atoms and how you are using it in production?
At its very core, Atoms is quite an open architecture. It allows us to interact with crowd related data at different stages in production and with a variety of 3rd-party as well as internal DCC tools. So it is more like a generic crowd infrastructure, rather than a crowd plugin limited to just one of the 3D tools we use. This flexibility maps well to the demands of high-end visual effects and animation production, where large parts of a typical pipeline have custom components to it.

In addition, Toolchefs also provides us with an integration of Atoms with the open source project ‘Gaffer’, which we rely heavily on across the group for scene graph creation, automation, lookdev, lighting, rendering as well as compositing.


Which Atoms integrations are you using?
As I mentioned, flexibility is very important to us - every project has its own unique challenges to which we try to find the most efficient solution. In addition, being a mid size studio, we also need to be flexible in terms of the available talent as well as their preferred toolset.

Crowd character setups are usually completed in AtomsMaya; AtomsMaya is also used for more layout based crowd work as well as the integration of crowds with the animation pipeline. For crowd effects that have a heavy dynamic or fx component, we use AtomsHoudini. It allows us to both integrate our crowd performances with Houdini native crowds as well as bring Atoms crowds into Houdini for effects integration.
Lighting and lookdev are using the AtomsGaffer integration in Gaffer to add crowds to the scene graph which is ultimately rendered in Arnold. In fact, the output of all departments at Image Engine is verified via a render - so in the background, they all utilize AtomsGaffer. In addition, we also make use of the standalone Atoms Python API inside of pipeline tools.





You have a lot of experience with all major crowd softwares as well as writing crowd solutions yourself. Could you please tell us if Atoms has any particular feature and workflow that you find useful compared to similar softwares available?
The flexibility and openness of Atoms really does set it apart from its competitors. Being able to seamlessly pass large amounts of (crowd) character animation data through all stages of the production pipeline with direct support of all the major tools and easy customization was a major selling point.

Crowds are often not something that can be isolated to one part of the production process and Atoms provides the glue between the asset departments, layout, animation, crowd, FX and lighting.


Can you describe your approach and workflow for delivering a crowd shot with Atoms?
As you know, there are a large variety of crowd scenarios that have their unique demands: A large background crowd in a stadium sequence might need to be tackled with a different approach than armies fighting in the midground or a bespoke foreground crowd interacting with hero characters.

In the first scenario we might be utilizing a motion instancing-type setup, the second case might require the use of crowd control state machines and motion blending trees, and the last case a mass animation/mocap pipeline with larger focus on secondary animation like cloth and hair. There are many more scenarios - but I guess our common steps would involve creating the crowd character and preparing the motion data in AtomsMaya.

Whichever way we choose to generate the motion or crowd layout, the rendering of the crowd happens always via AtomsGaffer. If we’d feel that a character would need some specific hero treatment, we would opt to promote the performance from a crowd character to a traditionally rigged hero character via the provided functionality. The workflow is not fundamentally different from what one might already know if one is familiar with crowds - I think this is good as it makes it easier to onboard new artists.


How many projects have you used Atoms on? Could you please name a few?
We have used Atoms on a variety of completed projects as well as on a couple that are currently in production and we can’t talk about just yet. Some of the crowd effects we created involved tourists fleeing the mayhem that is unleashed in ‘Spiderman - Far From Home’, villagers as well as soldiers on horseback in ‘Disney's Mulan’, close up robots in the pivotal episode of the VFX Emmy nominated ‘Lost In Space Season 2’, microscopic nanites running through bloodstreams in ‘Bloodshot’ as well as blaster fighting spacefarers in ‘The Mandalorian’.





Can you briefly outline your pipeline and how easy it was to integrate Atoms Crowd into it?
I already touched a bit on our general pipeline, but would like to point out some areas that are often tricky with other off the shelf systems. The look development and rendering pipeline often requires one to deviate from a standard hero workflow and come up with specific setups just for crowds. We didn’t really have to deal with this problem at all - GafferAtoms allowed us to work with look and shader assignments the same way we work with hero characters. In fact, we can choose to reuse the lookdev of a hero character straight on a respective crowd character. This offers us a lot of flexibility at render time and makes the integration of crowds with hero characters much more straightforward. We do have custom ways to handle other character related data like fur or hair at render time - with Atoms these effects, usually reserved for hero characters, can be applied straight away on crowds with no extra work.

I would also like to point out that Atoms is not the only toolset we have inhouse to generate crowds. Depending on the task we might choose to generate a crowd performance using the Houdini crowd tools or even just capture a lot of bespoke performances using our motion capture setup. But what makes Atoms great is that we can easily map that performance to Atoms crowd data and utilize it throughout the rest of our pipeline - for example as reference for animation in Maya or inside of a library of crowd performances used in an Atoms crowd layout workflow. With it now being commonplace for multiple vendors to work on a show and exchange data, we feel comfortable to ingest or deliver large scale skeletal animation data if the need arises using the provided Python API.


Is there anything else you would like to add?
Atoms is a relatively new and growing player in the ‘crowd game’, but Toolchefs make learning how to use it easy with a large amount of useful training videos and extensive documentation. A lot of the crowd tools are written in Python, so referencing them for your own scripts is straightforward.

Dealing with a software vendor with a background in feature film R&D software development, that understands the unique challenges and requirements we face in production, listens to suggestions and often implements them extremely fast while being open for dedicated support - all these are huge benefits for us and we are looking forward to collaborating with you on our upcoming crowd projects!