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.