What's New in Mari 3

Mari 3 has several new features and feature enhancements in addition to bug fixes. This page documents the new features, and links to the appropriate page of the online help so you can get the information you need to start working with the new features right away. To read about bug fixes and feature enhancements, navigate to a specific release.

Mari 3.4

Simplified Color Picking

Mari now uses a single OCIO color-picking colorspace to define all saved colors and color-picking tool colorspaces. This achieves a 'what you see is what you get' workflow when managing your chosen colors.

Simplified View Transform

The Colorspace toolbar has been refreshed and renamed to the View Transform toolbar. Labels have been replaced with tooltips, controls have been combined, and there is now a visual indicator of the data type being viewed. The Color Manager controls are now hidden when OCIO color management is enabled.

Perceptually Linear Scalar Display

We have introduced a new scalar monitor colorspace to the View Transform, allowing artists to view scalar data perceptually linear. In a scalar channel a linear ramp will now appear in a similar fashion as other 8-bit based imaging applications, rather than displaying the raw data like Nuke does. The information as used by Mari is still in the expected data format, providing the best results with the most artist-friendly workflow.

Channel Property Indicators

Mari now contains visual indicators in the Channels palette, to define whether a channel contains color or scalar data and to display the channel's bit-depth. This lets you manage channel configurations at a glance.

OCIO Colorspace Filter

Mari now contains the OCIO Colorspace filter. This allows you to convert paint target and buffer's colors to another colorspace within the currently loaded OCIO config, without affecting any channel settings.

General Color Performance

Mari's colorspace processing has been optimized. This results in faster project load times.

Accelerated Procedural Layer Color Management

The existing GPU accelerated color management system has been extended for paint data to work with procedurals as well.

OCIO Role Driven Project Colorspace Defaults

We have introduced new OCIO role names that Mari will now recognize and use to configure the project's colorspace defaults. For full details of roles and targets, please refer to the Project Settings topic in the Mari reference guide and the Mari Specific OCIO roles in Color Management knowledge based article.

Selection Groups Preserved Between Object Versions

When a new object version is added, Mari now attempts to match selection group's membership across to the new version. This allows you to define selection groups once and have them applied across all subsequent object versions.

Mari 3.3

Shader Compilation

Shaders now require fewer recompilations (the spinning wheel) when performing certain repeated tasks, reducing the waiting time between performing an action and viewing the final rendered shader. See GPU > General > Shader Compilation in Mari Preferences Dialog.

Colorspace Export Optimization

An option has been introduced to run all colorspace transformations on the GPU, which improves the process speed of baking paint to disk. See Data > Channels > Export Transform in Mari Preferences Dialog.

Lift Option in the Marquee Select Tool

After performing a marquee selection, you can now lift the texture from the current paint target to the paint buffer for further manipulation. See Marquee Select Tool > Lift Marquee Selection to Paint Buffer in Tool Properties Palette.

Optimized Texture Unit Usage

Mari now combines multiple textures into one optimized unit, so that you can work on projects with a higher level of complexity, without reaching graphics capacity limits.

Baking Bake Point Nodes in the Node Graph

You can now bake the Bake Point nodes that have never been baked before or are out-of-date, directly in the Node Graph by right-clicking and selecting Edit > Bake Points > Smart Bake And Update. You can also bake the selected Bake Point nodes using the same menu. See Working with Nodes and Node Graph Functions.

Channel Presets

Mari now includes new channel presets for multiple workflow and shader types. See Creating Multiple Channels from Presets.

Mari 3.2

Node Graph

To improve the usability of the Node Graph, Mari now includes a left-to-right navigation also called Show Port List, zoom LOD (Level of Detail), Node Graph-specific configurable shortcuts, and more.
For more information, see Node Graph.

Bake Point Node

Mari now includes a Bake Point node that allows you to create a special node in the Node Graph to bake upstream results into textures. The Bake Point node keeps tracks of any update upstream to indicate whether the baked result is out of date. The Bake Point node also allows you to set options for the baked result and export the textures to a location of your choice.
See Baking to a Bake Point Node for details.

OpenEXR 2.2

Mari now supports OpenEXR 2.2.

Session Scripts

Mari Session Scripts now allow you to save and load the Node Graph, Graph layers, and a greater amount of your Mari project features. For more information, see Session Scripts.

Smart Selection - Connectedness Mesh Type

Mari now includes a new Type mode for Smart Selection. The Connectedness Mesh Type allows you to select faces connected in the 3D view.
See Selecting Objects, Patches, or Faces for details.

Colorspace Management

It is now possible to switch off color management in a project using the MARI_FORCE_COLOR_MANAGEMENT environment variable or through the Project Settings dialog.
For more information, see Environment Variables That Mari Recognizes and Project Settings Dialog.

Uniform Scaling

Mari locators now support uniform scaling
See Moving, Viewing, and Locking Objects for details.

Invert Visibility

You can now invert the visibility of objects, patches, and faces.
For more information, see Hiding and Locking.

Mari 3.1

Steady Stroke

