Mari 6.0v1 Release Notes

Release Date

13 December 2022

Previous Release

Mari 5.0v4 Release Notes

New Features

VFX Reference Platform CY2022

Mari's third party libraries have now been upgraded to the versions specified by the VFX Reference Platform. The specific version comparison between Mari 5 and 6 are specified in the following table:

 

Mari 6

Mari 5

gcc

9.3.1

6.3.1

glib

2.17 2.17

Python

3.9.10

3.7.7

Qt

5.15.2

5.12.10

Qt for Python(PySide)

5.15.2.1

5.12

OpenEXR

3.1.4

2.4.2

Ptex

2.4.1

2.3.2

OpenSubdiv

3.4.3

3.4.3

Alembic

1.8.3

1.7.10

FBX

2020.1.1

2020.1.1

OpenColorIO

2.1.2

2.0

ACES

1.3

1.1

Boost

1.76

1.70

C++ API/SDK

C++17

C++14

USD Look Export

Continuing our USD journey, Mari's USD export workflows have been extended to support artists exporting a full USD Look file that contains both a USD Preview Surface shader and their chosen vendor shader. Mari 6.0v1 ships with export context solutions for Arnold (Arnold Standard Surface), RenderMan (PxrSurface), USD Preview Surface and Principled BRDF, which can all be used as readily available examples on how to generate a complete USD Material right from the Mari Project itself. Using these examples, studios can convert their own proprietary shaders over to work with Mari's USD Look Exporter.

You will now find an updated tab within the Export Manager named USD Look Export which is intended to be the evolution of Mari 5's USD Export tab. When the user has Multi-Channel Bake Points or Channels connected to the shader, Mari can use these to determine the resolution, bit depth and colorspace data to be used for each material within the USD Export.

Note:  With Mari 6 we have moved to USD 22.05. The plug-in source code remains accessible and available for download at: https://github.com/TheFoundryVisionmongers/MariUsdPlugins

USD Material Assign

Building upon work completed in Mari 5, Mari 6.0v1 encourages artists to now use Mari's interactive Selection Group tools in order to drive USD face set based material assignments. Artists no longer need to go and manually reassign materials to the the correct face sets in their Lookdev DCC. Instead artists can now simply select their Selection Groups in the material assignment in order for materials to automatically assign correctly within the exported USD look. Artists will be able to use Mari's USD Look exports to get ground truth render feedback perfect for verifying looks for dailies.

Roller Brush

Mari 6 introduces the highly requested Roller Brush tool. The Roller Brush can be used to paint tileable images along a directional brush stroke in order to create unique texturing effects such as stitches and scales without losing the control you have over each stroke from within the Paint Buffer.

You can access the Roller Brush by selecting the Paint tool and switching to Roller in the pop-down menu. As with all painting tools the Roller can be used in conjunction with custom brushes, our color jittering techniques and full RGBA image brush tips - opening up a new wave of creative options designed to enable artists to texture more efficiently.

Python Shelf Item

The functionality of Mari's Shelf palette has been extended, with Mari 6 supporting the ability to save and share Python code snippets as Shelf Items. Built to encourage collaboration across studios, artists can now save Python scripts to their shelves and pass these to other artists to import into their Shelf so that they can then be executed with ease. The script can also be edited directly within Mari's Shelf without needing to load the Script into the Python Console or edit in an external text editor.

Feature Enhancements

Shelves

Shelves are now saved out to separate files, outside of the main configuration file. Thumbnails are now embedded into the shelf data, rather than stored as separate images on disk.

Performance

Mari will now issue a warning if loading geometry that exceeds the vertex count limit.

Node Graph

  • Backdrop nodes can now be resized from all four corners.
  • Added the ability to bake any node into a Geo-Channel, via a new entry in the NodeGraph context menu "Export to Geo-Channel" or a new shortcut action "Mari/Nodegraph/Export to Geo-Channel".
  • The Preview checkbox in the Edit Bake Point Filters dialog has been disabled by default.
  • Selecting nodes in Node Graph would not work correctly. Additionally, the ability to add, remove, invert nodegraph selection from both clicking and drag-selecting while holding Shift and/or Control has been added:
  • [Shift] will add the selected nodes to current selection.

    [Control] will remove the selected nodes from the current selection.

    [Shift]+[Control] will invert the current selection.

Note:  In order to avoid conflict, [Control]+[Click] behavior to select upstream nodes has been removed. [Ctrl]+[Left Arrow] should be used instead.

Colorspace

A tooltip describing the behaviour of the Color/Scalar switch of color nodes is now present.

UI

  • In the Node Properties tab, the Vector3f attributes in custom nodes have been visually aligned with the rest of the properties.
  • The Tool Properties palette will now enables and disables properties based on their relevance to the current brush tip mode.
  • Training, tutorial and release notes links have been updated to reflect appropriate URL addresses.

USD Import

The USD geometry options in the USD Import window now have tooltips.

USD Export

The legacy USD Export tab in the Export Manager is now hidden in favour of the USD Look Exporter. The tab can now be accessed using the environment variable MARI_USD_LEGACY_EXPORT_TAB.

C API

The C API has been extended to allow camera frame ranges to be specified.

Bug Fixes

Bake Points

  • ID 511734 - When using a batch baking action, selecting [Cancel] button on the Progress bar dialog would not cancels underlying operations.
  • ID 512928 - Canceling the Multi-Channel's node Bake to Paint node operations would incorrectly be disregarded.
  • ID 516146 - When Baking a duplicated Bake Point that is nested in a Group, the original Bake Point would carry the duplicated image set.

Brushes

  • ID 512213 - When switching Brush presets, all properties that the new preset did not contain would incorrectly remain as set on the previous brush. These settings are now reset to default before loading the new brush.

Material Ingest Tool

  • ID 514714 - Tiled or Triplanar Projection nodes from older versions of Mari were not recognized when using a .mma file as a template for the Material Ingest tool.

Node Graph

  • ID 512032 - Custom shortcuts in the NodeGraph>Create section would not be remembered between Mari sessions.
  • ID 524529 - Undoing the import of a Gizmo that contained a Shader node would cause Mari to crash.

Performance

  • ID 510843 - Mari would pick the config/ini files of older versions when opening a new version of Mari for the first time.
  • ID 513796 - Mari would crash when adding a Shader to a Layered Shader.
  • ID 516383 - Setting Scalar color data when creating a paint node would add redundant actions in the History View Palette.
  • ID 518225 - While running 'Check Selected' or 'Uncheck Selected' in the Export Manager's context menu, Mari would crash.
  • ID 522692 - When using the Transform Tool in certain circumstances, Mari would crash.
  • ID 524271 - When using Export Current on a project with three UDIMs, Mari's application window would freeze.
  • ID 512206 - Mari would crash as a result of loading in an image that was too large.
  • ID 512207 - When loading an image that contained data too large for the DDI, Mari would give a generic error message that did not explain the issue.
  • ID 512227 - The start and end keyframes of the project are now stored as part of the project and restored on loading the project, rather than an application-level setting.

Projectors

  • ID 492328 - On Projection nodes, when a viewport Camera was used as a Projector, the projection would not correctly update whilst moving the camera.

Python

  • ID 509813 - When working with Bake Points, the BakePointNode.bakedStateChanged() signal would be emitted excessively.
  • ID 512060 - Executing style() on a QWidget object was causing a crash.
  • ID 514811 - One of the examples in the NodeGraph.nodeList() Python API documentation, was incorrect.
  • ID 519449 - Python Console contents were incorrectly forgotten between sessions.

Session Scripts

  • ID 514927 - Paint nodes inside Groups would not retain paint data when importing from Session Scripts.

Shaders

  • ID 511639 - When deleting a shader from a project, it would incorrectly remain listed within the Shaders palette.

  • ID 513326 - Shaders would incorrectly remain listed in the Shaders Palette when switching between objects.

UI

  • ID 507956 - The Images shelf icon under the Shelf Filter drop down was too large.
  • ID 509374 - Selecting a dropdown menu occasionally would require multiple clicks to open.
  • ID 510807 - Navigating quickly across to a submenu without opening another submenu would not work as expected.
  • ID 510898 - Custom registered shader nodes would be listed in Nodes>Lighting rather than Nodes>Shaders.
  • ID 512209 - The Variants Modifying component values for Vector 4 widgets in the UI would not correctly update.
  • ID 501047 - In the Node Properties of certain node types, locator list with only one transform component would still visually have the labels for the other two.
  • ID 517649 - Assigning a keyboard shortcuts to the same action multiple times would incorrectly result in duplicates being listed in the Description column.
  • ID 519321 - When shaders were deleted from the NodeGraph or the Palette itself, the Shaders Palette would remain out of date.

USD Import

  • ID 495208 - When importing certain USD Files, Mari would occasionally freeze.
  • ID 513181 - The Create Face Selection Group per Mesh option was ignored when loading USD Geometry.
  • ID 513183 - The Include Invisible option had no effect when loading USD Geometry.
  • ID 513184 - Mari would always load USD Geometry and conform it to the Y axis regardless of the Conform to Mari Y as up option in the USD Loader.
  • ID 513186 - The Variants field was disregarded when loading USD Geometry
  • ID 513187 - The GPrimm Names field was ignored when loading USD Geometry.

Shelf

  • ID 512221 - When loading a bitmap brush tip, Mari would incorrectly report that the brush had a resolution of 512x512 pixels.
  • ID 512215 - With certain images, it was not possible to populate an image node attribute by dragging an Image from the Shelf.

File Input

  • ID 512212 - Importing selected patches into a Geo-Channel would incorrectly clear all patches that were not imported.
  • ID 512228 - Loading cameras from Alembic files would sometimes not have all of their animation data brought in.

File Output

  • ID 512217 - The $UDIM export token was not always replaced with the correct UDIM index for partial selection exports.

Projectors

  • ID 512218 - Selecting a Projector in the Projectors list that was already highlighted, would not set the Projector to current as expected.

Snapshots

  • ID 512219 - When a snapshot was taken during canvas shader compilation, it would incorrectly appear blank.

Known Issues

Performance

  • ID 500649 - Due to a known issue with OCIO, Mari crashes when using a non-C locale on Linux. By launching Mari with the numeric format set to a locale that uses full-stops for decimal points, such as English, this issue can be circumvented.
    To achieve this, run the following command in the terminal, amending the path to your Mari installation:

    LC\_NUMERIC=en\_EN.UTF-8 /path/to/installation/mari

  • ID 471286 - Mari crashes when a project is created or opened while using Nvidia GPU driver version 461.92, 462.31 and 462.59.

Painting Engine

  • ID 366737 - Importing .abr Photoshop brushes returns an error if the brush in larger than 2500*2500 pixels.

UI

  • ID 483855 - When Mari is launched with Administrator Privileges, you are unable to Drag and Drop items from Windows Explorer into Mari.

System Requirements

Mari increases its level of performance with newer, more advanced hardware configurations. However, Mari is tested and capable of operating on many older, prior-generation systems. For this reason we are listing below-minimum requirements, which are recommended, and on which tests have been performed. Your particular needs may vary from that of other users.

Officially Supported Operating Systems

  • Windows 10 (64-bit)

  • Linux CentOS/RHEL 7.6 to 7.9 (64-bit)

Note:  Linux Desktop Managers: Mari is officially tested on GNOME and MATE. While it generally performs well on other desktop managers like KDE, most of our bug fixes will target those specified above. Some desktop managers like XFCE have not been tested with Mari and therefore will not be supported.

Minimum Hardware Requirements

  • Quad-core processor
  • 10+GB disk space available for caching and temporary files
  • At least 4GB RAM
  • Display with 1680 x 1050 pixel resolution
  • An NVIDIA or AMD* graphics card with the latest drivers
  • 1GB of graphics memory
  • OpenGL 3.2* or higher

*Displacement preview is currently only available on the cards and drivers that support OpenGL 4.0 or newer.

Recommended System Requirements

  • 2.5+Ghz Quad-core processor
  • 250+GB disk space available for caching and temporary files. SSD is preferable.
  • 16GB RAM with additional virtual memory*
  • Display with 1920 x 1080 pixel resolution
  • An NVIDIA or AMD* graphics card with the latest drivers
  • 2+GB of graphics memory
  • OpenGL 4.4 or higher support

*The use of virtual memory improves stability and helps prevent data loss on large projects.

'Recommended' does not guarantee that it meets your particular needs.

Tested Hardware

The configurations listed below are those that Foundry have tested with Mari. Due to the constantly changing nature and wide variety of computer hardware available in the market, Foundry is unable to officially certify hardware. The list below can be used as a recommendation and does not guarantee that it meets your particular needs.

Please download and install the latest graphics driver from the NVIDIA or AMD websites, and ensure that you are using 8.982.1 drivers or higher for AMD cards.

If you encounter any issues, please contact Customer Support directly through the Support Portal at the following address: https://support.foundry.com.

Tested GPU Hardware

Vendor Tested GPUs
AMD Prosumer Graphics Cards Radeon Pro 560
Radeon Pro 5500M
NVIDIA Prosumer Graphics Cards NVIDIA Geforce GTX 1080 Ti
NVIDIA Geforce RTX A2000
NVIDIA Geforce RTX 3080
NVIDIA Geforce RTX 3090
NVIDIA Enterprise Graphics Cards NVIDIA Quadro P2000
NVIDIA Quadro P4000
NVIDIA Quadro P5000
NVIDIA Quadro RTX 8000