Released by Jens Kafitz, 2015 - MARI Extension Pack
RELEASE DATE: December 8th, 2015
REQUIRES: Mari 3.0v1 or higher
= Nodegraph Only = Demo Video available
INSTALLATION & DEPLOYMENT |
MARI Extension Pack 3.0 has a new file and folder structure within your mari script directory to
make it a compact. easy to update and deploy package. Please refer to the installation section of the
online help for updated installation instructions or the install troubleshooting section if you have problems
You can now check for newer Extension Pack Versions from the Mari Help Menu.
NODEGRAPH |
All Extension Pack Layer Nodes have been reworked for best use in the Nodegraph.
Nodes now have their most useful parameters exposed as connections in the Nodegraph to allow
node-driven paramenters (Octaves driven by another Noise etc.).
While Node connections are unmapped, Node Sliders are used. While Node Handles are mapped, Node Sliders are ignored.
Sample of a Node with exposed connections in the Nodegraph
ADJUSTMENT NODES |
A node similar to a Contrast Node but mimicking behavior of Substance Designers 'Histogram Scan' Node.
Two new nodes were added to convert values between RGB + HSV (Hue/Saturation/Value).
Two new nodes were added to convert values between RGB + HSL (Hue/Saturation/Lightness).
Allows you to convert your Tangent Space Normal Map into Mari's Normal Space so it can be used with
a variety of standard Mari Nodes in the Nodegraph
BASIC NODES |
A simple node generating a default tangent space normal color. Normal Map Channels should always be set to
colorspace 'Linear' or 'Raw Data' to ensure correct results.
A simple node letting you set a float value. Different Input Fields (Textfield, sliders with different ranges etc.) for different requirements are available
MANIFOLD NODES |
NODEGRAPH ONLY Nodes of this category can only be created in the Nodegraph |
A manifold is a node to transform coordinates such as Position + Normal resulting in a change of scale,
translation or rotation.
All Extension Pack Procedurals now have a 'Manifold' connection in the Nodegraph to attach this to.
Standard Mari Nodes if supported have a 'Position' connection that is compatible.
Many Extension Pack Procedurals already have Scale/Translation/Rotation options built in but this node can be
used as a central control node to modify multiple nodes simultaneously.
Manifold 3D by default will use the Object Position as base coordinates unless you specify a different one by
mapping its 'Coordinates' Connection.
Scale, Rotation and Offset of Coordinates are exposed as parameters in the Nodegraph, allowing you to
optionally drive them by another Node if needed
Manifold UV is used to change scale, offset and rotation of 2D Coordinates (UV Coordinates).
All Extension Pack Procedurals now have a 'Manifold' connection in the Nodegraph to attach this to.
Standard Mari Nodes if supported have a 'UV' connection that is compatible although if available a
'Position' Input works as well.
When attaching a Manifold UV node to another node, the target node will be evaluated in UV Space instead of
its default (3D) Space. The behavior is the same as checking the 'UV Space' Checkbox in a Procedural
but the Manifold UV Node can be used to modify multiple Nodes at once.
'Manifold UV' by default uses your objects UV Coordinates.
Scale, Rotation and Offset of Coordinates are exposed as parameters in the Nodegraph, allowing you to
optionally drive them by another Node if needed
ENVIRONMENT NODES |
The 'Image' Node will allow you to load an image with similar options as you have on the default Mari 'Tiled' Node.
However this node does not contain any UV transformation options (repeat, offset).
By attaching a 'Manifold UV' Node to the 'Image' Node you get the same options as on a Tiled node but with the advantage
of being able to use different tiling images in different channels while having only a single set of controls for repeat, offset etc.
Sample of 3 different Image Nodes with a shared Transformation Node (Manifold UV)
ENVIRONMENT NODES |
The Object Space Radial Gradient will create a 3-dimensional (spherical) radial gradient
The Object Space Linear Gradient (centered) will create a linear gradient on your object.
It is a modified version of Mari's default Object Space Linear Gradient Node, that was reworked
to make it more easily control-able and provide additional options for gradient generation.
LAYERING NODES |
NODEGRAPH ONLY Nodes of this category can only be created in the Nodegraph |
A Node to add detail to mask edges by isolating the soft transition areas and adding the effects from another
node into the transition.
The Input Switch Node will switch between 4 different Input Connections based on a user provided value
Very simple mix node to linear interpolate two colors by a mask.
This is similar behavior to the Mari 'Merge' node but lighter and faster in performance since the 'Mix' Node
does not contain blend modes or advanced blendmodes.
For convenience a color A and color B can be set on the node. They will be ignored if the corresponding connections
are mapped in the nodegraph.
The Nodes Mix Slider will always be evaluated regardless of the Mix Connection being mapped
(in which case it's a multiplier on the nodes 'Mix' Connection)
MATERIAL REGIONS |
NODEGRAPH ONLY Nodes of this category can only be created in the Nodegraph |
New nodes were added as part of the implementation of Material Regions.
Different Material Region Presets for different shader workflows
(Roughness/Reflectance, Metallness/Roughness, Specular/Glossiness) are available.
Material Regions are a system to layer Materials on top of each other (Dust over Rust over Metal etc.)
while providing a logical grouping in the Nodegraph.
Other than a Layered Shader a Material Region does not compute any shading. It is layering the effects
of each channel (diffuse, spec, bump etc.) from the current region over the effects of each channel from the previous region.
In the end a material region chain outputs each combined channel into a channel for export.
Material Regions have full support for MaterialID Channels as Region masks.
Material Regions are only available in the advanced Nodegraph (Preferences/Nodegraph/Enable Advanced Nodegraph)
Sample of a basic material regions setup involving a region_base_value node, a material_region with a painted mask
and the final output to the target channels
Two new nodes were added to convert Channels from a Metal-Roughness workflow to a
Reflectance/Roughness or Specular/Glossiness workflow.
MISC NODES |
NODEGRAPH ONLY Nodes of this category can only be created in the Nodegraph |
The Bake Visible to Selected Paint Node is a special Node that allows you to repeatedly write the input
of the node into a selected paintable Node. This is different from Mari 3.0's default right mouse click
'Bake to Paint Node' since it does not require you to create a new Paintable Node each time.
MATH NODES |
NODEGRAPH ONLY Nodes of this category can only be created in the Nodegraph |
A variety of Math Nodes were added to allow more 'visual coding' of graphs:
BLEND MODES |
Burns or dodges colors by decreasing or increasing the brightness, depending on the blend color.
FILE MENU |
'Project Paths' allows you to configure default paths (Texture Export & Import Locations,Camera Locations, Image Manager Folder default etc.)
and file templates for your project. Paths can be set relative to a project base path and automatic folder creation is supported.
Paths are saved with the project and restored on project load, so you only need to configure each project once and on the next
project open you will find it how you left it without the need to set the paths again with the tool.
SETTINGS HISTORY The last used settings (from whenever you last launched the 'Project Paths' Dialog) are preset on open to all fields but not applied to the project unless you choose to. This allows you to configure your paths relative to a changing base path and on a newly created project you then only need to set the base path instead of all individual paths each time. |
SELECTION MENU |
A new menu item was added to the Selection menu and the right-click viewport menu ('Visibility' submenu)
that allows you to isolate the visibility of your current selection.
Unselected parts of your model will be hidden. Once you toggle back, your original visibility states will be restored.
A default shortcut CTRL+1, identical to Mayas 'Isolate Select' has been set if available
but can be modified via the Shortcut Editor.
FACE & PATCH SELECTIONS ONLY Isolate Selection cannot be run to toggle visibilities in 'object' mode at the moment |
SELECTION GROUPS PALETTE |
A new tool was added to the 'Selection Group' Palette that will allow you to easily create a materialID
channel from your choice of selection groups. All selection group types (object, patch, faces) are supported.
Currently there are two ways to utilize Material IDs in Mari
Optionally the tool allows you to create individual mask layers for each selection group instead of one
material ID layer.
LAYERS |
A bookmarking system for layer selections was implemented. Pinned Layers simplify the way of sharing
a layer, group or channel into a different channel or stack. Pinned Layers have two modes - Quick Pins & Collection Pin
Sample of different layers pinned to the layers menu for later access
Quick Pins can be used to quickly mark one or more layers for a sharing operation.
It works similar to a copy+paste operation but instead of pasting a duplicate of a layer,
it creates one or more shared layer(s) of the original selection at your target location.
The same layer(s) can be 'pasted' multiple times in different places.
A quick pin can be stored via the Option Layer/Pin/Save Quick Pin, then inserted into a layerstack
by using the Layer/Add Pinned Layer/Quick Pin option.
For convenience the default hotkeys CTRL+ALT+C and CTRL+ALT+V were set to save and insert a Quick Pin.
Collection Pins are useful if you need to repeatedly have access to the same layers for sharing.
While Quick Pins work like a clipboard, Collection Pins allow you to pin layers,groups or channels to the menu for
later access. Collection Pins can be added by using the Layer/Pin/Pin to Collection Option.
For each selected layer, group or channel layer, one Collection Pin will be added to the 'Layer/Add Pinned Layer' Menu.
Collection Pins are stored per project and will be restored on project loading.
Collection Pins require a unique name. You cannot add two layers with the same name as different collection pins.
Layer/Pin/Edit Collection Pins is used to manage your existing collection pins
CHANNELS |
As part of the implementation of 'Pinned Layers' options were added to the channel palette.
To save a channel as a Quick Pin or Collection Pin use the Channel/Pin/Save Quick Pin or
Channel/Pin/Pin to Collection Options.
The currently selected channel will be accessible for sharing as Channel Layer from the
Layers/Add Pinned Layers/ Menu
A new option 'Duplicate Channel' was added to the Channels Menu.
'Duplicate Channel' - other than Mari's default Copy/Paste way of duplicating Channels -
will create a true duplicate of the source channel.
referencing the original source channel.
is maintained and direct links to 3rd channel are restored in duplicated channel
source channel
OBJECTS |
It is now possible to export your geometry from inside Mari to an OBJ File.
Export Object can export either subdivided or unsubdivided geometry if OpenSubd is applied.
When launched via the 'Object' Menu in the Main Window you are able to select what geometry to export.
When launched via the right mouse click menu in the object palette, the selected geometry will be exported.
A new submenu was added to the Object menu and right click object dropdown menu to toggle all objects
in your scene to their highest or lowest available subdivision levels.
Locked Objects are respected and are not affected.
A new submenu was added to the Object menu and right click object dropdown menu to toggle all visible
objects in your scene to their highest or lowest available subdivision levels.
Locked Objects are respected and are not affected.
TOOLBARS |
New options were added to the 'Tool Properties' Toolbar of the Transform Paint Tool:
or the 'Halve' & 'Double' convenience buttons. This is the same as changing it in the 'Painting Palette'
This is the same as changing it in the 'Painting Palette'.
The Bitdepth will be dynamically switched whenever you switch channels with different bit depth.
This setting is saved across projects.
MISC |
Under the Mari/Scripts Menu a new Submenu 'Project' was added. This contains useful tools to reduce
archive sizes and speed up your Mari by removing unnecessary data from the project
Remove all Snapshots will delete any snapshots for Channels or Layers in your project which
can reduce Project/Archive Sizes significantly. Other than using the same action from your
Channels / Snapshots Menu running this will clear your history (meaning you cannot undo it)
in order for Mari to be able to remove the snapshots from disc as well.
GarbageCollect is a Mari-internal tool that usually runs automatically while Mari is idle for a few minutes
but can be manually triggered here. Its purpose is to clear data that is no longer needed from your project cache
(deleted layers, channels etc.) Please note, this process will save your project & clear out its history.
You should always let this process run for a little since there is no visual process or completion indication.
USER INTERFACE |
Extension Pack Tools are now grouped under a 'MARI Extension Pack' Group in the Hotkey Editor
with subgroups mimicking their position in the UI to make them easier to find.
Extension Pack Adjustment and Procedural Nodes are now located under an 'Extension Pack' Submenu
under each existing submenu ('Adjustments', 'Basic', 'Environment', 'Geometry' etc.)
Extension Pack Adjustment Layers are now categorized in subfolders (Color Correction, Utilities etc.)
to police the menu size
Extension Pack Procedurals in the MainWindow/Layers/ Menu no longer appear under a 'CustomProcedurals' Folder
but now appear in the same Folder Structure as in the Layers Palette.
Custom Object Normal Node has been renamed to Custom Surface Normal to be in line with Mari vocabulary.
Paintable Gabor Noise no longer appears under 'Adjustment Layers' and has been moved to Procedurals/Custom/Gabor/
CHANNELS PALETTE |
changed UDIMs for multiple Channels at once. Please note that 'Export Selected Patches' overrules
the 'Export only Modified Textures' Setting (if turned on) and will force export all selected patches, changed or not.
they are set to in your Mari Project
from a command line. This can be used for example to launch Mipmapping processes for conversion to tx, tiled exr, map format etc.
speeding up the export time for those channels and matching default Mari Export behavior introduced in Mari 2.6v5
UI to avoid having to retype the template every time you change the path.
Path & Template fields support the usual MARI Variables such as $ENTITY,$CHANNEL etc.
If a defined subfolder in the path uses a $-Variable, folders will be auto-created without user interaction.
Otherwise a user prompt will appear offering to create any missing folders. Subfolders can be defined
in both path and file template field.
Export File Template. An option was added to reset the Export File Template to Project Default if
it is different than the current one.
instead of the limited MARI Default one
to not have double negatives
If launched from 'Export Flattened' Submenu, 'Flattened' checkbox is enabled by default and the File Template defaults
to the template defined for flattened Textures. When launched from 'Export' submenu, 'Flattened' checkbox is off by default
and file Template defaults to template defined for non-flattened Textures.
Duplicate & Flatten will no longer create channel duplicates of channelLayers (shared channels) if the
duplicate/flattened channel contained channel layers
OBJECTS |
Path & Template fields now support the usual MARI Variables such as $ENTITY,$CHANNEL etc.
If a defined subfolder in the path uses a $-Variable, folders will be auto-created without user interaction.
Otherwise a user prompt will appear offering to create any missing folders. Subfolders can be defined
in both path & file template field.
When launched via the right mouse click menu in the object palette, the UV Masks from the selected
geometry will be exported.
PATCHES |
'Patch Bake to Image Manager' now use Mari 3s new OCIO color management when loading images into the
image manager. The colorspace to load images in is determined by the selected channel when executing the tool.
CAMERA |
and when loading images into the image manager.
The colorspace to unproject the image in is determined by the selected channel when executing the tool
of the Paintbuffer. Unprojected Images will always be square with a 1:1 Pixel Aspect Ratio.
the selected channel/layer. 8bit Images are saved in PNG, 16bit/32bit in exr format.
the layer / channel name they were unprojected from
LAYERS |
Layer/Add Layer Mask/Mask From Selection + Mask From Selection (inverted) have been removed from
MARI Extension Pack since MARI 3 now ships natively with its own implementation.
PROCEDURAL NODES |
ATTENTION Some of the following modifications will change the look of existing procedurals when converting Projects that use the old ones. |
larger numbers now mean larger scale. Previously procedurals would scale up in size the closer the
value got to 0.0. At default setting of 1.0 the result is identical as before.
Clamping is now performed on the result of the noise computation but before applying Color A / B.
This ensures that color mixing behaves reliably but it is still possible to set color values outside of 0-1 range.
the nodegraph with paintable nodes or other procedurals
'FBM+' now uses a different algorithm, giving more predictable results with less overall 'flowing' of features
across the surface when changing sliders
GEOMETRY NODES |
When a Normal Map (for example a 'Normal Map' Channel) is attached to the connection in the Nodegraph
you are able to mix from a normal map into the final calculation of the curvature.
ENVIRONMENT NODES |
The 'Falloff Map' Node has been removed from Mari Extension Pack since it no longer had any practical
applications
USER INTERFACE |
LIGHTING TOOLBAR |
when the Pause Viewport action was triggered via scripts or non-default hotkeys.
CHANNELS |
in the Channel Info field by mistake
if the UDIM Count increased (for example by adding geometry versions) or if users mistakenly removed
the channel metadata used to determine changes in textures.
with certain nested mask stack configurations
to a channel caused by a Channel Layer in the Layerstack.
wrong tool in Mari Extension Pack 2.1
LAYERS |
in the stack but error when merging them.
'Clone & Merge Layers' will now unlock any locked layers after duplication so it can run correctly.
Adjustment Stack to disabled on the resulting paintable layer giving the impression that something had changed
after converting
IMAGE MANAGER |
defined by the variable mari.resources.DEFAULT_IMAGE.
You can change default folders by using the new 'Project Paths' Option found under the File Menu
executed cancel after each image finished exporting.
Extension Pack Tool Actions have been moved out of /Mari/Scripts/ and into /Mari/MARI Extension Pack/.
If you are using any Extension Pack Actions in your own scripts you need to update to the new path.
RegisterCustomShaders.py now uses the new mari.gl_render.registerCustomNodeFromXMLFile
to register nodes inside of Mari.
As a result categories in Adjustment & Procedural Node XML Files <Category> now need to be specified explicitly
including their initial path (/Filters/, '/Procedurals/'). The path is no longer automatically derived from the <tags>
attribute such as <tags>_adjustment </tags>
As a result especially Adjustment Layers need to be placed manually under adjustments by specifying the path
'/Filter/' in the category section of the xml file <category> /Filter/MyAdjustment </category>
This allows for placement of nodes that require an _adjustment tag to work in other locations
than the Adjustment Layer Submenu and prevents Mari from creating its own Folders for your Nodes in the Menu structure.
Extension Pack has a new system to deal with Shortcuts in order to not enforce preset shortcuts onto the user if he doesn't want to
The following functions had their algorithm updated internally
The following functions were updated and require additional clamping arguments to work
The following functions were added to the openGL Function Overview:
EXTENSION PACK 3.0 DEVELOPMENT |
EXTENSION PACK 3.0 BETA TESTING |
Created with the Personal Edition of HelpNDoc: Easily create EBooks