April 4, 2018
This version uses the Arnold 18.104.22.168 core.
MtoA 3.0.0 is a major feature release, that is shipped with Maya 2018 Update 3.
Despite its major improvements, it is still fully binary compatible with MtoA 2.* versions.
The new aiToon shader is part of a non-photorealistic rendering (NPR) solution that is provided in combination with the Contour Filter.
It can be used to obtain a cell animation look. A variety of interesting effects can be achieved by, for example, changing the line width using the Width Scale parameter,
connecting a procedural texture to Mask Color, or using stylized highlights.
- New Layer shaders: The newly added aiLayerFloat, aiLayerShader and aiLayerRgba shaders can be used to mix float values, surface shaders (closures) and textures respectively. The maximum number of layers in these shaders is limited to 8.
- ID AOVs in aiStandardSurface and aiStandardHair: Both these shaders now support ID AOVs, which are useful for creating mattes.
- Extra Samples parameter in aiStandardHair shader: allows using additional GI samples on a per-shader basis. This allows reducing hair noise without increasing the global AA settings.
- Per-light group shadow mattes: aiShadowMatte has a new Light Group parameter that when enabled makes the shader sensitive only to a given light group.
- Added Bump in aiPassthrough shader: This allows for the assignment of a normal or bump map that affects the entire network of shaders it is connected to.
- Trace sets in ambient occlusion shader: aiAmbientOcclusion now includes a Trace Set parameter to specify which objects are included or excluded.
Alembic support (gpuCache):
Arnold now natively supports Alembic files. Maya native GPU Cache nodes are now being exported as an alembic procedural and expose in an Arnold section several parameters, as well as a list allowing to inspect the Alembic file and isolate a given sub-object. More details can be found in the Alembic documentation.
Arnold now has the capability of adapting the sampling rate of each pixel when Adaptive Sampling is enabled in the Render Settings. It allows dedicating a greater number of camera samples (and thus also a greater amount of render time) to the pixels that show a greater variation in their sample values. When used, all pixels will receive a sampling rate of at least Camera (AA), but no more than Max Camera (AA). The adaptive sampler's sensitivity to noise may be controlled through the Adaptive Threshold render option, where lower threshold values will apply higher sampling rates to a greater number of pixels.
The fast, GPU-powered Nvidia OptiX AI denoiser is now available in Arnold. By enabling a parameter Denoise in an AOV, Arnold will output this AOV twice: once with the original result, and a second one (suffixed with "_denoise") showing the denoised result. A denoised beauty pass can be obtained by enabling Denoise on an RGBA AOV. Note that denoising happens at the end of a full frame render, and not at each bucket. See the Optix Denoiser documentation for more details.
Arnold Denoiser "Noice":
A standalone, post-process denoiser executable called Noice is now bundled with Arnold. This is a high-quality denoiser that takes into account multiple frames and multiple light AOVs. It requires variance information for the beauty output, which can be enabled with the new parameter Output Variance AOV. It can optionally use normal, depth and albedo in order to improve the denoising.
Operators - Arnold render time procedures :
Operators are a new node type which performs per-object (node) parameter assignments and overrides, including late-bindings and deferred overrides on procedurally generated nodes. They can, therefore, be used to override parameters from already exported standins at render-time. Operators can also create nodes and carry out general scene inspection and modifications. Multiple disconnected operator graphs can exist in the scene, where only the graph connected to the target operator will be evaluated for rendering. Some operators provide a selection parameter which determines, using a wildcard expression, what nodes are processed by the operator. A series of operator nodes are now available: aiMaterialx, aiSetParameter, aiDisable, aiCollection, aiSwitchOperator, and aiSetTransform. More details can be found in the Operators documentation.
Using the new Operator nodes, it is possible to apply a MaterialX file to a Standin, an alembic procedural, or any other shape.
Structured Render Statistics / Profiling outputs:
Structured render statistics can be dumped in a .json filed from the Render Setting's Log parameters. It's now also possible to dump a profiling .json file that helps to identify where render time is spent.
New Progressive Render option in the Render Settings allows rendering progressively all the samples up to the final Camera (AA) Samples. Note that this option slows down render times and increases memory usage, which is why it's only supported during interactive renders for fast preview.
New Licensing helper tools:
New Arnold -> Licensing menus were added, which simplify the licensing installation and troubleshooting, for both RLM and CLM licenses.
- Removed Pymel dependency from MtoA.
- Improved Animated Standins workflow.
- Log Warnings by default.
- Improved VP2 representation of utility shaders.
- Properly remove Arnold-specific attributes when MtoA is unloaded.
- Export Maya File as Arnold image to ease cross-application pipelines.
- Export Maya bump as Arnold bump to ease cross-application pipelines.
- Fixed several ARV crashes.
- Fixed ARV bugs with wrong cameras and/or image planes. Image planes will now appear only for the correct camera.
- Custom procedurals now appear as a bounding box in the viewport to support selections. The min/max bounding box can be set as parameters in the procedural node.
- Filter changes weren't updated in IPR.
- Bake Geometry now working with Standins.
- Fix mismatch in mesh lights motion blur as compared to regular geometry.
- ARV: Update Full scene now flushes all caches.
- Shader parameters left to default value are no longer exported to the .ass file.
- Light instances are now supported.
- ARV snapshots using "Snapshot Folder" now load the snapshots by chronological order.
- Following the PyMel removal, any overrides in hooks.py will now expect node names, and not PyNode as hey did before
- Triplanar parameter 'P' was removed
|#2707||Render Maya File nodes as aiImage|
|#3355||Crash with ARV when a hidden light becomes visible during IPR|
|#3356||MAC: Crash when opening Maya scene file when ARV was left open|
|#3357||attributeAliasList error now occurs for every referenced material|
|#3381||Activating AOV Denoise filter with ARV running crashes Maya.|
|#3063||LightBlocker issue in Viewport 2.0|
|#3209||mayapy crash when opening a file that requires mtoa (and mtoa is not loaded yet)|
|#3365||Unable to use the <Camera> Token in Render Settings|
|#3379||Incorrect use of QString values may lead to errors and crashes due to reading deleted memory.|
|#1913||Warning: pymel.core.general: Could not create desired MFn. Defaulting to MFnDagNode.|
|#3118||Link MtoA extension attributes to the plugin after registering them|
|#3159||Add test for extensions|
|#3221||Show bounding box in the viewport for auto-procedural nodes|
|#3227||Expose "outAlpha" attribute in RGBA shaders|
|#3238||Camera nodes can be missing in the exported scenes|
|#3240||Don't regenerate standins in IPR when they're only transformed|
|#3248||Remove PyMel from MtoA|
|#3250||Support adaptive rendering|
|#3253||Improve licensing tools in MtoA|
|#3260||Remove MtoA procedurals dependency graph|
|#3269||Remove Arnold attributes when MtoA is unloaded|
|#3273||Filter changes not updated in IPR|
|#3275||Bake Geometry doesn't work with standins|
|#3276||driver_exr "tiled" doesn't have the correct default on windows|
|#3287||Maya crashes when you connect nodes to UV coords of aiImage|
|#3290||Filter width is different on Linux + Maya 2018|
|#3291||Expose Arnold operators|
|#3298||Viewport - Use Flat Lighting not supported by aiStandardSurface|
|#3305||Expose Alembic procedural|
|#3306||Rename "jpeg" outputs as "jpg"|
|#3312||Set Arnold node names on creation|
|#3321||"Arnold > Render" has no effect if ARV is already open and a render was done previously|
|#3341||ARV: Cameras not restored when a scene is opened|
|#3346||Motion blur of mesh light vs that of other meshes|
|#3349||MtoA errors when extensions can't be loaded|
|#3353||Remove Install Node-Locked License menu command from Arnold > Licensing|
|#3362||Utility nodes do not have viewport representations|
|#3363||Export maya_full_path user data|
|#3368||Warnings should be logged by default|
|#3369||ARV: Update Full scene should flush all caches|
|#3370||Expose option's progressive_render|
|#3371||Undoing Render Layer edits if Arnold Render Settings were used, will add UI updates to Undo stack (need to Undo several times to undo edits)|
|#3372||ARV: Update full scene can remove image plane|
|#3374||Support Optix denoiser|
|#3382||Implement Render Stats/Profiling|
|#3383||ProcessParameter shouldn't set the attribute if the value is unchanged|
|#3386||Fix regression when linking the matte color|
|#3387||Export variance AOV for Arnold denoiser|
|#3388||ARV: Add API function to get menus state|
|#3389||Expose bump on passthrough|
|#3390||Export standard_hair extra_samples|
|#3088||MTOA_EXTENSIONS_PATH order of precedence incorrect|
|#3048||Add tests around Color Mgt|
|#2079||Instances of lights in Maya should be translated as copies of lights|
|#2412||improve animated standin (sequence) workflow|
|#3230||Expose Toon (NPR) Shader|
|#3262||Add frame padding or load by timestamp for ARV snapshots from directory|
|#3251||Export Maya bump as Arnold native bump|