Home  >  UX Design  >  DreamWorks Animation: Previz and Layout

About Previz and Layout

While the animators and lighters use in-house software, the previz and layout teams work in Maya. I insist on holistic experiences, so the UI needs to feel like a part of Maya, but the functionality and workflow needs to meet the demands of the studio process.

In the case of Previz artists, they need to work very quickly to create a world and set up shots. They are all-purpose artists: modelers, riggers, animators, and cinematographers all rolled into one. They work on an entire sequence at a time, set up shots and shoot coverage. The editors then take this and put together a cut. Once the director approves, it's over to Layout.

The layout team "builds the set" and puts the characters and final cameras inside it. The first thing they need to do is get a shot ready for animation. Sets can be highly complex with a large number of objects, but often only the basics are needed for the animators to start working: The character and the main objects that he interacts with. It's this step of "anim prep" that was the focus for this version of the layout tool.


I met with both previz and layout artists to determine their current workflows and needs. These interviews happened at their desks so I could see them working in context. I would watch them work, ask questions, confirm my understanding, do quick sketches, and loop back with them. Because they are in-house, I was able to easily do iterative design and interviews: I could simply walk up to their desk or run into them in the hallway or kitchen.


For Previz, their primary need was an asset library. Ideally they would want some way to search by asset types (e.g. rocks, trees, buildings) and know what movie they were used in (i.e. have easy access to the assets from the original film if they are working on a sequel). The layout team also needed a library, and they needed larger, end-to-end solutions, so I concentrated on them.

The screen shots shown below are the mockup that I used to confirm the needs with the target users. They are not intended to solve all of the problems; rather, the goal is to confirm my understanding of the problems and the general notion of the solution required. Note how sketchy they are: This is intentional so the artists focus on what is happening rather than how it looks. A more complete design would come at a later step. These initial sketchy outlines are vital to get done early so development starts working in the right direction: Any time you proposed a change to workflow that has great potential to impact the architecture. You can change the location of a button a lot easier than you can rewrite architecture.

Key Scenarios

Because the end-to-end scenarios matter so much when artists are trying to get work done, that's where I start. By analyzing what the artists do, I broke it down into a few key scenarios:

  • Creating a location
  • Distributing a location
  • Editing a location
  • Overriding a location
  • Hiding assets in a location
  • Comparing a shot with Previz

Let's take a closer look at a couple of these.

Concept: Locations

The first problem to solve was the distribution of assets. Once a sequence has been edited into shots, those shots exist as individual entities in the pipeline. This means that you have to build each shot independently, even if they take place in the same location. To prevent duplicate work, and to make it easier to distribute changes, I proposed the notion of a "location": A specific state of a physical space. For instance, a park on a sunny day versus the same park after a storm. In the latter case, many of the same assets would be there, but in different forms (e.g. broken, knocked over) and other assets may be added or removed (e.g. trash that blew into the scene or a sign that blew away). So you would create "CityParkSunnyDay" and "CityParkAfterStorm" as two different locations.

Creating locations

Even though ideally they would be able to inherit the sets built by the previz team, the layout team would still need to be able to build sets: The previz sets would by definition be simpler versions, and it is the layout team's job to build the final, detailed set with the final assets. This is where they would need a library of assets, only in their case it would only be the "official" assets for the film as approved by the director - no hand-made stand-ins for these shots! - so the library system would need to be specific. As you can see in my notes, this would be drag-and-drop and each shot would "know" exactly what assets are in there: This becomes important when assets are changed later in the film and the artists need to make sure that the correct version of the asset appears in the shots. Here is one step in the process:

Creating a location

The Asset Loader panel would be our own plug-in and would be built to "match" the rest of Maya in terms of look, feel, and behavior. See that random orange button that says "Save as new location"? Again, this mockup is about "what do you need?" rather than exact placement of elements. I've found that if I make it obvious that this is not the final layout - for instance, by having a bright orange button appear out of nowhere in an odd spot - then the artists can see past the location and focus on the function. In fact, I have never had an artist complain about a magic button. :)

Distributing locations

Once the locations have been created, they need to be distributed to the appropriate shots. Sometimes this means distributing to an entire sequence, sometimes only to certain shots in that sequence, and in each case the artist needs to be able to easily see which shots already have a location assigned:

Distributing locations

Note that you start with the location not the shot: It's the location that's being distributed. The layout artists will often have a text list of what shots are in each location, so they need to be able to say "Apply CityPark_Spring to Sq 126, shots 2, 5, and 259." Under the hood, we need to make sure that we are not making multiple copies of the location, but rather that we are referencing the master. That way the artist can make changes in the master and know that they will appear in all of the appropriate shots.

Updating locations

Sometimes locations need to be updated after they have been distributed. A tree gets moved or a model reworked. In addition to the ability to change this in one place and have it automatically distributed, there's another thing that the artists need:

Location Updated dialog

They need to overtly know what shots were updated. In fact, this information really needs to be distributed to everyone working on the shot - animators, lighters, etc. - so automatically generating an e-mail or a status update would also be a part of the plan.

Full storyboard

Here's the full storyboard of the different scenarios: