MARI Changelog

What's new in MARI 6.0v2

Apr 11, 2023
  • New Features:
  • API/SDK Changes:
  • Two new convenience functions have been added to the Python API Broadcast and Receiver Teleport nodes to return nodes connected to them via the teleport system:
  • Mari.ReceiverTeleportNode.connectedBroadcastNode()
  • Mari.BroadcastTeleportNode.connectedReceiverNodes()
  • API/SDK Documentation:
  • Python API documentation now lists the tree based menus for easier navigation of classes and modules
  • Roller Brush:
  • The Outline brush tip now rotates to match the draw direction of the Roller Brush and of the Standard Brush when Align to Stroke is enabled.
  • Added the ability to drag and drop an image from the Shelf or Image Manager onto the brush tip filepath text field in the Brush palette, rather than having to manually browse to the file or enter a path.
  • The Roller Brush has been improved to provide smoother interpolation of the drawn curve. As such, the Segment Count property has been removed as it is no longer required.
  • The option to "trim" fully transparent borders of the image used as the Roller Brush tiling image has been added. This will trim top/bottom in Horizontal tiling mode and left/right in Vertical tiling mode.
  • Feature Enhancements:
  • Performance:
  • The MARI_MAX_WRITE_PENDING_SIZE_FACTOR environment variable is now exposed as a new preference item under Mari Preferences > Project > "Max Write Memory Factor". The setting controls up to how much of the Max Memory is used to temporarily hold the data to be written to disks.
  • The experimental environment variable has been removed and replaced by the new environment variable MARI_PROJECTMANAGER_MAXWRITEPENDINGSIZEFACTOR.
  • Teleport Node:
  • When renaming the channel that a Teleport Broadcast node is broadcasting on, an option has been added to update any Receiver nodes that were previously listening in order to use the new channel name.
  • Artists can now attach a Viewer node to a selected Teleport Broadcast node via the numeric shortcuts.
  • UI Improvements:
  • Artists can now modify LocatorList's Translate and Scale fields by using the arrow keys.
  • A UI border around color properties of Nodes and Layers has been added for better visibility.
  • Bug Fixes:
  • API/SDK Changes:
  • ID 494346 - mari.FileList values were not properly sent to Mari via the Python API, which prevented them from being set correctly for properties.
  • API/SDK Documentation:
  • ID 508410 - Property members for the ResourceInfo class would not be listed in the Python API documentation.
  • ID 508421 - Certain Python modules were missing from the Python API documentation. In addition, the Python API documentation now has an improved layout with tree structure.
  • Bake Points:
  • ID 521723 - Bake Point Nodes would miss baking extra UDIMs which were added by a new Geo Version.
  • ID 527974 - Changing an attribute on a Node inside a Group Node would not invalidate Bake Point nodes connected to that Group Node.
  • Color:
  • ID 514433 - Changing the Virtual Texture Gather Scale via preferences caused the UI to display as black.
  • ID 507824 - Loading a custom OCIO config with an empty fallback look entry was resulting in error messages.
  • ID 509282 - Drag and dropping a color swatch from the Color Picker to Shelf would incorrectly display the swatch as grey in the Shelf Palette until project reopen.
  • ID 509544 - The Scalar checkbox inside the Add Channel window would be disregarded when creating a custom channel preset.
  • ID 511745 - The View Transform's Luminance component mode was displaying RGB information instead of the expected greyscale result.
  • ID 511747 - Using the View Transform's Luminance/R/G/B/A component mode was causing the Canvas background to display black.
  • ID 522932 - Color slider positions would not get updated in certain conditions when changing the color/scalar picking modes.
  • Geo-Channel:
  • ID 525545 - Geo-Channel nodes would ignore Background Color if imported images with different bit depth and no alpha channel would cause untouched patches to lose their alpha channel.
  • Layerstack:
  • ID 525692 - Right-clicking a Paint layer in a pop-out Layer palette would not select that layer as the current paint target.
  • Lights:
  • ID 501413 - Switching the environment light when a palette is maximized, was causing Mari to crash when the maximized palette is minimized to bring up the Canvas.
  • Node Graph:
  • ID 522414 - When copy-pasting Material nodes, the new material would get converted to a Group node if any node in the top level of the node graph was named the same as one of the nodes inside the Material.
  • ID 524244 - Resizing a Backdrop node while Snap to Grid is enabled would snap the position of the Backdrop's corners.Geo-Channel
  • ID 525545 - Geo-Channel nodes would ignore Background Color if imported images with different bit depth and no alpha channel would cause untouched patches to lose their alpha channel.
  • Performance:
  • ID 514801 - Resizing the nodegraph palette would incorrectly cause the focal point to drift.
  • ID 521621 - Mari would intermittently crash when Triplanar Projection properties are open in the Layers palette.
  • ID 525625 - The Export Manager would crash if a Shader node was using an unrecognised Shader Model.
  • ID 532693 - The Export Manager would take a significantly longer time to export textures comparing to previous Mari versions. In result, full patch bleed has been disabled by default to avoid slowness during exports
  • ID 533263 - 'Take Screenshot' functionality would produce a black image when View Transform was disabled.
  • ID 535496 - Node Graph related preferences were not correctly loaded if some preferences are set via the Python API
  • ID 536118 - The "Incremental" setting in the Screenshot functionality would not work with paths containing multiple dots.
  • ID 536366 - Many stock actions were not available at the time of user start-up scripts were run.
  • Roller Brush:
  • ID 524625 - When using the Roller Brush tool while Mirror Painting is enabled, using undo did not fully undo the mirrored strokes and the X /Y mirrors would sometimes display incorrectly.
  • ID 525818 - When using the Roller Brush tool, Shift+LMB would result in previous stroke to still be repeated and present in the Paint Buffer.
  • ID 533970 - Roller Brush's "Repeat Direction" parameter would not be updated in the UI when loading a brush from the shelf.
  • Shortcuts:
  • ID 498473 - Assigning a custom shortcut for Open Group Node Subgraph had no effect on the action.
  • Teleport Node:
  • ID 517765 - Chaining a Teleport Broadcast node would cause the dot insertion to be incorrectly placed at the end of a noodle instead of its center.
  • UI:
  • ID 527874 - Certain actions listed under the Tool Help Status Bar would show a redundant ampersand character.
  • ID 528080 - Renaming Shader nodes would not update their names in the Shaders palette
  • USD Export:
  • ID 535468 - USD Look Files containing a material, in which two shader inputs have the exact same names across multiple different shaders, can result in incorrectly connected material node networks.
  • ID 528307 - Exporting USD Materials when using USD files with different than st UV set name, would result in the Look files to have incorrect texture mapping.
  • ID 528355 - Exporting USD Materials with Bump and Normal inputs would not be exported and assigned in the look files of Standard Surface, Principled BRDF and PxrSurface shaders.
  • ID 538461 - Exported USD Materials were incorrectly rendering in the DCC of choice with heavier than expected Bump Weight.
  • 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.
  • Roller Brush:
  • ID 524361 - Using the Roller Brush in conjunction with the Jittering Brush system set to Jitter per Tip, will create a gradient effect instead of using different colors for each tip that has been rolled.

New in MARI 6.0v1 (Dec 14, 2022)

  • Extended USD Support:
  • Continuing our USD journey, Mari 6 provides even more control of your USD exports. You can now export the USD Look with the appropriate shader bindings without having to go through an external Lookdev DCC (digital content creation) tool. In addition, with artists now having the ability to utilize Selection Groups in order to create material assignments on the geometry, it is even easier to get ground truth render feedback to facilitate verifying looks for dailies.
  • USD Look Export:
  • Mari's USD export workflows have been extended to allow you to export a full USD Look file that contains both a USD Preview Surface shader and your chosen vendor shader. Mari 6 ships with export context solutions for Arnold (Arnold Standard Surface), RenderMan (PxrSurface), USD Preview Surface, and Principled BRDF, which can be used as readily available examples on how to generate a complete USD Material right from the Mari project itself.
  • USD Material Assign:
  • Building upon work completed in Mari 5, Mari 6 encourages the use of interactive selection group tools in order to drive USD face set-based material assignments. You can choose selection groups in the material assignment in order for materials to automatically assign to the correct face sets within the exported USD look, removing the need to reassign materials to in your Lookdev DCC. You can then use Mari's USD Look exports to get ground truth render feedback, which is perfect for verifying looks for dailies.
  • TX Post Process Command:
  • By default, Mari ships with Post Process Commands for utilizing Arnold and Renderman texture conversion tools in order for images to be converted to .tx or .tex files right after Mari’s export has completed. This gives you the ability to render the textured USD asset with the appropriate render shader bindings without having to convert the textures manually. The command can be edited to use any of the appropriate conversion tool commands from within Mari, reducing unnecessary pipeline friction.
  • Roller Brush Tool:
  • The Roller Brush tool adds a new painting mode that allows you to paint a tileable image that follows the direction of the brush stroke. For example, you can create seams or decals on a character’s clothing without having to manually line up each tileable texture, one by one, to mimic a brush stroke.
  • Shelf Improvements:
  • Through our collaboration with Weta, we have been able to bring you some amazing optimizations to Mari’s Shelf performance. With the addition of our new Python Shelf Item, the Shelf has never been more powerful or more collaborative.
  • Python Shelf Items:
  • We’ve introduced a new Python Shelf Item that facilitates collaboration between artists using our powerful Python API. You can store Python scripts in shelves which can be executed by double-clicking on the item itself. In addition, the script can be edited inside the shelf and you can change the default thumbnail to something that fits more with the functionality of the script itself.
  • Shelf Performance Optimization:
  • Shelves have been separated from the main configuration file and are now saved out to separate files. Thumbnails are now embedded into the shelf data, rather than stored as separate images on disk, which greatly increases project load times. Sharing shelves between artists is even easier than before, facilitating collaboration while reducing unnecessary time spent on start up.
  • Teleport Nodes:
  • The Teleport nodes help organize your node graph and reduce pain points from repetitive actions, improving your quality of life. Teleport clarifies your node graph by tidying up messy node connections making it easy to read for you and other artists if they pick up your work. You can also quickly reuse elements, such as textures and masks, in other areas of the node graph without creating long or overlapping connections.
  • VFX Reference Platform CY2022:
  • Mari's third-party libraries have been upgraded to the CY2022 versions specified by the VFX Reference Platform. See Third-Party Licenses for a full list of third-party libraries.

New in MARI 5.0v4 (Aug 11, 2022)

  • Mari now ships with a Teleport node designed to help declutter your NodeGraph networks by transmitting data across hidden connections. Any area of your NodeGraph can be plugged into the Input of a Teleport Broadcast node and connected to one or more Teleport Receiver nodes located across your network both at a root level as well as inside and out of nested Groups and Materials.
  • Teleport Node UI
  • The icons used on the Teleport Broadcast and Teleport Receiver node are state reactive. These icons will update automatically when a connection has been made to ensure that it is always clear when a node is in use. By default both parts of the Teleport node are coloured in a bright yellow for visibility, however an additional preference has been added (Preferences > Node Graph > Default Category Colors) to allow the user to manipulate the individual colour of the Broadcast and Receiver nodes.
  • Teleport Node Properties
  • Communicating via Channels
  • New Features:
  • In order to create a connection between a Teleport Broadcast and a Teleport Receiver node, artists will need to ensure that they are both communicating via the same Channel. This can be done by either entering a new name into the Channel section of the Node Properties, or by selecting an existing communication Channel from the drop down list when more than one connection is available. A Broadcast can be made to multiple Receivers, however a Receiver may only listen to one Broadcast.
  • Focus on the Connected Node
  • On both nodes a Focus button has been added to allow artists to quickly jump the NodeGraph to focus on the connected Broadcast/Receiver without having to manually navigate between the two. In cases where there is more than one Receiver node listening to a Broadcast, selecting the Focus Receiver button will show a drop down list of all connected Receivers to chose from.
  • Show Broadcasted Node Properties
  • Both Nodes also now include a Show Broadcasted Node Properties button that will automatically open the Node Properties of the node that is immediately connected to the Teleport Broadcast, without you needing to move across the NodeGraph. For example, when connecting a Material node to a Teleport Broadcast, you can now open the Node Properties of that Material directly from the Teleport Receiver.
  • Bake Points:
  • Metadata names for streamName, streamPretty and streamShort have been added for internal Bake Point nodes of Multi-Channel Bake Point nodes. These can be used to allow token replacement of $STREAMNAME, $STREAMPRETTY and $STREAMSHORT for texture export templates.
  • Batch baking Bake Point node menus now create individual undo records so that individual finished baking results will remain after cancelling the whole batch operation.
  • File Export:
  • A new token $EXPORTROOT can now be used to replace the Export Manager root path when exporting textures.
  • Feature Enhancements:
  • Lights:
  • The sampling of Environment Light HDR images has been improved in order to reduce artefacts in areas of bright light.
  • Node Graph:
  • Using Shift+X for swapping inputs in the Node Graph will now allow to swap clusters of Base and Over inputs for Multi-Channel Merge nodes.
  • Shading:
  • A new GLSL function mriTextureSize() has been implemented to allow the query of texture sizes.
  • Bug Fixes:
  • Camera:
  • ID 510672 - When loading Projects, Mari would set the incorrect values for Camera settings in Perspective View.
  • Channel Presets:
  • ID 506647 - The Channel Presets widget would fail to load .mtt (Channel Preset Template) files and have no effect when selected.
  • Color Picker:
  • ID 510023 - Editing values manually in the HSV Color Picker text boxes would not update the actual color.
  • Colorspace:
  • ID 511533 - The View Transform for certain Colorspace roles would incorrectly display a clamped result when using a HDR set-up in the Canvas.
  • File Import:
  • ID 506793 - Mari would unexpectedly fail to load tiled OpenEXR files.
  • Node Graph:
  • ID 512151 - When grouping a Paint Node, the paint data on the node would be incorrectly deleted.
  • ID 514464 - Certain Node Properties would not reset as expected if the Slider Precision preference is set to a value greater than 3.
  • Performance:
  • ID 508157 - If the home directory was not writable, Mari would crash on exit.
  • ID 508345 - The Pause Canvas Rendering preference did not correctly reduce GPU usage.
  • ID 511718 - When closing Image Views on Linux operating systems, Mari would sporadically crash.
  • Project Data:
  • ID 492086 - Making the canvas fullscreen with the [SPACE] key would incorrectly create redundant directories in the config directory.
  • ID 496831 - An empty redundant folder was mistakenly created in the Mari Bundle folder.
  • ID 496832 - Redundant import os statements appeared within Media/Scripts/Mari/__init__.py
  • UI:
  • ID 492644 - When spawned, the Display Properties UI would be too narrow to display all properties correctly.
  • ID 510038 - Unlike previous versions of Mari, the About Box did not display the build information.
  • 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.

New in MARI 5.0v3 (May 19, 2022)

  • New Features:
  • Python:
  • Two new classes, NodeGraphPalette and NodeGraphView, have been implemented which provide API representation for the Node Graph palette functionality and its UI, such as listing the open taps in the current Node Graph and setting the zoom level of the view.
  • Two new functions have been added to the API that allow encrypting and decrypting strings: mari.app.encryptString() and mari.app.decryptString()
  • The Mari::Projector class now allows the masks for the projector to be adjusted via the API;
  • ProjectionMaskNameList - returns the names for masks on the projector
  • ProjectionMaskPropertyList - returns the names for properties of a mask
  • ProjectionMaskProperty - return the value of a property of a mask
  • SetProjectionMaskProperty - sets the value of a property of a mask
  • Feature Enhancements:
  • Grid Snapping:
  • A new action for toggling the Snap to Grid mode in the Node Graph has been added and bound to the shortcut [Shift+G] by default.
  • Materials:
  • In previous versions, when importing a Material or Custom Procedural node into a Node Graph, the attribute values that the node was saved with would not be remembered and resetting any attribute on imported nodes would restore to the original node's default values. New functionality has been added to allow both node types to now store user picked attributes as the default values after export.
  • Python:
  • Signals are now emitted when layouts are loaded mari.app.layoutLoaded() and saved mari.app.layoutSaved().
  • Two new classes, NodeGraphPalette and NodeGraphView, have been implemented which provide API representation for the Node Graph palette functionality and its UI, such as listing the open taps in the current Node Graph and setting the zoom level of the view.
  • The Mari::NodeGraph::getUpstreamNodes() function now works on nodes inside group node nodegraphs. Note that it will only return upstream nodes that are inside the same Node Graph as the given start node, if all upstream nodes are desired regardless of Node Graph, the function getAllUpstreamNodes() should be used.
  • New Python API function GroupNode.knobList() returns a list of GroupNode knob information
  • Added a nodePath function to Node API class to return the pathkey for the node.
  • Added API functions to MaterialNode and CustomProceduralNode which allow users to retrieve and edit the Material or Custom Procedural tags on the node.
  • Setting node position and size via the Python API is now undoable.
  • Signals are now emitted when layouts are loaded mari.app.layoutLoaded() and saved mari.app.layoutSaved().
  • Added Python API documentation for USD specific project meta options of mari.projects.create()
  • The Mari::NodeGraph::nodeList() and selectedNodeList() functions now have an argument to exclude hidden system nodes from the returned list (Current Layer, Current Paint Target, etc.). The default behaviour will still include these nodes.
  • Bug Fixes:
  • Bake Points:
  • ID 501524 - The Bake Point nodes would incorrectly appear as out-of-date when baking duplicated Bake Points using a shortcut.
  • Performance:
  • ID 490877 - Using the [W] shortcut while having a Paint node selected would corrupt the image set. The shortcut would action the Change Current Channel option which would not have any effect. This has now been removed.
  • ID 503984 - Under certain circumstances and desktop environments, Mari could crash when refreshing the Shaders and Layers palettes if they contained widgets for certain attribute types.
  • ID 504438 - The Take Snapshot feature would incorrectly cause Mari's UI and ViewPort to turn black.
  • ID 506429 - Using the OCIO_ACTIVE_DISPLAYS environment variable would cause Mari to crash at launch.
  • ID 507017 - In some versions, Mari would not correct emit the exiting() signal, leaving warnings in the output console.
  • ID 509505 - Projects with large nodegraphs could take an unexpected amount of time to load and process the up-to-date state of Bake Point nodes.
  • Python:
  • ID 497016 - Calling functions with the wrong argument types of static objects in the Python API would cause a crash.
  • ID 497093 - Python API shelf management functions would not prune correctly, resulting in empty groups.
  • ID 505884 - In Mari 4.8 and 5.0, when setting an integer metadata tag via the Python API, it would not be accepted and it would fail instead.
  • ID 506674 - The Python API signal imageSetMadeCurrent would not be fired correctly at expected timings.
  • ID 506689 - Obtaining certain metadata for Material nodes in Python API would cause unexpected failures.
  • ID 507372 - Changing a node and baking downstream Bake Points in a single Python execution would result in those downstream bake points becoming out of date.
  • Rendering:
  • ID 499446 - Selecting and deleting a Paint node that was not connected to a viewer would result in other Paint nodes showing the wrong paint data.
  • Shelf:
  • ID 504725 - The Shelf Filter list incorrectly showed the Image Filter icon twice in UI.
  • UI:
  • ID 492163 - Context menus would not display the shortcuts for the menu items in Mari 4.8.
  • USD:
  • ID 505140 - Geo Entity Versions with an invalid or empty source mesh location would throw an error when exporting to USD.
  • ID 507777 - The Example Head project had incorrectly stored paths used by the USD Export Manager.
  • View Transform:
  • ID 496270 - When setting the Gamma slider of the View Transform toolbar to 0.0, Mari would display an error dialog.
  • 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.

New in MARI 5.0v1 (Nov 19, 2021)

  • USD Preview Look Export
  • Filtering Non-Destructively Using Bake Point Filters
  • Changing Brush Color Dynamically
  • Brush Tip Improvements
  • Gradient Procedurals
  • Math Nodes
  • Node Graph Snapping
  • VFX Reference Platform CY2020

New in MARI 4.7v4 (Jul 7, 2021)

  • Bug Fixes:
  • Colorspace
  • ID 481261 - Colors picked in the Scalar mode would appear too bright when applied to a Paint node/layer.
  • ID 481231 - Picking colors from the Canvas in Pick Raw Pixels mode, would pick incorrect values when in the Scalar color picking mode.
  • ID 481046 - When using the Paint Through tool in Stencil modes the painted color would be brighter than the color chosen.
  • ID 481714 - The color parameters of Procedural patterns, when set as Scalar colors for a Scalar Channel, would appear brighter than expected.
  • ID 481214 - The Eye Dropper tool would introduce 16-bit integer precision errors when picking colors from a 32-bit float Paint layer/node.
  • ID 481108 - The RGB value of Color Swatches would not remain consistent in Create Paint/Bake Point/Channel node windows, when switching colorspace configurations between Color and Scalar modes.
  • ID 481115 - Color Picker slider positions would not be synchronised with their numerical values in the Scalar color picking mode.
  • ID 481237 - Modifying values in the Target column of the Values tab in the Color Picker interface would behave unexpectedly.
  • Project Data:
  • ID 482037 - Opening a project that after registering Custom Blending Modes would trigger the Convert Layers confirmation window to erroneously appear every time the project was opened.
  • UI:
  • ID 479747 - In certain scenarios Mari could crash when interacting with Palettes.
  • File Import:
  • ID 480688 - Animated OBJ file sequences were no longer being detected by the Geometry loader interface in the New Project window.
  • Known Issues:
  • Graphics Cards:
  • ID 207913 - Mari may crash, or operate with lower than expected performance, when using recent graphics drivers with some AMD cards.
  • There have been reports that Plays.tv and Raptr, which come bundled with the AMD FirePro drivers, can cause instability in Mari. If you are experiencing instability, please try uninstalling these applications.
  • Importing And Exporting:
  • ID 113036 / BZ 49131 - High polygon .obj files, exported using the OBJ Exporter plug-in, cannot be read back in to Mari.
  • ID 10157 / BZ 16324 - Windows only: You cannot currently import an image into a channel using a relative file path. To work around this, use an absolute path when importing images.
  • ID 9854 / BZ 14985 - There may be a slight pause after importing textures when creating new projects, while Mari saves the project.
  • Layers:
  • ID 383360 - Using Displacement on Shaders may significantly decrease Canvas frame rate whilst navigating. This can be offset by disabling displacement on individual Shaders, or by globally disallowing the Tesselation Allowed setting found under Preferences > GPU > Shaders.
  • ID 64924 / BZ 34690 - Flattening or caching layers or channels on complex projects may cause Windows to reset the graphics driver due to the long processing time. To work around this issue, you can try to flatten or cache fewer layers at a time, or reduce the value of the Max Render Size For Baking setting. This setting can be found under Preferences > GPU > Baking and Projection.
  • Reducing this size breaks the flattening or caching operation up into smaller pieces, which individually take less time to calculate, and thereby avoids a Windows graphics driver reset.
  • Mari Tools:
  • ID 10046 / BZ 13640 - The Blur tool can be slow to use on the initial stroke. Wait for Mari to process the blur before applying a second stroke.
  • ID 9567 / BZ 13394 - Using the Select Items tool with the Facing set to Front to select and hide a portion of faces causes some of the faces within the selection to remain visible when zoomed in. To catch all selected faces, either:select Facing > Through instead of Front, or
  • Zoom in closer to the object.
  • Node Graph:
  • ID 126816 / BZ 51452 - When importing a gizmo, the nodes in the gizmo did not retain their organization if they were created using the item name in the menu.
  • ID 125961 / BZ 51263 - It is not currently possible to attach the Viewer node to standard Mari shaders, because they are hidden. As a workaround, you can click the View the current channel button above the Node Graph.
  • ID 125813 / BZ 51247 - Channel transfer doesn't transfer Graph Layers as expected.
  • ID 124611 / BZ 51082 - The Ambient Occlusion node's properties don't include a generate AO option.
  • Nuke<>Mari Bridge:
  • ID 48970 / BZ 23010 - If Mari crashes when receiving incoming components from Nuke when the Virtual Texture Type is set to Float, lower the Virtual Texture Size to a value below 8192x8192.
  • ID 17678 / BZ 19780 - A projector created in Ortho view in Mari does not re-project correctly in Nuke.
  • Ptex:
  • ID 13600 / BZ 17626 - It can take a long time to import very large or very high polygon count ptex models. The work-around is to assign a small uniform face size (1x1 or 2x2) on import, and then upres the relevant bits of the model as necessary after loading.
  • ID 13531 / BZ 17618 - Ptex does not bake properly if the resolution of the face is too small. The workaround is to increase the resolution of the selected faces you are having problems with.
  • Shaders:
  • ID 64961 / BZ 34729 - Mari displays a rendering error on the canvas when it is unable to create a shader. More information has been included to help you determine the cause of the error. Some solutions might be to hide groups and layers, or to cache parts of your layer stack until a shader can be created
  • Windows:
  • ID 308268 - Windows only: When working on multiple monitors, palettes sometimes cannot be docked.
  • Miscellaneous:
  • ID 200836 - Scrolling in the Brush Editor or Tool Properties palette makes the scratch pad go blank.
  • ID 129292 / BZ 51771 - Removing, changing, or hiding subdivided objects takes a long time.
  • ID 126164 / BZ 51322 - Modo Render: The preview occasionally fails to update fully.
  • ID 124233 / BZ 51049 - Texture transfer does not take object transformation into account
  • ID 123532 / BZ 50898 - Existing subdivision calculations are lost when recalculating, even if recalculation fails.
  • ID 100303 / BZ 46600 - Ambient Occlusion must be updated after any OpenSubdiv calculation.
  • ID 90144 / BZ 43020 - Mac OS X with retina screens only: When a hidden menu is unfurled over the canvas, the canvas zooms in dramatically.
  • ID 62668 / BZ 33293 - Linux: Launching Mari with the language set to one without certain character symbols resulted in Mari failing with an error that the specified transform could not be loaded. To work around this, set the locale (language) to English.
  • ID 60643 / BZ 31946 - Sometimes paint is not baked because of memory management issues on the graphics card. This can be due to issues such as a high resolution paint buffer, a high bit-depth paint buffer, large virtual texture size, or even a large scale value on the paint buffer transform. These issues can usually be identified by glError: 0x505 out of memory messages in the log. Try reducing any or all of these values to prevent it happening. Graphics drivers are continually improving, so it’s also worth checking whether upgrading your drivers resolves the problem.
  • ID 37066 / BZ 20021 - Textures in the canvas intermittently switch between lower and higher resolutions. This issue is more likely to occur if your virtual texture resolution is low, and you're working on a complex model with displacement. Possible workarounds include increasing your virtual texture size, reducing the number of channels Mari has to access at once (for example, by reducing the number of channels required for the current shader), to reduce the patch resolution of patches in the channels used in the shader, or to use a smaller canvas window or monitor.
  • ID 9758 / BZ 14201 - Linux only: Mari becomes unresponsive after the system is woken from sleep.
  • ID 9631 / BZ 13700 - Adjusting the Camera > Perspective settings for a Projector is not reflected on the canvas until the Projector is made Current.
  • ID 9363 / BZ 12102 - Current brush settings do not get saved as part of the project. Instead, Mari reverts to the default settings when you close and relaunch it.
  • ID 9342 / BZ 11874 - Mari doesn’t recognize 3-digit padded .obj sequences as animation
  • ID 8030 / BZ 13571 - Launching a new version of Mari for the first time, when a config file exists from a previous version, sometimes results in an object not appearing in the Ortho view.

New in MARI 4.7v3 (Jun 16, 2021)

  • New Features:
  • Scalar Color Picking Mode:
  • In Mari 4.1, we introduced the Perceptual Color Picking Engine to our color management system. This intuitive method of picking colors lets the artist choose a color, within the context of how it appears in the viewer, then resolves the RGB value of the color to the target Channel's colorspace. This allows artists to pick colors based on their perceptual look without requiring any concern for what the RGB values should be for Channels of any colorspace. However in certain scenarios, when choosing values for non-color or scalar Channels, this system would distort the chosen values as the engine would try to process the artist's choice as a perceptual color rather than a series of scalar data values.
  • In order to overcome these scenarios, we have introduced a new Scalar Mode to our Color Picker. Driven by the colorspace context of the active painting target being set to scalar, this new mode allows artists to pick raw RGB values without Mari engaging the Perceptual Color Picking Engine, which ensures results in undistorted, artist chosen RGB values.
  • New Colorspace Nodes:
  • Colorspace Context Conversion Adjustment Layers
  • Two new colorspace Adjustment Layer (or filter node) types have been added to Mari, Color to Scalar and Scalar to Color. These allow you to convert the RGB values of your Layerstack/NodeGraph from color to scalar or the reverse. This is particularly handy in workflows where you intend to blend the perceptual mid gray of a bump or roughness map into a Channel configured for color.
  • View as Colorspace Context Nodes
  • We have added two new colorspace nodes, View as Color and View as Scalar, that enable you to force the View Transform to switch to the desired display context. Together, these nodes give you full control on how you view the shader of your graph network.
  • Feature Enhancements:
  • Colorspace:
  • ID 415443 - Mari's Image Manager right click menu now exposes Set Image Colorspace > As Color/Scalar options for batch setting Color/Scalar state of the selected images.
  • Mari now exposes a new Scalar column in the Channel Presets table which allows artists to specify whether each Channel or texture file sequence to import is representing Scalar data or not.
  • The Color Picker dialogs and Colors palette now show the tabbed pickers instead of the HSVRGB sliders when the size is small.
  • Mari now only shows the Color Data colorspace config box of Channels for simpler user interaction, while the Channel Mask Data colorspace config box is now only visible in the advanced colorspace UI mode.
  • Performance:
  • Unnecessary wait times (spinning wheels) when switching between previously used shaders, layers and nodes, including when changing blending modes and layer visibility, has been reduced. Additionally, the frame rates of heavy scene shaders has been improved.
  • ID 416605 & 447023 - By using the new Preference item Data > Project > Delete Patch Data no Longer Required, Mari can now clean up UV Patches and associated image data from the project cache once they are no longer resident in a project.
  • Finding and selecting texture sequences in the Import Channel dialog is now faster and more responsive.
  • Node Graph:
  • ID 474605 - Clicking a Stream button on the Multi-Channel Merge node properties no longer switches the project's Current Channel which increases the performance switching between and configuring multiple Streams of a Multi-Channel Merge node.
  • UI:
  • The borders around floating palettes and splitter handles have been increased for easier manipulation when using graphics tablet devices.
  • ID 414086 - Node parameters for specifying save paths now bring up a file overwrite check window once the text box editing has finished.
  • ID 447428 - The Edit Properties dialog of a Multi-Channel Bake Point node now has better column spacing and tooltips
  • Selection:
  • ID 307481 - The shortcut, Ctrl+Shift+H, is now assigned to "Show Entire Object" instead of "Show All" by default. This makes the workflow of temporarily isolating a selection of an object feel more intuitive, as you can no longer mistakenly unhide other objects in your Project you intended to keep hidden using the show/hide shortcuts.
  • Bug Fixes:
  • Colorspace
  • ID 470909 - The Export template token $COLORSPACE would get resolved to Colorspace roles rather than the actual colorspace name.
  • ID 475696 - The Blending Colorspace conversion dialog would show up redundantly for non-8-bit Channel nodes
  • Performance:
  • ID 473065 - Connecting a Node with lots of inputs/outputs would take an unnecessarily long time.
  • ID 443313 - Mouse activity in/over the Node Graph view would cause the Canvas view to redraw even though the preference Pause Canvas Rendering was enabled.
  • ID 472129 - When adding a new Geo Version to an Object containing Multi-Channel Bake Point Nodes, users would be forced to wait an unexpectedly long time for the new version to appear.
  • Tools:
  • ID 462211 - Under certain circumstances, tools which used a snapshot of the canvas, such as Blur, could cause Mari to crash if the user began navigating the viewport before the baking of the paint buffer was completed.
  • ID 462243 - The Clone Stamp Tool would fail to operate on a duplicated Object
  • ID 171069 - Reset Object Transform would not completely reset the transform for Transform Selected Objects tool, and it would allow the tool to incorrectly move the Object back to the location it was before resetting.
  • Shading:
  • ID 439330 - Popping up the Advanced Blending Options would cause an unnecessary shader compilation.
  • ID 470125 - The Perturb Normals attribute on Displacement Simple nodes was giving incorrect results. This has been corrected and will now be enabled by default when creating a new Shader.
  • Project Data:
  • ID 434200 - Under certain circumstances, when removing a locator which was referenced by a Locator List, the Locator List would forget the last used transform values.
  • ID 461599 - After duplicating an Object, the duplicated Object's Geo-Channels would malfunction if they originally are used in Geo-Channel Nodes.
  • ID 469264 - Exporting a Ptex file would contain some texture artifacts under certain conditions.
  • ID 467228 - Undoing Merge Layers would unexpectedly cause Mari to crash.
  • ID 467359 - LayerStack or NodeGraph changes would not be reflected in the Canvas render if the current Object was not the Object the LayerStack or NodeGraph belongs to.
  • ID 471921 - Copying a multiple output nodes and a Geo-Channel node would crash MARI
  • ID 438878 - The Convert Layers warning dialog would pop up for certain custom Node types utilizing a stringList attribute with no default value.
  • ID 476885 - When copying certain nodes, Mari would add redundant undo records to the history.
  • UI:
  • ID 430909 - Excessive trailing zeroes would appear in floating point number fields instead of the value ending at the last relative number.
  • ID 466675 - The input text box for renaming a Project would appear at incorrect positions in the UI.
  • ID 476264 - The Material Ingest Tool would not lock the Shader Model drop down control on reopening when a Material Template was being used
  • ID 463541 - The Pie Menu would not show the Shelf Items from the Menu shelf.
  • ID 471040 - Error dialogs would show unnecessary information when opening corrupted image files.
  • ID 454830 - When importing older shelves, Mari would spawn non-responsive dialogs requesting brush thumbnails regeneration.
  • ID 434054 - Custom Palettes would disappear after exiting the full screen Palette mode.
  • ID 246329 - Resetting shortcuts would not be reflected in the tooltips of the actions.
  • ID 423630 - Toggling back from the Full Screen mode would bring back the incorrect Palette at the top-level of a stack of Palettes.
  • ID 475019 - Mari would ignore shortcuts if they were executed after selecting an item in a drop down menu, such as the blending mode selection in painting tools or the Layerstack.
  • ID 475984 - When the Export Manager opened its window it would not display the Export Items of the currently active object.
  • Node Graph:
  • ID 477170 - When inserting a standard node into a collapsed stream connection between two Multi-Channel nodes, Mari would unexpectedly crash.
  • Texture Transfer:
  • ID 472510 - When running Texture Transfer of Layers with Flatten option set to Yes, Mari would fail to transfer due to an internal error .
  • Development:
  • ID 460239 - The Python API function mari.images.add() would not retain a reference to the given Image object causing the image to disappear from the ImageManager if the caller's Image variable goes out of the scope, causing Python garbage collection to delete the Image object.

New in MARI 4.6v4 (Jul 20, 2020)

  • New Features:
  • Limited Patch Range Baking:
  • In previous versions of Mari, baking would flatten the upstream graph results for all patches within a project even if the results would be masked for a small range of patches downstream. This would waste a lot of computation time when your objects had a large amount of UDIMs. Mari 4.6v4 introduces the ability to use a Limited Patch Range when flattening upstream results to a Bake Point node. You can now limit baking to the required UDIM patches by specifying a patch range and then select a background color for patches outside the given range - reducing bake times and giving the user more control to reduce project complexity with Bake Points.
  • Export on Bake:
  • Users now have the option to automatically export the flattened results of a Bake Point to disk after updating its upstream results. If Export on Bake is enabled, Mari will rewrite textures to a given path when patches are baked instead of requiring the user to manually export the updates. This streamlines the process of sending your iterative updates to other applications.
  • Transform Tool: Local Space Mode:
  • A new Local Space Mode has been added to the existing Transformation Tool allowing you to manipulate the transform gizmo along the object axises once it has been rotated. Manipulating the Transformation Tool handles while holding the CTRL key now edits the transformation in iterative steps. Additionally, the hit area for Transformation Tool has been increased, removing the requirement of pixel perfect handle picking.
  • Feature Enhancements:
  • ID 407155 - The selection area for the Transform Tool has been Increased around handles for easier manipulation.
  • ID 423733 - The Canvas viewer's Scalar Mode check will now correctly handle data from Shader Model defined streams used by Multi-Channel and Shader Nodes.
  • ID 434792 - Mari now maintains the state of the Pin/Float Palette button in the Palettes Toolbar across sessions
  • ID 415556 - The Transform Tool now supports switching between both Local and Global space transformations via the drop-down in the Tool Properties toolbar.
  • Additionally, holding the [CTRL] modifier while translating an Object or Locator will perform a translation in 1 unit steps. Holding [CTRL] while rotating an Object or Locator will perform a rotation in 5 degree steps.
  • ID 422512 - The visual appearance of edge connections in the NodeGraph has been updated to use a smart-radius boundary and straighter connections between Nodes.
  • ID 423551 - The new preference item GPU > Canvas > Pause Canvas Rendering has been added. When enabled, UI interaction is improved by pausing the canvas rendering smartly when the mouse cursor is outside the Canvas.
  • ID 429388 - When adding a Geo Version with many new patches, Mari would take an unexpectedly long time to complete the import process.
  • ID 427586 - The opacity of UV grid lines was reduced in order to allow better distinction from the UDIM boundaries.
  • ID 380848 - Mari now allows users to convert Graph Layers to a Paintable Layer.
  • ID 434218 - The Modo Bake & Render Palette has been updated to version 14.0 and re-enabled on macOS. The Modo Bake & Render Palette now includes a new preset called Thickness.
  • ID 426347 - The Levels adjustment layer/node now allows users to enter negative values without clamping.
  • ID 369368 - A new Preference item Default Import Colorspace has been added to Edit > Preferences > Color which allows you to specify the default colorspace setting of Import dialogs.
  • ID 430568 - Images used by any node type inside of a Material are now bundled when exported.
  • ID 432523 - When launching Mari with an Intel GPU, we no longer suggest that this is in an experimental state. Mari does not support Intel graphics cards.
  • ID 406575 - When opening a Mask, Adjustment or Channel Layer Stack pop out, the palette pin state will now match the pinned/floating open mode set in the Palettes Toolbar.
  • ID 434698 - Lighting and shading has been added to Transform Tool handles for better visibility of orientation.
  • ID 437550 - The new Preference, Preferences > Navigation > Transform > Stepping Angle, allows to configure the stepping angle for rotation of Objects and Locators.
  • ID 434706 - Locator objects created from a Locator List now spawn as a child of the current object. Locator names are also now inherited from the Layer/Node used to create them.
  • ID 242166 - When dragging a NodeGraph connection onto a Node, the presented list of Node inputs and outputs will now show the pretty name of each port, rather than the internal name.
  • ID 353263 - When viewing the Node Port Connection List by dragging a NodeGraph connection onto a Node, the list will now show the pretty name of the Inputs/Outputs in order of appearance on the node.
  • ID 353550 - When viewing the Node Port Connection List by dragging a NodeGraph connection onto Multi-Channel Nodes, the list will now display a port's full name instead of the 4 character abbreviation.
  • ID 428110 - The CC0_Textures Material Ingest Template has been updated to support the new naming convention used by CC0Textures.com
  • ID 435569 - Text entered in the Python Console input is now saved and restored across Mari sessions
  • ID 437649 - Users are now able to configure which of Mari's docking areas own each corner of the main window using Edit > Preferences > Misc > Window Corner Dock Areas, which allows palettes to extend to the full height of the window when changing ownership to the Left and Right Docking Areas.
  • ID 437552 - When creating a new Locator from a LocatorList, the current transform properties of the LocatorList fields are applied to the new Locator.
  • Bug Fixes:
  • ID 429532 - When setting the Paint Through source image to Raw, the Paint Through Tool would incorrectly paint a color-converted stroke.
  • ID 430576 - Images used by Image type attributes inside Material nodes were not bundled with their Material file when exported from Mari.
  • ID 434111 - Renaming an output of a Group node would not correctly update connections from the renamed output.
  • ID 438250 - If certain NodeGraph shortcuts were triggered before a project was opened, Mari would crash.
  • ID 437261 - When copying and pasting a node, importing an MNG file, importing a Material or duplicating a Layer, Mari would emit nodeCreated() signal for all the nodes in the Node Graph.
  • ID 427471 - When sibling streams were located in different sub-directories of a common Material Root Path, the Material Ingest Tool would not find more than one valid stream.
  • ID 436867 - When creating a Graph Layer, Mari would automatically overlap the placement of the Input and Output nodes which would then need to be rearranged.
  • ID 396645 - When applying a Filter to the Current Painting on a Projected Image, the Paint Buffer would unexpectedly resize.
  • ID 418186 - When importing a Geo-Channel into a PTEX project, Mari's application window would turn black on macOS.
  • ID 423841 - When adjusting the parameters of Hue Filter on macOS, the Mari application window would unexpectedly render black.
  • ID 424133 - When an invalid path was given, the Material Export dialog displayed an empty warning message.
  • ID 422600 - When applying Filters such as High Pass, Blur and Gaussian to Current Painting, the Filter Preview would appear brighter than the actual applied result.
  • ID 423144 - Zooming in and out of the NodeGraph view would cause the Viewport centre to drift. Additionally;
  • The NodeGraph navigation "Zoom To" preference would internally reset to "Centre" when the NodeGraph view was displayed despite misleadingly set as "Cursor". It now respects the preference setting correctly.
  • Moving the scroll wheel would zoom the view whilst still performing viewport navigation. Mari now only allows zoom to be triggered if not already panning/zooming.
  • ID 425758 - When exporting a Material containing images from an imported Session, image type attributes were not correctly bundled in the .MMA.
  • ID 426007 - When adding an Object Version to an Object containing baked Bake Point Nodes on macOS, Mari would unexpectedly crash.
  • ID 426173 - On macOS, if the Play Controls toolbar was spawned then opening a Project would cause Mari's main window to render black.
  • ID 423863 - The Modo Bake & Render Palette would incorrectly export 16bit textures when 32bit was selected.
  • ID 427428 - Directly viewing an Output node inside of a Group node would not correctly update in the Canvas.
  • ID 427191 - When a Group node had many promoted Knobs, editing the Name field of a Backdrop node contained within would be slower than expected.
  • ID 426991 - Certain combinations of project version and Mari version could cause significant slowdowns with UI interaction.
  • ID 434240 - When cancelling an Export Dialog, Mari would not save settings correctly though the dialog was cancelled.
  • ID 427718 - When using Dynamic shader compilation mode, the Height As Normal node would generate an incorrect normal map from nodes with multiple outputs.
  • ID 428171 - The Bump and Normal mappings of the Principled BRDF Shader would incorrectly affect specular lighting.
  • ID 432021 - Mari crashed during importing Geo-Channels when using the background importer option.
  • ID 430563 - Imported nodes with Color type attributes would silently modify the Colorspace flags for those attributes.
  • ID 430566 - Images imported from Materials were not added to the correct Material Images tab in the Image Manager.
  • ID 425585 - A duplicated Bake Point node would incorrectly share the same image set as the original Bake Point node.
  • ID 428233 - On importing Bake Point nodes into a new Project, Bake Points would appear Clean and could not be baked.
  • ID 428229 - After importing, Bake Point nodes would appear green/Clean even though the baked data was no longer valid.
  • ID 430271 - When copying and pasting Bake Point nodes between different Objects, nodes would appear Clean although the baked data was invalid.
  • ID 428238 - Nested Bake Point nodes would not bake in the expected order. Additionally, altering the contents of a Group node will now only invalidate downstream Bake Point nodes from affected Group node outputs.
  • ID 424914 - The Project Settings dialog was too large when opened, potentially extending off the bottom of the available screen space.
  • ID 438896 - The controls within the View Transform toolbar would disappear when switching to the application's default layout.
  • ID 436667 - Opening the Export Manager multiple times for the same project within a single Mari session could incorrectly create duplicate entries that conflicted with each other.
  • ID 432088 - Spawning the Color Picker dialog from the Layer Properties would cause Mari to crash unexpectedly.
  • ID 432464 - When viewing the Node Properties of a Multi-Channel Merge with no Current Channel, you would be unable to select and adjust the individual properties of the contained streams.
  • ID 433197 - When modifying a Node or Layer name, no entry would be added to History. Likewise, changing a Node or Layer name would not trigger the Project Save confirmation dialog as no Undo entry had been added.
  • ID 435387 - Modifying the Camera Focus actions (by default 1,2,3,4,5,6,A,F keys) would not be possible to undo.
  • ID 438591 - Modo Bake Presets with spaces in the name would fail when being baked to a Geo-Channel.
  • ID 429091 - Channel properties would incorrectly show redundant bakePointNodeState attribute for old projects.
  • ID 268302 - When modifying an Object's position or rotation with the Transformation Tool, no visual indication was given to reflect the changes made.
  • Developer Notes:
  • These are the changes relevant to developers.
  • New Features:
  • Open Source USD Mesh Importer Plugin
  • We have taken ownership of a mesh importer plugin for USD originally developed at Pixar. The plugin currently only supports UsdGeomMesh and UsdGeomXform primvar types. It does not yet support UsdShade, UsdGeomCamera, UsdLux or other Usd Schemas. However, we have added native support for OpenSubdiv parameters on UsdGeomMesh, which requires CAPI extensions introduced in Mari 4.6v4.
  • The plugin source code is available for download at:
  • https://github.com/TheFoundryVisionmongers/MariUsdPlugins
  • Feature Enhancements:
  • ID 322657 - Mari now supports the ability to set NodeGraph context Shortcuts using the Python API:
  • mari.Action.setShortcut(rString, mari.ActionManager.ShortcutGroup Group)
  • mari.Action.shortcut(mari.ActionManager.ShortcutGroup Group)
  • mari.Action.removeShortcut(mari.ActionManager.ShortcutGroup Group)
  • mari.ActionManager.shortcutIsInUse(Shortcut, mari.ActionManager.ShortcutGroup Group)
  • mari.ActionManager.actionFromShortcut(Shortcut, mari.ActionManager.ShortcutGroup Group)
  • mari.ActionManager.shortcut(Path, mari.ActionManager.ShortcutGroup Group)
  • mari.ActionManager.shortcuts(Path, mari.ActionManager.ShortcutGroup Group)
  • mari.ActionManager.setShortcut(Path, mari.ActionManager.ShortcutGroup Group)
  • mari.ActionManager.removeShortcut(Path, Shortcut, mari.ActionManager.ShortcutGroup Group)
  • mari.ActionManager.removeShortcuts(Path, mari.ActionManager.ShortcutGroup Group)
  • ID 391169 - mari.current.channel().importImages() will now throw an IO exception with the message "Import failed: Import was cancelled" if the user chooses to cancel the import operation.
  • ID 432059 - It is now possible to flag a color type attribute as scalar via the API. e.g. node.setMetadataTypeFlags("Color", mari.Metadata.METADATA_TYPE_FLAG_COLOR_SCALAR)
  • ID 97219 / 45444 - The following functions have been added to the API to allow the querying and configuring of a Point light:
  • mari.PointLight.intensity()
  • mari.PointLight.setIntensity(Intensity)
  • ID 436704 - Added mari.current.nodeSelection() to the Python API as an alternative to mari.geo.current().nodeGraph().selectedNodeList()
  • ID 430139 - You can now capture the Canvas image at a specified size the the additional two arguments:
  • mari.Canvas.capture(self, Width=0, Height=0)
  • ID 435569 - Text entered in the Python Console input is now saved and restored across Mari sessions
  • Bug Fixes
  • ID 428077 - Mari's Undo stack would be accidentally disabled after using the exportImagesFlattened() call in the API.
  • ID 432600 - Mari would incorrectly return True when checking if a selected Multi-Channel Material is Procedural with mari.MultiChannelMaterialLayer.isProceduralLayer().
  • ID 321962 - When copying and pasting a node, Mari would incorrectly emit nodeCreated() signal for all the nodes in the Node Graph.
  • ID 428992 - When using setMetadataRange() function with the Python API to set the Metadata range of a Float attribute, Mari would mistakenly return an error.
  • ID 431444 - A Cloud node originating from older projects would not return the correct type when using the proceduralType() function.
  • ID 437432 - Querying if a bake point node is up to date via the API immediately after changing an upstream node was not always returning the correct value.
  • ID 437434 - mari.BakePointNode.exportBakedResult(BakeOutOfDate=True) did not bake out of date nodes prior to exporting.
  • ID 434031 - The commands mari.shelves.removeShelf() and mari.Shelf.removeItem() were able to remove locked shelves and shelf items.
  • Graphics Cards:
  • ID 207913 - Mari may crash, or operate with lower than expected performance, when using recent graphics drivers with some AMD cards.
  • There have been reports that Plays.tv and Raptr, which come bundled with the AMD FirePro drivers, can cause instability in Mari. If you are experiencing instability, please try uninstalling these applications.
  • ID 16225 / 18457 - Using NVIDIA graphics cards from the Fermi series with drivers older than version 270 results in various rendering issues when the Virtual Texture Type is set to Half or Float.
  • To resolve this, please download and install the latest graphics driver for your card from the NVIDIA website
  • ID 9404 / 12567 - Enabling Sync to VBlank in NVIDIA settings can drastically reduce Mari’s performance. If you experience very slow interaction, even with low-polygon models, on one of the Tested Workstation Hardware, navigate to:
  • Linux: NVIDIA X Server Settings > X Screen 0 > OpenGL Settings and turn off Sync to VBlank.
  • Windows: NVIDIA Control Panel > 3D Settings > Manage 3DSettings > Vertical Sync > Force off
  • Then, restart Mari.
  • Importing And Exporting:
  • ID 123514 / 50886 - Imported shaders don't have channels assigned.
  • ID 113036 / 49131 - High polygon .obj files, exported using the OBJ Exporter plug-in, cannot be read back in to Mari.
  • ID 57756 / 29386 - When using the Export for Maya script, Maya’s viewport may incorrectly show some patches as transparent. This can be resolved by selecting High Quality Rendering or Viewport 2.0 from the Renderer menu within Maya.
  • ID 10157 / 16324 - Windows only: You cannot currently import an image into a channel using a relative file path. To work around this, use an absolute path when importing images.
  • ID 9854 / 14985 - There may be a slight pause after importing textures when creating new projects, while Mari saves the project.
  • Layers:
  • ID 383360 - Using Displacement on Shaders may significantly decrease Canvas frame rate whilst navigating. This can be offset by disabling displacement on individual Shaders, or by globally disallowing the Tesselation Allowed setting found under Preferences > GPU > Shaders.
  • ID 64924 / 34690 - Flattening or caching layers or channels on complex projects may cause Windows to reset the graphics driver due to the long processing time. To work around this issue, you can try to flatten or cache fewer layers at a time, or reduce the value of the Max Render Size For Baking setting. This setting can be found under Preferences > GPU > Baking and Projection.
  • Reducing this size breaks the flattening or caching operation up into smaller pieces, which individually take less time to calculate, and thereby avoids a Windows graphics driver reset.
  • ID 53959 / 26460 - Layers - Painting a mask in a Mask Layer Group sometimes results in unexpected paint results. To prevent this from happening, either:
  • Use a white “color” layer at the bottom of your mask stack. Any layer used over this initial “color” layer should then be fine, or
  • If you want to create a mask in a Mask Layer Group, simply add another layer on your Mask Layer Group instead, and paint white into it to create a mask.
  • Mari Tools:
  • ID 10046 / 13640 - The Blur tool can be slow to use on the initial stroke. Wait for Mari to process the blur before applying a second stroke.
  • ID 9567 / 13394 - Using the Select Items tool with the Facing set to Front to select and hide a portion of faces causes some of the faces within the selection to remain visible when zoomed in. To catch all selected faces, either:
  • select Facing > Through instead of Front, or
  • zoom in closer to the object.
  • Node Graph:
  • ID 168753 - AIStandard nodes created in Mari3.0v1 are not compatible with Mari 3.0v2, or later. As a workaround, remove the old AIStandard nodes and recreate them in Mari 3.0v2, or later.
  • ID 126902 / 51462 - Creating a shader and attempting to view it in the Node Graph palette gives the impression that the DiffuseColor input edge is missing from the shader node. The input is present, but is incorrectly hidden. This is related to bug 51263 below
  • ID 126816 / 51452 - When importing a gizmo, the nodes in the gizmo did not retain their organization if they were created using the item name in the menu.
  • ID 125961 / 51263 - It is not currently possible to attach the Viewer node to standard Mari shaders, because they are hidden. As a workaround, you can click the View the current channel button above the Node Graph.
  • ID 125813 / 51247 - Channel transfer doesn't transfer Graph Layers as expected.
  • ID 124611 / 51082 - The Ambient Occlusion node's properties don't include a generate AO option.
  • ID 111329 / 48790 - Autoplace does not respect Backdrop nodes.
  • Nuke<>Mari Bridge
  • ID 48970 / 23010 - If Mari crashes when receiving incoming components from Nuke when the Virtual Texture Type is set to Float, lower the Virtual Texture Size to a value below 8192x8192.
  • ID 17678 / 19780 - A projector created in Ortho view in Mari does not re-project correctly in Nuke.
  • Ptex:
  • ID 13600 / 17626 - It can take a long time to import very large or very high polygon count ptex models. The work-around is to assign a small uniform face size (1x1 or 2x2) on import, and then upres the relevant bits of the model as necessary after loading.
  • ID 13531 / 17618 - Ptex does not bake properly if the resolution of the face is too small. The workaround is to increase the resolution of the selected faces you are having problems with.
  • Shaders:
  • ID 424786 - Sufficiently complex shaders would cause OSX graphics drivers to crash on MacOS 10.15 Catalina. Several optimisations to shader compilation and shader compilation triggers have been made to address this, benefiting all platforms, however it is still possible to create a shader complex enough to cause a crash on Catalina. We recommend using bake points and caching to help alleviate this.
  • ID 64961 / 34729 - Mari displays a rendering error on the canvas when it is unable to create a shader. More information has been included to help you determine the cause of the error. Some solutions might be to hide groups and layers, or to cache parts of your layer stack until a shader can be created
  • ID 64911 / 34679 - On extremely large projects, issues can arise with shader limits, and reaching the maximum allowed texture slots available. To avoid reaching these shader limits on large projects, try the following workarounds:
  • hide groups and layers, or
  • cache groups and layers.
  • Miscellaneous:
  • ID 360737 - Linux only: When using the Select Color dialog, the colors picked with the eye dropper Pick Screen Pixels option may be incorrect due to an OS driven behaviour of darkening the rest of the Mari application.
  • To stop this behaviour the following preference can be disabled:
  • - CentOS 7: Applications > Utilities > Tweak Tool > Windows > Attached Modal Dialogues
  • This will also disable other desktop manager specific effects.
  • ID 308268 - Windows only: When working on multiple monitors, palettes sometimes cannot be docked.
  • ID 200836 - Scrolling in the Brush Editor or Tool Properties palette makes the scratch pad go blank.
  • ID 194832 - Bake times were significantly increased when baking into channels containing non-linear data.
  • ID 167883 / 51934 - When a project that contains a Tiled procedural is upgraded from 2.6 to 3.0, the frame rate drops drastically. To avoid this, replace the image in the Tiled procedural once the project has been upgraded.
  • ID 129292 / 51771 - Removing, changing, or hiding subdivided objects takes a long time.
  • ID 126389 / 51370 - Heavier projects are initially slower to render when colorspace is enabled.
  • ID 126164 / 51322 - Modo Render: The preview occasionally fails to update fully.
  • ID 125437 / 51199 - The AiStandard, RedshiftArchitectural, and VRayMtl shaders are not connected to the Current Channel automatically.
  • ID 125319 / 51185 - PythonAPI: Mari's Paint node does not appear in typeList(). To add a Paint node Pythonically, call:
  • ng = mari.geo.current().nodeGraph()
  • ng.createPaintNode(width, height, bitDepth)
  • ID 124614 / 51084 - Animated objects can take a long time to subdivide.
  • ID 124233 / 51049 - Texture transfer does not take object transformation into account
  • ID 123532 / 50898 - Existing subdivision calculations are lost when recalculating, even if recalculation fails.
  • ID 121276 / 50548 - Modo Render: Only camera moves are respected by live update.
  • ID 121139 / 50520 - Although faces with degenerate UVs can be loaded into Mari, they can cause issues in some cases. They do not occupy any space in UV, so it's impossible to properly paint on such faces. There is also the risk that some shaders may show undesirable lighting effects on faces with degenerate UVs.
  • ID 100303 / 46600 - Ambient Occlusion must be updated after any OpenSubdiv calculation.
  • ID 99115 / 46223 - The Sponge Desaturate mode does not work through the full dynamic range as it uses HSL for desaturation. HSL cannot be used with HDR because HSL works well only in LDR values.
  • ID 90144 / 43020 - Mac OS X with retina screens only: When a hidden menu is unfurled over the canvas, the canvas zooms in dramatically.
  • ID 86007 / 41573 - Windows 8 only: The Windows key (Meta key) does not disengage when used in conjunction with a Wacom pen.
  • ID 75576 / 37140 - Mac OS X only: By default, when you first install Mac OS 10.8 or higher, the security preferences are set so that any applications not downloaded from the Apple App Store can’t be installed.
  • To ensure that Mari installs correctly, navigate to System Preferences > Security & Privacy on your Mac and select Anywhere for the Allow applications download from field.
  • ID 62668 / 33293 - Linux: Launching Mari with the language set to one without certain character symbols resulted in Mari failing with an error that the specified transform could not be loaded. To work around this, set the locale (language) to English.
  • ID 60643 / 31946 - Sometimes paint is not baked because of memory management issues on the graphics card. This can be due to issues such as a high resolution paint buffer, a high bit-depth paint buffer, large virtual texture size, or even a large scale value on the paint buffer transform. These issues can usually be identified by glError: 0x505 out of memory messages in the log. Try reducing any or all of these values to prevent it happening. Graphics drivers are continually improving, so it’s also worth checking whether upgrading your drivers resolves the problem.
  • ID 45590 / 20510 - If you find that the startup time for Mari is longer than usual, please check that the LIC files in your RLM licensing data folder do not refer to obsolete server ports. If they do, place them in another directory and restart Mari.
  • ID 37066 / 20021 - Textures in the canvas intermittently switch between lower and higher resolutions. This issue is more likely to occur if your virtual texture resolution is low, and you're working on a complex model with displacement. Possible workarounds include increasing your virtual texture size, reducing the number of channels Mari has to access at once (for example, by reducing the number of channels required for the current shader), to reduce the patch resolution of patches in the channels used in the shader, or to use a smaller canvas window or monitor.
  • ID 9758 / 14201 - Linux only: Mari becomes unresponsive after the system is woken from sleep.
  • ID 9631 / 13700 - Adjusting the Camera > Perspective settings for a Projector is not reflected on the canvas until the Projector is made Current.
  • ID 9363 / 12102 - Current brush settings do not get saved as part of the project. Instead, Mari reverts to the default settings when you close and relaunch it.
  • ID 9342 / 11874 - Mari doesn’t recognize 3-digit padded .obj sequences as animation
  • ID 8030 / 13571 - Launching a new version of Mari for the first time, when a config file exists from a previous version, sometimes results in an object not appearing in the Ortho view.
  • ID 7945 / 13294 - Windows: Mari sometimes crashes when trying to load data on large projects due to the program exhausting all window manager objects.
  • To reconfigure the user object limit:
  • Open regedit and navigate to HKEY_LOCAL_ MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionWindows, and
  • Edit USERProcessHandleQuota to a larger number.
  • If this number gets too large, you may also have to modify GDIProcessHandleQuota.

New in MARI 4.6 (Jan 30, 2020)

  • Geo-Channels:
  • Mari 4.6’s new Geo-Channels seamlessly integrate into the Materials system, allowing for material looks to be driven by mesh maps, like Curvature and Ambient Occlusion.
  • Node Graph:
  • Take advantage of Mari’s incredibly powerful Node Graph for material designing, now shipping with an improved user experience.
  • New Procedural Nodes:
  • Explore a variety of new procedural patterns and filters in Mari 4.6, enabling you to create more complex, non-destructive node networks inside Materials and your projects
  • Streamlined Look Development:
  • Mari 4.6 brings two new rendor vendor contributed approximation shaders from the teams at 3Delight and VRay. With Mari’s shaders, the need to round-trip between Mari and Katana, and other DCC programs is reduced, and artists can paint with more confidence, knowing their art will look correct in the final render.
  • Material System Improvements:
  • Mari 4.6 offers customizable Material file icons and improvements to the Material Ingestion Tool, allowing for more artist customization and extensive automation of the Material creation process.

New in MARI 4.5 (Mar 28, 2019)

  • New Features:
  • Mari Materials System:
  • Mari 4.5 brings a transformative update to the toolset - a new Materials System. Previously, Mari has excelled in creating high quality hero assets. Now, in addition to this formidable painting power, artists have the ability to quickly and easily create less complex, higher-volume assets. The new workflow enables artists to rapidly block out the look of an asset using material presets, without having to start from scratch. They can then use all of the detail-painting power of Mari to weather and finish the final art direction, giving them the best of both worlds in one application.
  • Material Files:
  • It’s now much easier to share isolated material set ups across your team for use on new projects. Everything needed to replicate the material gets bundled up, along with source images, into a single file. This can then be passed across to whoever needs it, and they can start working with the material in a few clicks, saving time and eliminating the need to go hunting for files on the network.
  • Material Ingest Tool:
  • Found the perfect PBR texture set for your asset? Mari now allows artists to quickly import and convert any set of texture maps into a Mari material preset. The Material Ingest Tool creates the presets, sets up the controls, and loads everything into the Mari shelf ready to use, allowing you to continually grow your material library. That means you can use thousands of PBR texture sets through Mari with very little effort.
  • Material Layers:
  • For artists who like to work using a layer stack approach, the new Materials workflow has been integrated into Mari’s existing Layer system, allowing for smoother adoption of the Materials System. Material files are applied to a project through simple layering, allowing artists to control the material properties, visibility of each component, and global material visibility, from a single area of the interface. Achieving the specific look you need - such as dust over paint over metal - is now easy and straightforward.
  • Multi-Channel Group Layers:
  • Want to make channel-specific adjustments, like tweaking color hue, without affecting all previous layers in the stack? We’ve extended the multi-channel behaviors to a new group layer feature, allowing artists to modify material streams independently of the rest of the layers in the channel. This offers more creative freedom while maintaining full control on the look you’re trying to achieve.
  • Multi-Output Group Nodes:
  • The node graph is Mari’s powerhouse, and we’ve updated it to enable more controlled complexity than was previously possible. These improvements will make it easier to wield the Node Graph and harness its potential. Group nodes now support multiple output ports for additional arbitrary data streams, unlocking more complex workflows. It's now easier to create knobs for gizmos or materials with in-line property promotion; artists can intuitively auto-connect multiple ports when connecting one pair of a set, for a faster and more efficient workflow, and there are simpler methods to access a group node sub-graph.
  • Arnold Standard Surface Shader:
  • A new shader allows artists that use the Arnold render engine to paint textures in Mari with a higher degree of confidence that their art will look correct in the final render, reducing feedback loops between Mari and Katana. This shader has been authored and contributed by the Autodesk team behind Arnold.
  • Feature Enhancements;
  • TP 370836 - Launching Mari in terminal or execute mode now uses a Render licence if it is available.
  • TP 378796 - Users are now able to toggle inputs on and off for Shaders in the Shaders palette. To improve performance, the Displacement input is toggled off by default for all newly created Shaders.
  • TP 379515 - Multiple items, including Shelf files .msh, can now be simultaneously loaded into the current Shelf using RMB > Load Items in the Shelf palette . This is also compatible with drag-and-drop from file explorer.
  • TP 373228 - OpenEXR images without RGBA channel data are now supported.
  • TP367028 - Peturb Normals now defaults to No on Shader creation.
  • TP 375572 - The 8-bit integer scalar colorspace has been extended to cover all scalar integer data.
  • TP 384427 - The Current Channel Shader input option has been removed due to conflicts with the unified stack workflow.
  • TP 113823 / BZ 49238 - Promoted Group node attributes now appear in corresponding Graph Layer, Layer Properties.
  • TP 364284 - Node Properties panels now have a smaller default height.
  • TP 379001 - Brush tip icon generation speed has been improved, allowing for fluid editing of gradient-based brush tips.
  • Bug Fixes:
  • TP 378529 - When saving or exporting data Mari would occasionally crash if the Max Memory limit, found in Preferences > Data > Project, was exceeded.
  • TP 373403 - It was not possible to duplicate a layer above itself using Alt+Drag in the Layers palette.
  • TP 369401 - The Principled BRDF and Unreal shaders exhibited rendering issues where the surface pointed away from the light.
  • TP 380698 - Importing Tiled procedurals using Session Scripts did not correctly link up their tiled images.
  • TP 376012 - Highlights on the Transform tool handles were not reset after moving the cursor away from them.
  • Known Issues:
  • Graphics Cards
  • TP 207913 - Mari may crash, or operate with lower than expected performance, when using recent graphics drivers with some AMD cards.
  • There have been reports that Plays.tv and Raptr, which come bundled with the AMD FirePro drivers, can cause instability in Mari. If you are experiencing instability, please try uninstalling these applications.
  • TP 16225 / BZ 18457 - Using NVIDIA graphics cards from the Fermi series with drivers older than version 270 results in various rendering issues when the Virtual Texture Type is set to Half or Float.
  • To resolve this, please download and install the latest graphics driver for your card from the NVIDIA website
  • TP 9404 / BZ 12567 - Enabling Sync to VBlank in NVIDIA settings can drastically reduce Mari’s performance. If you experience very slow interaction, even with low-polygon models, on one of the Tested Workstation Hardware, navigate to:
  • Linux: NVIDIA X Server Settings > X Screen 0 > OpenGL Settings and turn off Sync to VBlank.
  • Windows: NVIDIA Control Panel > 3D Settings > Manage 3DSettings > Vertical Sync > Force off
  • Then, restart Mari.
  • Importing And Exporting:
  • TP 123514 / BZ 50886 - Imported shaders don't have channels assigned.
  • TP 113036 / BZ 49131 - High polygon .obj files, exported using the OBJ Exporter plug-in, cannot be read back in to Mari.
  • TP 57756 / BZ 29386 - When using the Export for Maya script, Maya’s viewport may incorrectly show some patches as transparent. This can be resolved by selecting High Quality Rendering or Viewport 2.0 from the Renderer menu within Maya.
  • TP 10157 / BZ 16324 - Windows only: You cannot currently import an image into a channel using a relative file path. To work around this, use an absolute path when importing images.
  • TP 9854 / BZ 14985 - There may be a slight pause after importing textures when creating new projects, while Mari saves the project.
  • Layers:
  • TP 383360 - Using Displacement on Shaders may significantly decrease Canvas frame rate whilst navigating. This can be offset by disabling displacement on individual Shaders, or by globally disallowing the Tesselation Allowed setting found under Preferences > GPU > Shaders.
  • TP 64924 / BZ 34690 - Flattening or caching layers or channels on complex projects may cause Windows to reset the graphics driver due to the long processing time. To work around this issue, you can try to flatten or cache fewer layers at a time, or reduce the value of the Max Render Size For Baking setting. This setting can be found under Preferences > GPU > Baking and Projection.
  • Reducing this size breaks the flattening or caching operation up into smaller pieces, which individually take less time to calculate, and thereby avoids a Windows graphics driver reset.
  • TP 53959 / BZ 26460 - Layers - Painting a mask in a Mask Layer Group sometimes results in unexpected paint results. To prevent this from happening, either:
  • Use a white “color” layer at the bottom of your mask stack. Any layer used over this initial “color” layer should then be fine, or
  • If you want to create a mask in a Mask Layer Group, simply add another layer on your Mask Layer Group instead, and paint white into it to create a mask.
  • Mari Tools:
  • TP 10046 / BZ 13640 - The Blur tool can be slow to use on the initial stroke. Wait for Mari to process the blur before applying a second stroke.
  • TP 9567 / BZ 13394 - Using the Select Items tool with the Facing set to Front to select and hide a portion of faces causes some of the faces within the selection to remain visible when zoomed in. To catch all selected faces, either:
  • select Facing > Through instead of Front, or
  • zoom in closer to the object.
  • Node Graph:
  • TP 168753 - AIStandard nodes created in Mari3.0v1 are not compatible with Mari 3.0v2, or later. As a workaround, remove the old AIStandard nodes and recreate them in Mari 3.0v2, or later.
  • TP 126902 / BZ 51462 - Creating a shader and attempting to view it in the Node Graph palette gives the impression that the DiffuseColor input edge is missing from the shader node. The input is present, but is incorrectly hidden. This is related to bug 51263 below
  • TP 126816 / BZ 51452 - When importing a gizmo, the nodes in the gizmo did not retain their organization if they were created using the item name in the menu.
  • TP 125961 / BZ 51263 - It is not currently possible to attach the Viewer node to standard Mari shaders, because they are hidden. As a workaround, you can click the View the current channel button above the Node Graph.
  • TP 125813 / BZ 51247 - Channel transfer doesn't transfer Graph Layers as expected.
  • TP 124611 / BZ 51082 - The Ambient Occlusion node's properties don't include a generate AO option.
  • TP 111329 / BZ 48790 - Autoplace does not respect Backdrop nodes.
  • Nuke<>Mari Bridge
  • TP 48970 / BZ 23010 - If Mari crashes when receiving incoming components from Nuke when the Virtual Texture Type is set to Float, lower the Virtual Texture Size to a value below 8192x8192.
  • TP 17678 / BZ 19780 - A projector created in Ortho view in Mari does not re-project correctly in Nuke.
  • Ptex
  • TP 13600 / BZ 17626 - It can take a long time to import very large or very high polygon count ptex models. The work-around is to assign a small uniform face size (1x1 or 2x2) on import, and then upres the relevant bits of the model as necessary after loading.
  • TP 13531 / BZ 17618 - Ptex does not bake properly if the resolution of the face is too small. The workaround is to increase the resolution of the selected faces you are having problems with.
  • Shaders
  • TP 64961 / BZ 34729 - Mari displays a rendering error on the canvas when it is unable to create a shader. More information has been included to help you determine the cause of the error. Some solutions might be to hide groups and layers, or to cache parts of your layer stack until a shader can be created
  • TP 64911 / BZ 34679 - On extremely large projects, issues can arise with shader limits, and reaching the maximum allowed texture slots available. To avoid reaching these shader limits on large projects, try the following workarounds:
  • hide groups and layers, or
  • cache groups and layers.
  • Miscellaneous
  • TP 360737 - Linux only: When using the Select Color dialog, the colors picked with the eye dropper Pick Screen Pixels option may be incorrect due to an OS driven behaviour of darkening the rest of the Mari application.
  • To stop this behaviour the following preference can be disabled:
  • CentOS 7: Applications > Utilities > Tweak Tool > Windows > Attached Modal Dialogues
  • This will also disable other desktop manager specific effects.
  • TP 308268 - Windows only: When working on multiple monitors, palettes sometimes cannot be docked.
  • TP 200836 - Scrolling in the Brush Editor or Tool Properties palette makes the scratch pad go blank.
  • TP 194832 - Bake times were significantly increased when baking into channels containing non-linear data.
  • TP 167883 / BZ 51934 - When a project that contains a Tiled procedural is upgraded from 2.6 to 3.0, the frame rate drops drastically. To avoid this, replace the image in the Tiled procedural once the project has been upgraded.
  • TP 129292 / BZ 51771 - Removing, changing, or hiding subdivided objects takes a long time.
  • TP 126389 / BZ 51370 - Heavier projects are initially slower to render when colorspace is enabled.
  • TP 126164 / BZ 51322 - Modo Render: The preview occasionally fails to update fully.
  • TP 125437 / BZ 51199 - The AiStandard, RedshiftArchitectural, and VRayMtl shaders are not connected to the Current Channel automatically.
  • TP 125319 / BZ 51185 - PythonAPI: Mari's Paint node does not appear in typeList(). To add a Paint node Pythonically, call:
  • ng = mari.geo.current().nodeGraph()
  • ng.createPaintNode(width, height, bitDepth)
  • TP 124614 / BZ 51084 - Animated objects can take a long time to subdivide.
  • TP 124233 / BZ 51049 - Texture transfer does not take object transformation into account
  • TP 123532 / BZ 50898 - Existing subdivision calculations are lost when recalculating, even if recalculation fails.
  • TP 121276 / BZ 50548 - Modo Render: Only camera moves are respected by live update.
  • TP 121139 / BZ 50520 - Although faces with degenerate UVs can be loaded into Mari, they can cause issues in some cases. They do not occupy any space in UV, so it's impossible to properly paint on such faces. There is also the risk that some shaders may show undesirable lighting effects on faces with degenerate UVs.
  • TP 100303 / BZ 46600 - Ambient Occlusion must be updated after any OpenSubdiv calculation.
  • TP 99115 / BZ 46223 - The Sponge Desaturate mode does not work through the full dynamic range as it uses HSL for desaturation. HSL cannot be used with HDR because HSL works well only in LDR values.
  • TP 86007 / BZ 41573 - Windows 8 only: The Windows key (Meta key) does not disengage when used in conjunction with a Wacom pen.
  • TP 62668 / BZ 33293 - Linux: Launching Mari with the language set to one without certain character symbols resulted in Mari failing with an error that the specified transform could not be loaded. To work around this, set the locale (language) to English.
  • TP 60643 / BZ 31946 - Sometimes paint is not baked because of memory management issues on the graphics card. This can be due to issues such as a high resolution paint buffer, a high bit-depth paint buffer, large virtual texture size, or even a large scale value on the paint buffer transform. These issues can usually be identified by glError: 0x505 out of memory messages in the log. Try reducing any or all of these values to prevent it happening. Graphics drivers are continually improving, so it’s also worth checking whether upgrading your drivers resolves the problem.
  • TP 45590 / BZ 20510 - If you find that the startup time for Mari is longer than usual, please check that the LIC files in your RLM licensing data folder do not refer to obsolete server ports. If they do, place them in another directory and restart Mari.
  • TP 37066 / BZ 20021 - Textures in the canvas intermittently switch between lower and higher resolutions. This issue is more likely to occur if your virtual texture resolution is low, and you're working on a complex model with displacement. Possible workarounds include increasing your virtual texture size, reducing the number of channels Mari has to access at once (for example, by reducing the number of channels required for the current shader), to reduce the patch resolution of patches in the channels used in the shader, or to use a smaller canvas window or monitor.
  • TP 9758 / BZ 14201 - Linux only: Mari becomes unresponsive after the system is woken from sleep.
  • TP 9631 / BZ 13700 - Adjusting the Camera > Perspective settings for a Projector is not reflected on the canvas until the Projector is made Current.
  • TP 9363 / BZ 12102 - Current brush settings do not get saved as part of the project. Instead, Mari reverts to the default settings when you close and relaunch it.
  • TP 9342 / BZ 11874 - Mari doesn’t recognize 3-digit padded .obj sequences as animation
  • TP 8030 / BZ 13571 - Launching a new version of Mari for the first time, when a config file exists from a previous version, sometimes results in an object not appearing in the Ortho view.
  • To solve this, close Mari, delete the following config file and relaunch Mari:
  • Linux: ~/.config/TheFoundry/Mari.conf
  • Windows: C:/Users//.mari/TheFoundry/Mari.ini
  • TP 7945 / BZ 13294 - Windows: Mari sometimes crashes when trying to load data on large projects due to the program exhausting all window manager objects.
  • To reconfigure the user object limit:
  • Open regedit and navigate to HKEY_LOCAL_ MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionWindows, and
  • Edit USERProcessHandleQuota to a larger number.
  • If this number gets too large, you may also have to modify GDIProcessHandleQuota.
  • Developer Notes:
  • These are the changes relevant to developers.
  • New Features
  • TP 361617 - The new function, Node.outputNodes(PortName=None), has been added to return the directly connected output nodes of a given node.
  • TP 361616 - The new functions, Node.outputPortNames(), Node.outputPortName(Index) and Node.outputPortCount(), have been added to return information about the output ports of a given node.
  • TP 364641 - The new function, GroupNode.linkKnobs(KnobName, TargetKnobNames, PrettyKnobName=""), has been added to perform Group node knob linking.
  • TP 374629 - The new function mari.history.cancelMacro() has been added. When called after a mari.history.startMacro(MacroName) call, all actions taken since shall be undone and no history item will be added to the history stack.
  • TP 377193 - The following classes have been introduced to allow Python interaction with Multi-Channel Layers:
  • MultiChannelLayer
  • MultiChannelGroupLayer
  • MultiChannelMaterialLayer
  • MultiChannelContainer
  • MultiChannelGroup
  • MultiChannelMaterial
  • TP 384669 - The new function mari.app.popupsAllowed() has been added to enable querying whether the application is running in a non-interactive mode, such as terminal mode, or performing a long non-blocking batch of processing, where it's important that popups are not displayed.
  • Feature Enhancements
  • TP 355032 - The Python API Node.setInputNode() function now accepts a new argument, OutputPortName, to specify which output port of the source node to connect to.
  • TP 369453 - The shelf API has been extended to match the counterpart UI functionality. This now allows manipulating shelves and shelf items using python in Mari.
  • TP 352684 - Archiving projects now returns the filename of the new archive in its callback functions mari.projects.aboutToArchive(UUID, FileName) and mari.projects.archived(UUID, FileName).
  • TP 385898 - The GeoEntity.removeShader function takes a new argument to specify whether to Convert or Disconnect Multi-Channel Layers when removing their associated Shader.
  • TP 373896 - Documentation for the Custom Shader API has been updated to describe how shader models are described and used in Mari.
  • TP 378475 - Custom Shaders without a DefaultName tag, defined in their XML, will use the name given when registered with the Custom Shader API. This dictates the name of the Shader Model generated for that shader.
  • Bug Fixes
  • TP 310192 - Mari did not correctly export textures with the Python API, when the function was called immediately after importing textures.
  • TP 366709 - Linux only: Running Mari with the command line argument --help caused the application to crash.
  • TP 374175 - mari.utils.getExistingDirectory() and mari.utils.getOpenFileName() didn't handle the initial directory argument properly.

New in MARI 4.2 (Sep 12, 2018)

  • Mirrored Projection:
  • Mirror Projection brings highly-requested simultaneous, symmetrical painting workflows to Mari, without the need for specialized UV layouts. Previously, painting the same designs on both sides of a symmetrically formed model required a considerable amount of asset preparation with a lot of repetitive actions. Now, artists can paint on one side of a mirror plane while Mari projects the same paint to the other side of the mirror plane, dramatically increasing artist efficiency.
  • Mirror Plane Masking:
  • Mirror masking prevents secondary projected paint overlapping across the mirror plane. The masked side of the mirror plane can change automatically based on the artist's view, or be locked to one side. Ordinarily, mirror-projected paint would overlap at the mirror plane where one side meets the other, resulting in an asymmetrical center. By masking the opposite side of the mirror plane for each projection, the paint meets at the mirror plane with a perfectly reflected edge.
  • Mirror Plane Manipulation:
  • The mirror plane can also be locked onto an object or locator, allowing the reflected edge of the mirror projection to be manipulated to the best symmetrical position and orientation. Ordinarily, to paint a model symmetrically, the artist first has to ensure it’s correctly aligned to the center of the scene. The ability to manipulate the mirror plane gives the artist full freedom on where the symmetrical paint will fall, without any prep in other applications beforehand, increasing artist efficiency and creative control.
  • Feature Enhancements:
  • TP 354956 - The Paint Buffer Symmetry Mirror options included in the Project Controls toolbar have been renamed for clarity. They are now the Mirror Painting options.
  • TP 279109 - Opening a project in an incompatible version of Mari now gives a clear error message as to the version incompatibility.
  • Bug Fixes:
  • TP 348130 - Linux only: Using "xsetwacom" scripts broke navigation when using the tablet pen.
  • TP 351747 - Add a New Layer context menu action (among others) didn't work correctly in floating layer stack palettes.
  • TP 322993 - Mari created a duplicate of an image, in the Image Manager palette, when dragging the image onto a tiled procedural in the layerstack view and displayed an incorrect thumbnail of the tiled image.
  • TP 350978 - Re-dropping a tiled image, after it has been deleted from the image manager, crashed Mari.
  • TP 346948 - Importing a 16k .png image into a layer stack was crashing Mari on Windows.
  • TP 354342 - Using the eye dropper from the Select Color dialog did not update the pixel analyzer colors.
  • TP 349857 - Copying of shared layers across channels during a session script import failed.
  • TP 246389 - Session script export was failing, a layer contained a merge node with nothing sttached to the over input.
  • TP 356741 - Exporting a layer mask changed the channel's "scalar" flag to true.
  • TP 355892 - Under certain conditions, Mari output a large amount of debug data to the log file.
  • TP 353203 - Using session scripts to export a session failed due to files already existing on disk.
  • TP 360613 - The current painting blend mode was incorrectly reset to "Paint Flow Vectors" when registering a new blend mode.
  • TP 360949 - Using the Clone Stamp tool with an image selected sometimes resulted in a black color being painted, instead of cloning the image data.
  • Known Issues:
  • Graphics Cards:
  • TP 207913 - Mari may crash, or operate with lower than expected performance, when using recent graphics drivers with some AMD cards.
  • There have been reports that Plays.tv and Raptr, which come bundled with the AMD FirePro drivers, can cause instability in Mari. If you are experiencing instability, please try uninstalling these applications.
  • TP 16225 / BZ 18457 - Using NVIDIA graphics cards from the Fermi series with drivers older than version 270 results in various rendering issues when the Virtual Texture Type is set to Half or Float.
  • To resolve this, please download and install the latest graphics driver for your card from the NVIDIA website
  • TP 9404 / BZ 12567 - Enabling Sync to VBlank in NVIDIA settings can drastically reduce Mari’s performance. If you experience very slow interaction, even with low-polygon models, on one of the Tested Workstation Hardware, navigate to:
  • Linux: NVIDIA X Server Settings > X Screen 0 > OpenGL Settings and turn off Sync to VBlank.
  • Windows: NVIDIA Control Panel > 3D Settings > Manage 3DSettings > Vertical Sync > Force off
  • Then, restart Mari.
  • Importing And Exporting:
  • TP 123514 / BZ 50886 - Imported shaders don't have channels assigned.
  • TP 113036 / BZ 49131 - High polygon .obj files, exported using the OBJ Exporter plug-in, cannot be read back in to Mari.
  • TP 57756 / BZ 29386 - When using the Export for Maya script, Maya’s viewport may incorrectly show some patches as transparent. This can be resolved by selecting High Quality Rendering or Viewport 2.0 from the Renderer menu within Maya.
  • TP 10157 / BZ 16324 - Windows only: You cannot currently import an image into a channel using a relative file path. To work around this, use an absolute path when importing images.
  • TP 9854 / BZ 14985 - There may be a slight pause after importing textures when creating new projects, while Mari saves the project.
  • Layers:
  • TP 64924 / BZ 34690 - Flattening or caching layers or channels on complex projects may cause Windows to reset the graphics driver due to the long processing time. To work around this issue, you can try to flatten or cache fewer layers at a time, or reduce the value of the Max Render Size For Baking setting. This setting can be found under Preferences > GPU > Baking and Projection.
  • Reducing this size breaks the flattening or caching operation up into smaller pieces, which individually take less time to calculate, and thereby avoids a Windows graphics driver reset.
  • TP 53959 / BZ 26460 - Layers - Painting a mask in a Mask Layer Group sometimes results in unexpected paint results.
  • To prevent this from happening, either:
  • Use a white “color” layer at the bottom of your mask stack. Any layer used over this initial “color” layer should then be fine, or
  • If you want to create a mask in a Mask Layer Group, simply add another layer on your Mask Layer Group instead, and paint white into it to create a mask.
  • Mari Tools:
  • TP 10046 / BZ 13640 - The Blur tool can be slow to use on the initial stroke. Wait for Mari to process the blur before applying a second stroke.
  • TP 9567 / BZ 13394 - Using the Select Items tool with the Facing set to Front to select and hide a portion of faces causes some of the faces within the selection to remain visible when zoomed in. To catch all selected faces, either:
  • select Facing > Through instead of Front, or
  • zoom in closer to the object.
  • Node Graph:
  • TP 168753 - AIStandard nodes created in Mari3.0v1 are not compatible with Mari 3.0v2, or later. As a workaround, remove the old AIStandard nodes and recreate them in Mari 3.0v2, or later.
  • TP 126902 / BZ 51462 - Creating a shader and attempting to view it in the Node Graph palette gives the impression that the DiffuseColor input edge is missing from the shader node. The input is present, but is incorrectly hidden. This is related to bug 51263 below
  • TP 126816 / BZ 51452 - When importing a gizmo, the nodes in the gizmo did not retain their organization if they were created using the item name in the menu.
  • TP 125961 / BZ 51263 - It is not currently possible to attach the Viewer node to standard Mari shaders, because they are hidden. As a workaround, you can click the View the current channel button above the Node Graph.
  • TP 125813 / BZ 51247 - Channel transfer doesn't transfer Graph Layers as expected.
  • TP 124611 / BZ 51082 - The Ambient Occlusion node's properties don't include a generate AO option.
  • TP 111329 / BZ 48790 - Autoplace does not respect Backdrop nodes.
  • Nuke<>Mari Bridge:
  • TP 48970 / BZ 23010 - If Mari crashes when receiving incoming components from Nuke when the Virtual Texture Type is set to Float, lower the Virtual Texture Size to a value below 8192x8192.
  • TP 17678 / BZ 19780 - A projector created in Ortho view in Mari does not re-project correctly in Nuke.
  • Ptex:
  • TP 13600 / BZ 17626 - It can take a long time to import very large or very high polygon count ptex models. The work-around is to assign a small uniform face size (1x1 or 2x2) on import, and then upres the relevant bits of the model as necessary after loading.
  • TP 13531 / BZ 17618 - Ptex does not bake properly if the resolution of the face is too small. The workaround is to increase the resolution of the selected faces you are having problems with.
  • Shaders:
  • TP 64961 / BZ 34729 - Mari displays a rendering error on the canvas when it is unable to create a shader. More information has been included to help you determine the cause of the error. Some solutions might be to hide groups and layers, or to cache parts of your layer stack until a shader can be created
  • TP 64911 / BZ 34679 - On extremely large projects, issues can arise with shader limits, and reaching the maximum allowed texture slots available.
  • To avoid reaching these shader limits on large projects, try the following workarounds:
  • hide groups and layers, or
  • cache groups and layers.
  • Miscellaneous:
  • TP 360737 - Linux only: When using a Select Color dialog, the colors picked with the eye dropper Pick Screen Pixels option may be incorrect due to an OS driven behaviour of darkening the rest of the Mari application.
  • TP 308268 - Windows only: When working on multiple monitors, palettes sometimes cannot be docked.
  • TP 200836 - Scrolling in the Brush Editor or Tool Properties palette makes the scratch pad go blank.
  • TP 194832 - Bake times were significantly increased when baking into channels containing non-linear data.
  • TP 167883 / BZ 51934 - When a project that contains a Tiled procedural is upgraded from 2.6 to 3.0, the frame rate drops drastically. To avoid this, replace the image in the Tiled procedural once the project has been upgraded.
  • TP 129292 / BZ 51771 - Removing, changing, or hiding subdivided objects takes a long time.
  • TP 126389 / BZ 51370 - Heavier projects are initially slower to render when colorspace is enabled.
  • TP 126164 / BZ 51322 - Modo Render: The preview occasionally fails to update fully.
  • TP 125437 / BZ 51199 - The AiStandard, RedshiftArchitectural, and VRayMtl shaders are not connected to the Current Channel automatically.
  • TP 125319 / BZ 51185 - PythonAPI: Mari's Paint node does not appear in typeList().
  • To add a Paint node Pythonically, call:
  • ng = mari.geo.current().nodeGraph()
  • ng.createPaintNode(width, height, bitDepth)
  • TP 124614 / BZ 51084 - Animated objects can take a long time to subdivide.
  • TP 124233 / BZ 51049 - Texture transfer does not take object transformation into account
  • TP 123532 / BZ 50898 - Existing subdivision calculations are lost when recalculating, even if recalculation fails.
  • TP 121276 / BZ 50548 - Modo Render: Only camera moves are respected by live update.
  • TP 121139 / BZ 50520 - Although faces with degenerate UVs can be loaded into Mari, they can cause issues in some cases. They do not occupy any space in UV, so it's impossible to properly paint on such faces. There is also the risk that some shaders may show undesirable lighting effects on faces with degenerate UVs.
  • TP 100303 / BZ 46600 - Ambient Occlusion must be updated after any OpenSubdiv calculation.
  • TP 99115 / BZ 46223 - The Sponge Desaturate mode does not work through the full dynamic range as it uses HSL for desaturation. HSL cannot be used with HDR because HSL works well only in LDR values.
  • TP 86007 / BZ 41573 - Windows 8 only: The Windows key (Meta key) does not disengage when used in conjunction with a Wacom pen.
  • TP 62668 / BZ 33293 - Linux: Launching Mari with the language set to one without certain character symbols resulted in Mari failing with an error that the specified transform could not be loaded. To work around this, set the locale (language) to English.
  • TP 60643 / BZ 31946 - Sometimes paint is not baked because of memory management issues on the graphics card. This can be due to issues such as a high resolution paint buffer, a high bit-depth paint buffer, large virtual texture size, or even a large scale value on the paint buffer transform. These issues can usually be identified by glError: 0x505 out of memory messages in the log. Try reducing any or all of these values to prevent it happening. Graphics drivers are continually improving, so it’s also worth checking whether upgrading your drivers resolves the problem.
  • TP 45590 / BZ 20510 - If you find that the startup time for Mari is longer than usual, please check that the LIC files in your RLM licensing data folder do not refer to obsolete server ports. If they do, place them in another directory and restart Mari.
  • TP 37066 / BZ 20021 - Textures in the canvas intermittently switch between lower and higher resolutions. This issue is more likely to occur if your virtual texture resolution is low, and you're working on a complex model with displacement. Possible workarounds include increasing your virtual texture size, reducing the number of channels Mari has to access at once (for example, by reducing the number of channels required for the current shader), to reduce the patch resolution of patches in the channels used in the shader, or to use a smaller canvas window or monitor.
  • TP 9758 / BZ 14201 - Linux only: Mari becomes unresponsive after the system is woken from sleep.
  • TP 9631 / BZ 13700 - Adjusting the Camera > Perspective settings for a Projector is not reflected on the canvas until the Projector is made Current.
  • TP 9363 / BZ 12102 - Current brush settings do not get saved as part of the project. Instead, Mari reverts to the default settings when you close and relaunch it.
  • TP 9342 / BZ 11874 - Mari doesn’t recognize 3-digit padded .obj sequences as animation
  • TP 8030 / BZ 13571 - Launching a new version of Mari for the first time, when a config file exists from a previous version, sometimes results in an object not appearing in the Ortho view.
  • To solve this, close Mari, delete the following config file and relaunch Mari:
  • Linux: ~/.config/TheFoundry/Mari.conf
  • Windows: C:/Users//.mari/TheFoundry/Mari.ini
  • TP 7945 / BZ 13294 - Windows: Mari sometimes crashes when trying to load data on large projects due to the program exhausting all window manager objects.
  • To reconfigure the user object limit:
  • Open regedit and navigate to HKEY_LOCAL_ MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionWindows, and
  • Edit USERProcessHandleQuota to a larger number.
  • If this number gets too large, you may also have to modify GDIProcessHandleQuota.
  • Developer Notes:
  • These are the changes relevant to developers.
  • New Features:
  • There are no New Features in this release.
  • Feature Enhancements:
  • TP 306013 - API deprecation warnings now specify the name of the deprecated function.
  • Bug Fixes:
  • TP 356869 - Accessing the Color Picker through the Python API caused Mari to become unresponsive.

New in MARI 4.1 (Jun 13, 2018)

  • Improved color picking to achieve a WYSIWYG workflow;
  • Scalar Channels and source images now display perceptually linear;
  • Refreshed colorspace toolbar shows the artist whether they’re viewing color or scalar data at a glance;
  • New visual indicators allow the artist to easily manage Channel configurations;
  • Selection Groups now apply across all subsequently added object versions.

New in MARI 4.0 (Dec 6, 2017)

  • Quicker start-up and export:
  • Mari 4.0 allows artists to get projects up-and-running straight away, with a new startup mechanism that automatically performs the steps previously completed manually by the user. Shaders are automatically built, with channels connected to them as defined by the channel presets in the startup dialog. The user also now gets the choice of initial lighting and shading setup. The new Export Manager configures the batch exporting of Channels and Bake Point Nodes. Artists can create and manage multiple export targets from the same source, as well as perform format conversions during export. This allows for far more control and flexibility when passing Mari's texture maps down the pipeline.
  • Better navigation:
  • A number of changes have been made to make it much easier to navigate around the toolset. A new Palettes Toolbar containing all Mari’s palettes offers easy access and visibility to everything Mari can do. It’s now easier to expand a Palette to fullscreen - simply hit the spacebar while your mouse is hovered over it. Tools of similar function have been grouped under a single button in the Tools toolbar, taking up less space and allowing the user to better focus on the Canvas. And we’ve merged various Palettes together, removing duplication and simplifying the UI, making Mari both easier to learn and use.
  • Improved UI:
  • The Colors Palette is now scalable for better precision, and the component sliders have been improved to show the resulting color at each point along the control. Users can now fine tune their procedural operations with precision keyboard stepping functionality brought into Mari's numeric controls. The HUD has been redesigned so it no longer draws over the paint subject, allowing the user to better focus on their painting and work more effectively. Basic Node Graph mode has been removed: Advanced is now the default. For everyone learning Mari, the Non-Commercial version now has full Node Graph access.
  • Enhanced workflows:
  • We’ve brought a number of key workflow improvements to Mari 4.0. A drag-and-drop fill mechanism allows users to fill paint across their selections in a far more intuitive manner, reducing time and increasing efficiency. The Brush Editor has been merged into the Tool Properties Palette, with the brush being used now clearly displayed. It’s easy to browse and load sets of texture files into Mari, with a new Palette for browsing texture sets. The Layers Palette is now more intuitive when working with Group layers, allowing users to achieve the setups they desire with less steps. And users now have a shader in Mari that previews and works with the channels that match their final 3D program/shader: the Principled BRDF, based on the 2012 paper from Brent Burley of Walt Disney Animation Studios.
  • Core:
  • We’ve upgraded to OpenSubdiv 3.1.x and introduced the features into our UI, enabling users to better match the behavior of mesh subdivision that they get in software renderers. Mari's user preference files are now saved with the application version embedded in the file names - meaning artists can work between different versions of Mari without the danger of corrupting their UI or preferences. Many preferences have had their groups, labels and tooltips modified to be easier to understand. And we've upgraded all the 3rd party libraries to match those specified by the VFX Reference Platform 2017.

New in MARI 3.3v1 (Nov 27, 2017)

  • New Features:
  • Shader Compilation:
  • BUG ID 246716 - Shaders now require fewer recompilations (the pinning wheel)
  • when performing certain repeated tasks, reducing the waiting time between performing an action and viewing the final rendered shader. SeeGPU>General>Shader Compilation in the Mari Preferences Dialog section of the Mari Online Help
  • Colorspace Export Optimization
  • BUG ID 251019 - Some color space transformations have been introduced to allow Mari to bake the paint to disk at a faster speed
  • Lift Option in the Marquee Select Tool:
  • BUG ID 245977-After performing a marquee selection, you can now lift the texture from the current paint target to the paint buffer for further manipulation
  • Optimized Texture Unit Usage
  • BUG ID 246731-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:
  • BUG ID 246218 - 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>BakePoints>Smart Bake And Update. You can also bake the selected Bake Point nodes using the same menu.

New in MARI 3.2v1 (Dec 16, 2016)

  • New Features:
  • Node Graph
  • To improve the usability of the Node Graph, Mari now includesa left-to-right navigation also called ShowP ort List, zoom LOD(Level of Detail),Node Graph-specific configurable shortcut and more.
  • 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 track 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.
  • OpenEXR2.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.
  • Smart Selection - Connectedness Mesh Smart Type
  • Mari now includes a new Smart Type mode for Smart Selection. The Connectedness Mesh Smart Type allows you to select faces connected in the 3Dview.
  • Color space 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.
  • Uniform Scaling
  • Mari locators now support uniform scaling.
  • Invert Visibility
  • You can now invert the visibility of objects,patches,and faces.

New in MARI 3.1v3 (Sep 12, 2016)

  • Bug Fixes:
  • BUG ID 225705 - The Mari_GIZMO_Path environment variable did not accept multiple directories.
  • BUG ID 230441 - The OCIO environment variable caused Mari to crash on startup.

New in MARI 3.1v2 (Aug 17, 2016)

  • Feature Enhancements:
  • BUGID166679-Loading animated geometry is now less restricted. Missing data in animated frames is now supplemented by another frame.
  • BUGID208461- The GL version has been updated to 4.3(hardware dependent).
  • BUGID216043-mGo:mGo now checks for incremental changes when exporting channels from Marito Maya.
  • BUGID218253-A Virtual Texture Depth preference has been added to control the number of 2D texture layers used in the virtual texture. Mari uses for display. Increasing this may resolve issues with flickering textures. This value is dependent on the graphics card capabilities. This preference is disabled for Mac OSX platforms.
  • BUGID219552-It is now possible to createa Tiled node in the Node Graph by dragging and dropping an image from the Image Manager palette.
  • BugFixes:
  • BUGID118852-The Erase mode in the Slerp tool did not work. To improve performance of the Slerp tool, the incremental undo has been removed, but slerps can still be removed by using the newly fixed Erasemode.
  • BUGID127948-Smart selection didn't work correctly in Edge Angles and Orientation modes.
  • BUG ID 173066 - Copying and pasting layers across objects rendered the wrong default colors as well as shallow copies of the layers.
  • BUG ID 176239 - The layer hash method did not take into consideration any non- layer nodes or the Node Graph.
  • BUG ID 196364 - The Objects palette sort option didn't work. It now sorts the root object names alphabetically, leaving the children objects names in the same order they were imported in Mari.
  • BUG ID 201092 - Layers lost their cache when upgrading archives across versions.
  • BUG ID 201143 - Mari was significantly slower when using OCIO roles rather than using the corresponding colorspaces.
  • BUG ID 201151 - Mari wasn't clamping the results to the zero to one range from the colorspace conversion on the images used in the Paint through tool. This meant the texture image in the paint buffer didn't match the paint that was being sent through it.
  • BUG ID 201428 - Disabling a mask caused a rendering artifact and detached the channel from the current Viewer.
  • BUG ID 201968 - Mac OS X 10.11 only: Context- sensitive help pages sometimes did not load.
  • BUG ID 202151 - The tooltip of the Steady Stroke Delay slider only showed partial text.
  • BUG ID 207548 - Mari introduced very noticeable stepping artifacts when painting byte (8- bit) textures.
  • BUG ID 207662 - Adding multiple output nodes in a Group node did not show an error dialog and stop the action.
  • BUG ID 207907 - Node Graph: Node inputs were sometimes incorrectly connected to random nodes when inputs were released in an empty area of the Node Graph.
  • BUG ID 208471 - Baking in Mari was potentially slower when the Virtual Texture Type was set to anything other than float.
  • BUG ID 208567 - Zoom to selected faces ( A key by default) didn't work.
  • BUG ID 215278 - Copying Paint nodes across objects resulted in empty Paint nodes.
  • BUG ID 216026 - mGo: mGo did not support the Force Subdivision feature. BUG ID 216030 - mGo: In Maya, mGo grayed out its connected state if it could not find Mari, and remained as such until.
  • BUG ID 216761 - Mari 3.0 was significantly slower than earlier versions, such as 2.6. This was particularly the case when working with large and complicated projects.
  • BUG ID 217000 - Reverting snapshots caused Mari to crash.
  • BUG ID 217790 - mGo: mGo failed to load in Maya.
  • BUG ID 218222 - Mac OS X only: Mari sometimes failed to export channels with flattened layers.
  • BUG ID 218557 - mGo: Sending geometry from Maya to Mari caused an error in mGo.
  • BUG ID 219347 - The Layout.mws could become corrupted, causing a crash on startup when migrating from Mari 2.6.
  • BUG ID 219482 - Mac OS X only: Very noticeable lighting artifacts appeared in the canvas render when using environment lights with an AMD GPU.
  • BUG ID 227456 - Mari incorrectly applied the blend mode in the project's blending colorspace for procedurals in 16- and 32- bit channels.

New in MARI 3.1v1 (Jul 8, 2016)

  • New Features:
  • Steady Stroke
  • MARI now includes the Steady Stroke mode, a brush mode that smoothes the stroke when you draw. You can choose between three modes, Off, Distance or Smoothing and then for Distance and Smoothing modes, set how much delay to use for the stroke.
  • In Distance mode, the Delay uses the specified amount of screen pixels keeping a fixed distance to define the brush stroke.
  • In Smoothing mode, the delay uses the moving average of the cursor movement to define the brush stroke.
  • You can access the Steady Stroke mode by navigating to Brush Editor palette -> Properties tab -> Steady Stroke.
  • Two new actions have been added to the Shortcut list under: /Mari/Painter/Change Steady Stroke Mode and /Mari/OnscreenControls/Adjust Delay
  • 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.
  • Context-Sensitive Online Help
  • MARI now includes context-sensitive Online Help. The Mari palettes are 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.
  • Feature Enhancements:
  • BUG ID 175230 - MARI now detects whether to subdivide each Alembic geometry piece, based on subdivision flags set in the file. It is also possible for you to force MARI to subdivide Alembic geometry pieces no matter how subdivision flags are set.
  • Bug Fixes:
  • BUG ID 185357 - Calling the hash function for channels within a specific archived caused MARI to crash.
  • BUG ID 196928 - The Triplanar Projection node declared the mask input but didn't make use of it in the shader.
  • BUG ID 201161 - In the Import Archive dialog, the File of type control defaulted to All Files (*) instead of (*MRA).