What's new in Extension Pack 4

Previous Next

Released by Jens Kafitz, 2017 - MARI Extension Pack





RELEASE: May 10th, 2017


LAST UPDATE: October 28th, 2017 (Patch 5)


REQUIRES: MARI 3.2 or MARI 3.3  *(Indie/Non-Commerical not supported)






ICONLEGEND


= Feature available via Nodegraph only  


= New or updated Demo Video available (click icon to jump to video)

= Demo Video available from previous release (click icon to jump to video)


= Feature / Fixes added after initial Release of Extension Pack 4 (view Patch History)




NEW FEATURES


LAYERING NODES


The MultiMixer Node mimics Anders Langlands Arnold alLayerFloat and alLayerColor Nodes and allows you to layer multiple node streams.

It acts like a Merge Node or 'Layered Texture' Node without Advanced Blendmodes but with the ability to layer up to 8 Inputs and 8 Alphas.


Identical to the MultiMixer x8 but with 4 slots instead of 8, to avoid overhead where you don't need it.




The Height Blend Node allows you to blend two displacement maps easily.

Outputs either combined displacement or mix mask and works best when outputting 16/32 bit displacement maps.



IMAGE ARRAY NODES

Array Nodes are variants of existing Mari Extension Pack Nodes with support for up to 6 Image Inputs

to make handling of Quixel Megascan Data (or any other material data) easier.


The Image Array Node is a variant of the Mari Extension Pack Image Node with support for 6 Texture Maps.

By using Manifolds you can simultaneously change tiling, offsets etc. without the need to manage multiple

Image Nodes.


The Axis Projection Array Node is a variant of the Mari Extension Pack Axis Projection Node with support for 6

simultaneously projected Texture Maps.


A new node Array Mix was added with the ability to mix 6 image inputs from two sources via a mask


ENVIRONMENT NODES


The Texture Scatter Triplanar X1 Node is a seamless 3D Projected Texture Scatter Node.


The new Texture Scatter 2D X1 Node is a simplified version of the previously released Texture Scatter 2D (Tileable) Node.

It supports only one input texture, which drastically reduces computation allowing the user higher complexity without

performance loss introduced by potentially unused texture slots.




otherwise the pivot for all UDIMs will be in the lower left corner (0/0) of UDIM 1001 ()




looking 'stamping' patterns introduced when using the Edge Falloff Settings in the Texture Slot.





DO NOT KEEP TEXTURE SCATTER NODES LIVE


The various Texture Scatter Nodes of Mari Extension Pack are not meant to stay live in your scene. Utilize Caching,Bake Points or Convert to Paintable after you have a satisfying result to keep performance up.





The Directional Gradient Node replaces the previously introduced Object Space Linear Gradient (centered) Node

and should further improve its ease of use.


Previous Project Versions will still use the Object Space Linear Gradient (centered) Node but the original node

has been hidden where possible in the menus in order to encourage usage of the new Directional Gradient node.



PROCEDURAL PATTERN NODES


A new procedural pattern has been added to create a simple 2 colored checkerboard


ADJUSTMENT NODES


The Jitter Color Adjustment applies random color variation within a range.

The signal used for jittering the color (such as a noise or another map) needs to be supplied via the Nodegaph.


The Gradient Map Adjustment Node is a workaround to Mari's lack of proper Ramps/Gradients.

It provides you with a gradient with a maximum of 8 individual colors to remap your input with.



Swizzle is an improved Shuffle Node with the additional option to set a channel to black (Zero) or white (One).

It mimics the swizzle feature found under the Advanced Layer Blend Mode Options.



Adjust the Range and Position of the Input Histogram. Acts like its Substance Designer counterpart.



Shift the position of the histogram. Acts like its Substance Designer counterpart.


Allows you to select a value range from a greyscale input. Acts like its Substance Designer counterpart.


Maximize Value will offset the RGB Colors until one of them reaches a value of 1.0 based on a chosen

allgorithm (average, corrected, maximum).

This has a variety of applications but most notably for Specular Color creation for metallic surfaces.


Replace Color allows you to pick a color or color range and replace it with a target color


NANs are infinite values that can be introduced by corrupted pixels. While not very frequent, having textures with NANs can cause

havoc in rendering and be time consuming to fix.

The Fix NAN Node will remove all bad pixels automatically and replace them with a specified color.



The Surface Normal to Eye Space Node is a technical node, that for example allows you to make modifications to the way Mari Shaders

are processing Normal Information.


A Number of Specular Utility Adjustments have been added to convert specular values.

In addition to their 'Adjustment' functionality of converting values fed in from other layers or nodes,

these nodes also offer the ability to manually input values for conversion.


will convert a reflectance percentage (0-1) to an IOR Value.

E.g. a reflectance of 0.04 (4%) equals an IOR of 1.5.

Optionally the source value can be entered directly in Nodes Properties


will convert an IOR Value to a 0-1 reflectance percentage.

Optionally the source value can be entered directly in Nodes Properties


will convert a 0-1 specular level map (for example out of substance) to an IOR Value.

Specular Level Maps are applicable to dielectric materials only.


will convert an IOR Value to a Specular Level Value.

Specular Level Maps are applicable to dielectric materials only and can be used for example

in UNREAL, Substance or the MARI Unreal Shader.




GEOMETRY NODES



UDIM Range to Mask outputs a black and white Mask for a defined range of UDIMs



UDIM Value outputs one of the following depending on the chosen setting.

This can be used for a variety of per udim randomizations.





MANIFOLD NODES


The Manifold by Locator Node takes transformations from a Locator gizmo.


This can be used to adjust the scaling, translation and rotation of noises, tiled nodes,

image nodes etc. by attaching the node to a Position, Manifold or UV Handle in the Nodegraph and modifying

the locators transform gizmo in the viewport.


New locator features from the Manifold by Locator Node have also been added to the Manifold UV and Manifold 3D Node

which are specifically designed to work best with either UV or 3D Transformations




CHANNEL NODES


Channel Nodes offer ways to deal with individual color channels and 'pack' them together into a single output.

The nodes are the Nodegraph equivalent to the Add Packed Channel Functionality for the Layerstack (see above)



The RGBA Merge Node is the Nodegraph version of the MARI Extension Pack Add Packed Channel Functionality

and allows you to map 4 unique source inputs into the Red, Green, Blue and Alpha Channel of the Output


The RGBA Split Node allows you to separate the Red, Green, Blue and Alpha Channel into 4 unique Outputs


The RGB-A Merge Node is similar to the RGBA Merge Node above. It allows you to map the RGB channels from one source

and one channel from another source into a combined RGBA Output


The RGB-A Split Node will split your input into 2 Outputs - one RGB Output and one Alpha Channel Output


MISC NODES


The Pack Data Node allows you to pack multiple values into a single node output, while the Unpack Data Node can

separate these values again.

This can be useful to output the information of multiple nodes from a Graph Group/Gizmo for example to build little Material Gizmos.



IMAGE MANAGER



You can now reload an image from its original path, updating the imported version within Mari.

Changes to the file on disc will be propagated to all instances where the image is used within Mari both in layerstack and nodegraph

(tiled, triplanars etc.).



LAYERS



Two new options were added to the new 'Layers / Edit' Submenu in the Layer Menu that make it possible

to copy and paste layers and channel layers with all shared connections intact (including contents of mask & adjustment stacks)





The default Mari Masking Tools found under Layer / Layer Mask / Add Mask have been replaced including:



The new Extension Pack Versions of the tools are mimicking some behavior found in Substance Painter.



depending on the tool executed


depending on the tool executed


CHANNELS



A new tool was added to easily create one or multiple packed Channels.


Packed Channels are channels that contain different information in the Red, Green, Blue and Alpha Channel.

A sample usage could be your Roughness Channel in RED, a Metalness Channel in GREEN, Ambient Occlusion in BLUE etc.

This allows a reduction in amount of texture files and memory used .



A new tool was added to the available Export options in the Channel Palette to help with fast iterating of work.


Repeat Last Custom Channel Export will execute exactly the same Export (same channels, same path, same settings etc.)

that was last ran in the current project via Export Custom Channel Selection,  without any dialogs or pop-ups.


For convenience a shortcut SHIFT + R has been set (if not otherwise in use) and an icon has been added to the bottom of the

channel palette.




A checkbox was added to the available Export options in the Channel Palette.



If checked and the last Export was run using 'Export Selected Patches', Repeat Last Custom Channel Export

will restore the previous patch selection for Export. Otherwise the Export will be repeated but with the current Selection.

The state of the Checkbox is remembered across sessions.



New tools were added to the Channel Menu to frame and select your channel and/or the channel content in the Nodegraph:



SELECTION GROUPS


A number of new tools have been added to the selection group right mouse click menu:





SHADERS


Shader Presets allow you to store the configuration of a shader (slider settings, colors, channel assignments).


The next time you create a shader with a name matching a previously saved preset, all parameters will be restored and

if channels matching a name used in the preset are found in your project they will be mapped to the correct shader input.



NODEGRAPH


A System was added to the Nodegraph that allows you to quickly overwrite the currently active's shaders channels with a node selection

in order to isolate parts of a material and view it shaded.



Set Nodes to Shader is part of the Shader Preset system and allows you to quickly preview your node selection with a shader, making

it act like a 'isolate select' for materials.


It works by scanning the selected Node Names for matching name parts against Channel Names that have been previously saved as Shader Inputs

via the Save Shader Preset Tool in the Shaders Palette


When nodes with (partially) matching names are selected when Set Nodes to Shader is launched, the nodes will replace the Inputs

of the selected shader while all other shader Inputs are cleared.


If Set Nodes to Shader is launched without any selected nodes the selected Shader will revert itself to the Shader Inputs that were mapped to the shader

immediately before Set Nodes to Shader was last executed.



Reset Shader is part of the Set Nodes to Shader Tool.

It allows you to reset the Inputs of your selected Shader to the connections it had before Set Nodes to Shader was launched the first time

for this particular shader.


The new radio node system allows you to easily share node data from one point in your graph to another,

without cluttering up your nodegraph with crossing lines.


Hiding and unhiding a connection to a radio node



A new node type Radio Node was added under Nodegraph/Nodes/Misc/.

The Radio Node behaves like a dot node allowing you to redirect its input to another position in the nodegraph.



A new Menu Item Toggle Radio Nodes' was added under Nodegraph/Edit/.

Toggle Radio Nodes will hide or unhide the Input connection of any selected Radio Nodes.


If no Radio Node is selected in your Nodegraph, it will toggle between hiding and unhiding

Connections for all Radio Nodes in your Nodegraph.




Known Issues & Workaround: Nodes with multiple Outputs

.

Due to a limitation in current Mari ersions, Nodes with more than one Output Port cause issues when any other Output than the first is directly connected to the Radio Node that is being toggled.


As a workaround insert a second radio node or dot node inbetween




The options below have been added for consistency but not been exposed in the Nodegraph User Interface.

They are available as entries in the Hotkey Editor and in the Scripts/Nodegraph/Radio Nodes/ Menu





A new node type Radio Transmitter was added under Nodegraph/Nodes/Misc/.

The Radio Transmitter is a special Node that can be called from the Connect to Transmitter Tool .


With a Radio Node selected, the Connect to Transmitter Tool will allow you to select a Radio Transmitter

from a list of all available Transmitters in your Nodegraph and automatically connect the selected Radio Node

to the selected Transmitter.


Connecting a selected Radio Node to a previously created Radio Transmitter Node via the Right Mouse Click / Misc / Connect to Transmitter Dialog



       When nodes/node networks containing Radio Nodes without connections, are imported into a project,

       the Radio Nodes will try to connect to a Transmitter Node matching the Name of the Transmitter

that was previously attached to the Radio Node when it was exported.


This allows you for example to automatically connect imported node networks to utility channels /nodes such as

Occluson, Curvature, Material ID Maps etc.


Automatic Reconnecting of Radio Nodes to Transmitters based on Name



A Nodegraph Bookmark System was added, consisting of a Bookmark Node and several Menu commands to cycle your view through different

bookmark positions in your nodegraph or directly jump to a specific bookmark.




Duplicate with Connections will create a copy of the selected chain of nodes while maintaining all connections

to unselected nodes.




Nodes are currently not moved after Duplication


Due to a limitation in Mari at this point, Nodes are duplicated in place, overlapping the

original nodes. New Nodes are however automatically the selected ones, so they can be

easily moved to a different place in the Nodegraph.




New tools have been added to a new Selection Submenu in the Nodegraph right mouse click menu:





Jump To Node Input and Jump to Node Output allow you to quickly move your Nodegraph Focus to the node connected to a

node's Input or Output.


Using the Jump To Actions to traverse a Node Chain




The Multi Renamer allows you to rename multiple nodes with options for search/replace, prefix and suffix and trailing character management.


Smart Rename will rename selected Nodes based on the Names of Nodes upstream




The options below have been added for consistency but not been exposed in the Nodegraph User Interface.

They are available as entries in the Hotkey Editor and in the Scripts/Nodegraph/Bake Points/ Menu



OBJECTS


The default MARI Subdivide Dialog accessible via the Object Menu has been replaced.

The new dialog allows you to batch subdivide multiple objects.


The Dialog can now also be launched via a new Icon at the bottom of the Object Palette.


The standard MARI Subdivide Dialog is still displayed when right clicking on an object in the

Object Palette and choosing Subdivide from the context menu.




MAXIMUM SUBDIVISION INCREASED


The highest available subdivision level has been increased from 3 to 5 when using this dialog




MARI Extension Pack now ships with several default Objects that can be easily added to your project

via the Object Menu.



TOOLBARS



A new slider Locator Size was added to the Tool Properties Toolbar of the Transform Selected Object

Tool. This let's you adjust the size of locators in the viewport


CAMERA



In addition to the previously released Quick Unproject Channel  and Quick Unproject Layer a new

Quick Unproject View has been added.


This will unproject whatever is currently in your viewport to the Image Manager therefore allowing you to unproject from a

Nodegraph View as well.


PROJECTORS



You can now toggle the camera type of the currently selected projector between perspective and orthographic

even after the projector has been created/loaded





FEATURE IMPROVEMENTS


USER INTERFACE





The following channel specific commands are now available as icons at the bottom of the channel palette:




The following channel specific commands have been relocated into a new 'Channels / Locking' Submenu  ()





The following object specific commands are now available as icons at the bottom of the object palette:





The following Layer specific commands have been relocated into a new 'Layers / Edit' Submenu













TOOL OPTIONS FROM PREVIOUS EXTENSION PACK VERSIONS NOT RESTORED


Tool Options (paths, checkbox on/off states etc) are now saved under a new version in the Mari Config File. This means that on loading of the tools for the first time your Settings will not be set the same way you had them set in a previous MARI Extension Pack Version.


This is an intentional change to avoid conflicts with old versions.



CHANNELS





Using the new 'Dynamic' BitDepth option, your channel is exported at the bitDepth it is in your project

unless the specified file format requires a minimum or maximum bitDepth





The channel currently selected in your project is now added by default to the right-hand list of channels to export as long as

the 'Selected Channels only' Preset is the default.

You can configure your own default preset that is loaded each time you launch the exporter by clicking the 'Set as Default' button.


Set Project Paths Tool. Any time you load the project, the settings will be restored




Export Custom Channel Selection to bake and export the next channel in the list while the other channel still gets saved to disc.


While it is often recommended to have it on (once ticked it is remembered between sessions),

Maris standard Export Tools do not utilize 'Full Patch Bleed' making an export from Export Custom Channel Selection seemingly much slower than

one performed with default Mari tools.






The previously existing Export Everything Checkbox was removed.



with strict naming conventions.

The field will revert back to the Project Default each time the export dialog is launched.

To save a change to the Template Field for the current Project, use the new 'Set Template as Default' Button.





ESC will now cancel all subsequent queued exports.


export times, post processes etc. This information is available in the message details as well as printed to the Python Console.














OBJECTS


If a variable is used in the Filepath the tool will create the necessary folders for you.


The Name of the Object Version as it appears in the Version Dropdown in the Object Palette.

This name can be changed by right-mouse-clicking on an object and choosing 'Rename Version'


in its current (subd'd) state, this will save an additional copy of the object without Subdivision


This is identical to configuring them via the Set Project Paths Tool. Any time you load the project, the settings will be restored











If a variable is used in the Filepath the tool will create the necessary folders for you.


The Name of the Object Version as it appears in the Version Dropdown in the Object Palette.

This name can be changed by right-mouse-clicking on an object and choosing 'Rename Version'


This will temporarily reset all subdivided objects to Level 0 to export their UV Masks


This is identical to configuring them via the Set Project Paths Tool. Any time you load the project, the settings will be restored








SELECTION GROUPS





CAMERA MENU




image degredation/banding due to Color Management. If you are unprojecting from a 32bit channel, the resulting

file will also be 32bit.


the Color Management from their source channel.





ENVIRONMENT NODES


one instance of the supplied texture is generated





the internally used noise signal to jitter the blending of edges



for all three projection sides.

The port is now evaluating the Red, Green and Blue Channel (X Y Z) of a connected Node to allow driving Image rotation separately

for each projection side.




4 Texture Slots as opposed to the newly addedTexture Scatter 2D X1 Node which only has one slot.




otherwise the pivot for all UDIMs will be at the base of UDIM 1001 ()




looking 'stamping' patterns introduced when using the Edge Falloff Settings in the Texture Slot(s).









DO NOT KEEP TEXTURE SCATTER NODES LIVE


The various Texture Scatter Nodes of Mari Extension Pack are not meant to stay live in your scene. Utilize Caching,Bake Points or Convert to Paintable after you have a satisfying result to keep performance up.




one instance of the supplied texture is generated







LAYERING NODES





Existing Mari Project will not be affected.


MANIFOLD NODES



By adjusting the Locator's Transform Gizmo in the Viewport you can visually change scale, rotation and

translation of nodes attached to the Manifold 3D Node (Noises etc.)



By adjusting the Locator's Transform Gizmo in the Viewport you can visually change scale, rotation and

translation of nodes attached to the Manifold UV Node (Tiled Node, Image Node etc.)


sit at 0.5/0.5 of each UDIM . By modifying the pivot u and v setting you can shift the transform pivot to an arbitrary position.


This is similar to Photoshop Transform Tool where you can move the transform pivot around.

When on all UV Transformations will be performed with a transform pivot at each individual UDIM (as determine by the Transform Pivot Position)


By turning 'Per UDIM Pivot' off UV transformations will behave more similar to Maris default TILED Node and

work better with UV Shells spanning across multiple UDIMs without cuts.


UV Transformations applied to multiple UDIMs with perUDIM Pivot On (left) and off (right)


GEOMETRY NODES



Using the Nodegraph or GraphLayers you can now use attached Manifold Nodes (2d, 3d or locator manifold) to transform

the Surface Normal.








the internally used noise signal to jitter the blending of edges with your own noise type







ATTENTION


The removal of the 'Back is Transparent' Checkbox can result in look changes in existing projects where the option was ticked.

In these cases please use the new 'Color A' and 'Color B' Option Boxes to set the Background

Color to Transparent using the Mari Color Picker Dialog.




ADJUSTMENT NODES



When ticked this will prevent the grading from being able to produce values above 1 or below 0.




Using Nodegraph or GraphLayers you can now use attached Manifold Nodes (2d, 3d or locator manifold) to transform

the Surface Normal.




converted to linear first before being used for value testing.





processing with the 'New Min / Max' Values


Checking this option will ensure that the 'New Min / Max' Values are indeed the lowest / highest values that are output

from the Node when the 'Old Min / Max' have been modified.




REGION NODES








reflectance and metalness of your input


When checked, non-metallic areas of the Out_Specular will be white.

Otherwise the corresponding reflectance value for the input Specular Level will be used (0.0 - 0.08).

For most applications the default reflectance value should be used.




SHADERS





PROCEDURALS



with the Mari Version of the Noise when using TAB to create them.





When on and in UV Space,  all UV Transformations will be performed with a transform centre at each individual UDIM.


By turning 'Per UDIM Pivot' off UV transformations for all UDIMs will be performed with a common pivot

at the base of UDIM 1001.


UV Transformations applied to multiple UDIMs with perUDIM Pivot On (left) and off (right).


                                                       


MASK PRESETS



with the Mask Presets







KNOWN ISSUES WITH MASK PRESETS IN MARI 3.2


Due to bugs in Mari 3.2v1 you might experience issues with some Mask Presets.

The following issues are resolved in Mari 3.3v1 and above:


- creating a 'Mask Edge Grunge' crashes Mari

- Creating Mask Preset Nodes takes an unusual amount of time

- Slider movement triggers a pause



BUGFIXES



LAYERS




or docked Layerstack while the primary selected channel ('current Channel') was completely empty.

This includes the following tools:







CHANNELS







into EXR Format, despite nothing having been exported at all (since 8bit exports to EXR are not supported by default)


into Fileformats (jpg,ico,tga etc.) that only support 8bit, despite nothing having been exported at all


EXR Compression you are using when exporting with standard Mari Export Tools.

In addition a dialog was added in the exporter UI to configure the Compression.


The next export with 'Only Modified UDIMs' turned on would then ignore the channel if it had not been

changed in the meantime.


'Only Modified UDIMs' could not detect a change. This is now fixed in Mari 3.2v1 and  'Only Modified UDIMs' Export Option works reliably.














no longer existing udim numbers.




OBJECTS





VIEW MENU





SHADERS



attributes until the shader was reselected.


CAMERA MENU



If the OUTPUT Colorspace was using a Gamma Curve (sRGB etc.) there was the possibility of image degradation

when using the unprojected Image to paint again. Unprojected Images are now always saved with Colorspace 'raw'.



DISPLACEMENT




MASK PRESETS



when something was attached to the displacement handle of the Node.


ADJUSTMENT NODES



meaning the transparency would be removed. The following nodes were fixed to now respect transparency:









BASIC NODES



introduced color management. In addition a slider has been exposed to set a custom value.

Old instances of the Node will still output the 0.498 value but also have a slider exposed.



ENVIRONMENT NODES


the cells, while all having the same rotation value, were all having a rotation other than 0.


MANIFOLD NODES






ATTENTION


This fix will change the look of nodes attached to existing Manifold UV Nodes (Images will flip vertically). To revert to the previous look you need to tick on the Mirror V Checkbox in the Mirror UI Group of the node





REGION NODES



The Output now only gives you the Specular Level.





PYTHON






Bug in Mari Default Installation


Please note, despite Extension Pack no longer being the reason for the command to fail, in all current Mari Versions (tested up to 3.2v1) it still fails due to one of the Example Scripts included in the default mari installation.


This fix is intended to allow the command to work once the foundry fixes the problem on their end..




DEVELOPER & DEPLOYMENT UPDATES


SEMANTIC VERSIONING


API has been added to determine the currently installed Extension Pack Version



minor version, patch and build number.



DEPLOYMENT



removed at studio request


This was done to simplify the code for the __init__.py file that is responsible for loading Extension Pack.




ATTENTION


While Extension Pack will no longer actively make changes to JTOOLS files such as removing conflicting module imports, the files with knows conflicts are still part of the Conflict Blacklist defined at the top of the __init__.py file in the Extension Pack Subfolder.


To completely deactivate the detection you can now simply edit the


illegalFiles = [ ]


section of the __init__.py file.




PYTHON DEVELOPMENT












The File has now been renamed to gui_actions.py for clarity





(accessible via mari.ExtensionPack.utils() )


will return the currently open Nodegraph Tab


will return a list of a nodes including contents of groups


will return a list of a group nodes


will return a list of nodes connected to the Output of the node to find


will return the Mari Main Window Object


Will set the Context to the Nodegraph so Hotkeys work in "Nodegraph Context" Mode


NODE DEVELOPMENT



<MinMariVersion> and <MaxMariVersion> tags in the Node XML files.


The tags are optional. You can have just a <MinMariVersion> tag, just a <MaxMariVersion> one

or leave them out completely if not required.        


Examples:


Restrict a Node to Mari 3.1 or higher:         <MinMariVersion>30101000</MinMariVersion>

Restrict a Node to Mari 3.0v3 or lower:         <MaxMariVersion>30003300</MaxMariVersion>




       


CREDITS


DEVELOPMENT



THANK YOU



BETA TESTING




Created with the Personal Edition of HelpNDoc: Free Web Help generator