Mari now includes the Steady Stroke mode, a brush mode that smoothes the stroke when you draw. You can access the Steady Stroke mode by navigating to Tool Properties palette > Brush Settings section> Steady Stroke.

See Brush Properties for details.

mGo

Mari now supports mGo. mGo is a set of scripts that allow you to share shader setups from Maya to Mari, and export them back to Maya, ready to be rendered.

You can access the mGo tool by navigating to Python > Examples > mGo.

Mari Non-Commercial

Mari is now available as a non-commercial version. Mari Non-commercial is a free version of Mari that runs outside the regular licensing model. It includes most of the features of the commercial version of Mari, offering you a chance to explore and learn the application fully while using it from the comfort of your own home.

See Mari Non-Commercial for more information.

Context-Sensitive Help

• ID Mari now includes context-sensitive Help. The Mari palettes and the following widgets, Project Settings, Mari Preferences, Manage Toolbars, Manage Keyboard Shortcuts, and New Project, contain a new ? icon, which when clicked, leads you directly to the related web page of the Mari documentation.

Mari 3.0

Node Graph

Mari's under-the-hood Node Graph is accessible through the Node Graph palette, allowing you to control the layering system more accurately. Nodes are created and manipulated automatically as you interact with the layer system, but you can manipulate individual nodes in the Node Properties palette to achieve the required result.

Mari's Node Graph has two modes, Basic and Advanced, exposing different levels of detail within the palette. Basic mode, the default mode, only allows you to work with Graph layers from the Layers palette. Advanced mode exposes the entire project in the Node Graph palette, including all layers, channels, and shaders.

Note:  You can enable the Advanced Node Graph in the Preferences dialog under Node Graph > General > Advanced View.

Gizmos and Publishing

Group nodes can be saved as .gizmo files, allowing you to save layers from the Node Graph and share them in a collaborative workflow. The property view of a .gizmo allows you to select which parameters of the member nodes to expose in the exported gizmo.

Gizmos can be loaded back into Mari by:

registering the .gizmo in the Python API,

registering the .gizmo in a node catalog file, or

copying the .gizmo into the ~/Mari/Gizmos directory, which is searched automatically by Mari at startup.

Baking Using Modo

Mari can now round-trip texture bakes to Modo, allowing you to modify parameters and to see the preview update. You can add new bake recipes easily by creating .lxo files.

Modo Render Integration

Mari now includes a Modo Render script that walks Mari's Node Graph and sends the shading information to Modo. Modo then renders the scene using its offline renderer. The Modo Render script also contains examples of how to integrate Mari and an offline renderer.

Mari uses the following environment variables for loading Bake and Render recipes: MARI_MODO_BAKE_PRESETS and MARI_MODO_RENDER_PRESETS.

Per Channel Color Management

Colorspace properties are now available on a per-image and per-channel basis through the third-party OpenColorIO library. You can also specify a project default, similar to Nuke's OpenColorIO config setting.

Open Subdivision Support

Mari now supports geometry subdivision, providing the following benefits:

Observable smooth surfaces similar to the final offline renderer's subdivision,

UV layouts can be modified by subdivision, allowing you to view more accurate UV layouts, and

No need to pre-subdivide geometry.

The Subdivision dialog includes the option to calculate subdivision in the foreground, by clicking OK, or background by clicking In Background.

OK - a progress bar displays as Mari calculates the subdivision. Once complete, the level of subdivision specified is applied to the object immediately. An error dialog displays if subdivision fails when run in the foreground.

In Background - the subdivision calculation is submitted to a background process and no progress bar is displayed. The subdivision Level must be applied manually in the Objects palette when the "running man" icon disappears from the Status Bar.

Arnold, V-Ray, Unreal, and Redshift Shaders

Mari now includes Arnold, V-Ray, Unreal, and Redshift shaders, allowing you to paint textures underneath more realistic industry-standard shaders, improving the pre-visualization of their textures.

Session Scripts

Session Scripts allow you to create a light weight archive of Mari projects to merge the data into other projects. Session Scripts can be used to see assets in context with each other or to share data, such as images, channels, and shaders. The data can also be used as a template system for setting up projects with default channels, shaders, and so on.

Texture Transfer Through PartIO

Mari now allows you to generate height and normal maps between high- and low-polygon models, including seamless blurring across patch boundaries and overlapping UVs by texture transfer.

Entity Locators

Mari's Move tool now displays axes and the direction of movement, and allows you to rotate and scale geometry.

FBX Geometry Support

Mari now supports importing geometry from .fbx files, including the selection of specific child geometry from the file using the tree widget.

Selection Groups

You can now manipulate selection groups using the Python API, allowing you to automate selection group-related functionality in your pipeline.

A new smart selection type, called Selection Group, has been added to allow you to cycle through the various selection groups to which a selected face belongs.

Python Upgrade

Mari now ships with Python 2.7.3, in line with other leading industry products.

Safe Mode

Mari now includes --safe and --safer startup modes, similar to Nuke's, with different logging levels, which can help diagnose problems when running Mari.

Miscellaneous

The Selection Mask layer/node type has been added to the Procedural > Geometry layer menu. This layer/node outputs the current selection as 1.