Mari comes from the Swahili Maridadi meaning both ‘beautiful’ and also carrying connotations of 'usefulness'. It is a high end effects paint package developed at Weta Digital, and sold and now further developed by The Foundry in the UK. So successful is Mari that nine out of ten of the films on the short list for the Visual Effects 2013 Oscar used Mari as their main visual paint package. Some senior texture artists fxguide have spoken to from facilities around the world have moved so completely to Mari that they now rarely use Photoshop, having previously 'lived' in Photoshop. But the strength of Photoshop has for some time been the incredible power of Photoshop's layers workflows. This feature is exactly what the Mari team at The Foundry have focused on for this new 2.0 release.

The new Mari 2.0 has every channel now as a fully non-destructive layer stack. Mari does have full .psd support for those artists wanting to import from Photoshop, but the shaders now use layered channels to control every aspect of the surface look.

The new user interface aims to make Mari easier to use, and to go beyond just mirroring what one is used to from Photoshop.

For example, The Foundry's Matt Brealey demoed "the four most important buttons you'll find in the program when dealing with Paint and Layers - they show and describe what you are seeing in your layers and how they combine. These four buttons are at the top of your layer stack.

  1. Everything at once in the layer stack - the entire result of the layer or channel.
  2. This shows the user everything up to the point that has been selected.
  3. Just the selected layer and any masks associated with it.
  4. This show exactly where you are painting into, which can be really handy when painting masks into layers.

Interestingly, layers was the first ever internal feature request at Weta, joked Jack Greasley, Mari product manager at the launch. "So I am gald we can tick that one off!". In that spirit of addressing user improvements he explained that in addition to layers, the general workflow has been a major target for development at The Foundry.

Procedurals

A powerful procedural engine is built into the heart of the layer stack; offering fluid, GPU accelerated real time procedural noises, patterns, projections and more. Procedural layers mean artists can easily create the look they want, seamlessly blending procedural and painted detail with the same toolkit.

Features such as advanced blending allows for complex procedural or keyed blending. The GPU tiling allows for very fast workflow. Mari has always been very good at managing memory and allowing for extremely large files to be manipulated, but the extension that the procedurals allow for complexity and speed.

Layered workflow

Creature work can often lead to many layers of painting and each has internal complexity, with the grouping, and in particular tagging and filtering options, the layer view in Mari makes it much easy to navigate and move around a complex project. Mari is after all coming from a feature film background, and at the most complex end of advanced creature work from companies like Weta.

Jens Kafitz, Senior Texture Artist at Weta Digital: “The new layer system in MARI 2.0 enhances the way you can work with masks and adjustment layers and is consistent with what you would find with Photoshop. There is also good compatibility between the two applications making the back and forth easier. A new projection mask system and new caching features to help manage the data on complex assets are also great additions to the new version of MARI."

Shared Layers

Shared layers, layers can now be shared multiple times in the same stack or between stacks.

A shared layer is one that appears multiple times in the same stack, or is shared between stacks, and is automatically and instantly updated wherever it is used. The new layer workflow for very complex stacks is helped by complex shared layers "automatically updated without any user interaction," explained Greasley.

For example if you can have a Diffuse layer, a Spec Layer set, and a Bump Layer set and the second layer sets are sharing from the diffuse, and built from it. As say Diffuse is adjusted - the changes filter through adjustments done on the spec and bump sets and updates automatically. This can also be locked, cached for speed and unlocked if you desire, later. You can also unshare if you are happy and lock in the changes.

Advanced masking

In Mari 2.0, rather than a single mask per layer, each layer’s mask is a full layer stack in its own right. Artists can use blending, groups, adjustments and procedurals in their masks for a much more flexible, and non-destructive, workflow.

Mari Ptex and Speed

A key reason for Mari's success is that it was designed to handle vast files - huge amounts of data - interactively. It can handle a base file of 100GB of textures and models in real time. It does this by a combination of Ptex, Mip Maps, clever filtering, tree mapping and RAM management.

For some time now Mari uses Ptex which at its lowest level is a file format great at packing a extremely large files. It came from Disney widely adopted, while it is not perfect, it is very flexible.

Ptex texture distribution and management

With UV mapping when someone uses a 4K map (4096 x 4096) for say a human face, in reality the UV mapping uses only about 55-65% of that 4K file for actual textures. The rest is blank space due to the waste of flatting out a complex 3D shape. This waste combined with the care needed to manually control seam location to avoid edge problems lead to the development of Ptex at Disney.

The problem with painting creatures is that 'faces' or 3D irregular objects like character faces, don't flatten nicely. What you want as an artist is uniform texel density and not to have wasted space as in UV mapping. Plus the product design philosophy with Mari has always been to allow flexibility, and Ptex really helps an artists keep their options open and not worry changes. Resizing and remapping with uv mapping 
can be very time consuming. If you want to change a camera move and zoom in on part of a character that previously had only expected to be further from camera, you may need to up res part of say a head. With strict UV mapping this resizing causes a lot of problems, with Mari and Ptex this is managed for you.  Plus UV mapping is not known for good memory management.

There is the same density of texels. So a million polygons equals a million textures, and each poly has one texture size of those textures which can vary individually
.

Memory management is excellent with Mari all the polys of a characters face could be 64x64 or 4x4 - but an artist can change their mind, and it can be almost immediately be internally changed in Mari.

Mari does not include or integrate directly with a full software 3D renderer, such as Pixar Renderman or Mental Ray. Mari shows the results of painting and previews of shading in real-time, giving a true interactive artistic experience. To achieve this Mari used a GPU accelerated viewer and rendering engine.

One of the reasons Mari is so fast even with huge textures is that it only needs to solve for screen resolution while you work. Actually it renders 60 fps behind the scenes for 30 fps interactivity shown to the user.  The first prerender calls the right mip map into memory. This first render works out manageable tiles
 if it can't load the whole texture and the it starts the lower builds. Of course, the user only sees the second render, it works a bit just like Google maps works except in Google maps a user sees the lower res map on their screen before the higher res one appears. With the double render solution Mari just shows the user 30 fps of high quality imagery - at what seems like full resolution but is in reality a screen res view on to a much large set of textures. If you zoom to see that texture up close - by the time you interactively zoom the picture - the quality is there. The net result is Mari seems to break a few laws of memory limitation - if not a few laws of physics. To the user they can pan and zoom on vast texture files and it always appears like the file is loaded in memory.

Justin Holt, Lead Texture Artist at Image Engine:  “This is the version that we have all been patiently waiting for. I have to say that it has been an absolute joy to use MARI 2.0. With the introduction of the new layer system, texture painters will be welcomed with a warm feeling of nostalgia from the days of painting in Photoshop alongside a renewed sense of excitement for the potential of what they will be able to paint, entirely non-destructively, with this revolutionary version of MARI.”

 

Mari 2.0 is on sale immediately. And the Foundry is continuing to push forward, Mari 2.0 version 2 is already being worked on and it has additional tools for games and importing custom shaders. You can see more of Mari at NAB where the Foundry will be in the front of the South Hall.

 

Check out our Interview with Scott Metzger vfx supervisor and Mari user. 

Also this fxguidetv #157 on how Mari was used on Battleship

Also download the 1920x1080 launch video here: mari_highres_video (66M).


Thanks so much for reading our article.

We've been a free service since 1999 and now rely on the generous contributions of readers like you. If you'd like to help support our work, please join the hundreds of others and become an fxinsider member.