What's new in Extension Pack 3

Previous Next

Released by Jens Kafitz, 2015 - MARI Extension Pack



RELEASE DATE: December 8th, 2015


REQUIRES: Mari 3.0v1 or higher





= Nodegraph Only   = Demo Video available


NEW FEATURES


INSTALLATION & DEPLOYMENT


MARI Extension Pack 3 R2 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).



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:




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.



FEATURE IMPROVEMENTS


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


BUGFIXES


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.



DEVELOPER INFORMATION



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:







CREDITS


EXTENSION PACK 3.0 DEVELOPMENT



EXTENSION PACK 3.0 BETA TESTING





Created with the Personal Edition of HelpNDoc: Easily create EBooks