Share
 
 

Arnold for Maya 5.4.5 plug-in

Learn about new features in MtoA 5.4.5 for Maya 2025.3.

This feature release brings support for OpenPBR Surface, improved volume rendering, OIDN support for Apple Metal and AMD GPUs, and many more improvements and bug fixes.

See the Arnold for Maya release notes for the full list of recently added features and bug fixes.

OpenPBR Surface

A new OpenPBR Surface shader implements the OpenPBR specification. OpenPBR Surface is an evolution of Standard Surface, developed in collaboration with Adobe and the Academy Software Foundation. It introduces many improvements, in particular a better sheen/fuzz model and improved metal reflectivity parameterization. (ARNOLD-13385)

OpenPBR Workflow Tools

MtoA includes tools to help convert aiStandardSurface shaders to OpenPBR Surface (MTOA-1829)

Scattering diffusion in volumes

Two new parameters in standard_volume improve how light is scattered in volumes. Using those parameters can help achieve high-scattering looks with fewer volume bounces and without adding energy. (ARNOLD-14482)

  • scatter_diffusion accelerates scattering in volumes.
  • scatter_diffusion_roughness accelerates scattering further on anisotropic volumes and can help achieve realistic looking clouds with fewer bounces.
  • gain and bias curves can further tweak the effect of both parameters

Stochastic volume interpolation

The tricubic interpolation mode of AiVolumeSampleXXX() calls, such as those used by the standard_volume shader, now uses a stochastic method of interpolation that greatly reduces the amount of voxel data read in each sample call. In testing, we've seen speed ups of as much as 1.7x in certain scenes. Note that this technique does not always produce a perfectly matching image as a result, and can be toggled via the stochastic_volume_interpolation render option (default is on). (ARNOLD-3856)

Improved quality with Intel Open Image Denoise 2.3.0

The updated Intel Denoiser improves denoising quality and can produce sharper results with less artifacts on scenes with specular reflections and transmission. For more information about changes in this version, see the OIDN release notes (ARNOLD-15059).

Standins Viewport Display Color

A custom color can be set on aiStandIn nodes to control how they are displayed in the viewport, through the attribute "Object Display/Draw Override/Enable Overrides"

Sphere and Box volume added to aiVolume

A new attribute has been added to the aiVolume to set the volume shape to box or sphere, defaults to existing file mode (MTOA-247)

Support for camera > backgroundColor

The maya camera attribute "backgroundColor" is now supported to change the background color of the current render(MTOA-1727)

OIDN support for Apple Metal and AMD GPU

The Intel OIDN denoiser now supports on macOS all Apple Metal GPUs (M1 and newer) and on Windows AMD GPUs using RDNA2 (Navi 21 only) and RDNA3 (Navi 3x) architectures. This allows for significantly faster denoising: on an M1 Max laptop we see 5-8x faster denoising. (ARNOLD-14855, ARNOLD-14856)

GPU Many-lights support for light linking

Arnold GPU now uses Global Light Sampling for group of lights linked to a shape. This can improve rendering performance for scenes with light linking. For example, the ALab scene now renders twice as fast when you use Global Light Sampling. (ARNOLD-15050)

GPU improved time to first pixel in scenes with many nodes

Reduced time to first pixel with Arnold GPU and scenes with many nodes. For example, we have seen a 18% improvement in time to first pixel on a simple scene with 1,000,000 instances. (ARNOLD-13652)

Motion vector AOV on GPU

The motionvector AOV is now supported when rendering on GPU. (ARNOLD-11046)

Improved Ramp Shaders

3D ramp modes

Ramp shaders have three new modes: 3d_linear, 3d_spherical, and 3d_cylindrical. These modes calculate the ramp input from the distance between the shading point and a user-defined reference point or line. (ARNOLD-15051, ARNOLD-15196)

3d_linear 3d_cylindrical 3d_spherical

Ramp offset

Ramp shaders can now offset the input value, which allows you to add noise to the ramp. (ARNOLD-15052, ARNOLD-15197)

worley noise (3d_spherical) cell_noise (u) alligator noise (v)

Heatmap Imager Mode

The tonemap imager now has a heatmap mode that creates a spectrum based on a looked-up AOV quantity. The color ranges from blue (at minimum) to red (at maximum). (ARNOLD-15123)

Viewport representation for volumes in procedurals

Volumes can now be displayed in the viewport. This is currently only supported when loading a procedural (an aiStandIn) in MtoA. (ARNOLD-14382)

Arnold Render View Enhancements

  • Accessing Save Image Options with MEL: The Save Image options in the Arnold Render View are now accessable via the MEL arnoldRenderView command (ARNOLD-15083)
  • Deselect snapshots by clicking outside of selection: Clicking in empty space in the Arnold RenderView snapshots panel deselects the selected snapshots (ARNOLD-15080)
  • User preference for snapshots folder: There is a new user preference for the snapshots folder. You can override this by setting the environment variable ARNOLD_SNAPSHOTS_FOLDER (MTOA-1934)

Other Enhancements

  • Improved AOV memory usage in non-progressive renders: Non-progressive, adaptive renders with the box filter now use less memory. Memory usage is also reduced in non-adaptive renders when using the following filters gaussian_filter, triangle_filter, sinc_filter, catrom_filter, mitnet_filter, blackman_harris_filter. For example, in a 1080p render using adaptive with AA_samples_max 50 and 6 AOVs, the memory used by AOVs was reduced from 14GB to 730MB (-96%). Note also that AOV memory usage now remains constant as AA_samples_max increases, unlike previous releases where the memory would increase quadratically. (ARNOLD-10160)
  • Improved efficiency of the Alembic procedural: The Alembic procedural now reads data in parallel, which optimizes initialization times of heavy Alembic files with many objects. We observed startup times going from 15 minutes to 4 seconds on a large production scene. (ARNOLD-14796)
  • Indirect diffuse and indirect specular parameters are now linkable in the standard_surface and openpbr_surface shaders: The indirect_diffuse and indirect_specular of standard_surface and openpbr_surface shaders now support linking of shaders. This should allow better optimization in scenarios where no indirect lighting is needed. (ARNOLD-14204)
  • Triplanar Nref user param: Triplanar shader now accepts an Nref user parameter, to allow specifying reference normals when in Pref mode. (ARNOLD-15063)
  • AOV names used for OpenImageIO subimages: Multi-part files previously used default subimage naming for layers/subimages. Arnold now uses the names of AOV outputs for the corresponding subimage. (ARNOLD-15053)
  • Triangle tessellation memory usage statistics grouped under polymesh memory usage: Arnold logs now list triangle tessellation and polymesh memory usage together in the peak CPU memory usedpeak GPU memory consumed. (ARNOLD-15194)
  • Scaling of emission luminance from nits to Arnold unitsnits_per_unit was added to the options node, and OpenPBR Surface's emission_luminance (in nits) is internally scaled down by this nits_per_unit value (defaulting to 1000) to bring it into Arnold units. This ensures that the default soft-maximum of emission_luminance of 1000 nits corresponds to the former behavior of Standard Surface at emission 1. (ARNOLD-15364)
  • Faster startup times on GPU: We have made several optimizations to improve startup and scene update time on GPU. These improvements will be most noticeable on scenes with many objects. Startup times on Windows are also now on par with startup times on Linux. On a scene with 1 million instances, we see the following improvements when compared to the previous release. (ARNOLD-15271, ARNOLD-15279, ARNOLD-15310)
    7.3.3.1 7.3.4.0 Improvement
    GPU update time (Windows) 204s 17s 12x
    GPU update time (Linux) 37s 18s 2x
  • Faster texture opacity lookups in OSL shaders: OSL shaders used in opacity inputs (for example OpenPBR Surface's geometry opacity) now read opacity mask textures faster and with smaller memory footprint. (ARNOLD-15340)
  • Improved node and parameter introspection with kick
    • kick -info <node> now groups node parameters by their UI Group metadata, or by whether the parameters are Input or Output. (ARNOLD-14198)

      For example, here's the first few UI groups of openpbr_surface:

      $ kick -info openpbr_surface
      node:             openpbr_surface
      type:             shader
      implicit output:  CLOSURE
      parameters:       65
      multioutputs:     0
      filename:         <built-in>
      version:          7.3.4.0
      
      Type          Name                      Unlinkable  Default        Bounds
      ------------  ------------------------------------  -------------  ---------
      Base
       FLOAT        base_weight                           1              [0, 1]
       RGB          base_color                            0.8, 0.8, 0.8
       FLOAT        base_diffuse_roughness                0              [0, 1]
       FLOAT        base_metalness                        0              [0, 1]
      Specular
       FLOAT        specular_weight                       1              [0, +inf]
       RGB          specular_color                        1, 1, 1
       FLOAT        specular_roughness                    0.3            [0, 1]
       FLOAT        specular_ior                          1.5
       FLOAT        specular_roughness_anisotropy         0              [0, 1]
      Transmission
       FLOAT        transmission_weight                   0              [0, 1]
       RGB          transmission_color                    1, 1, 1
       FLOAT        transmission_depth                    0              [0, +inf]
       RGB          transmission_scatter                  0, 0, 0
       FLOAT        transmission_scatter_anisotropy       0              [-1, 1]
       FLOAT        transmission_dispersion_abbe_number   20             [0, +inf]
       FLOAT        transmission_dispersion_scale         0              [0, 1]
       BOOL         transmission_transmit_aovs         *  false
       INT          dielectric_priority                *  0    
    • kick -info <node>.parameter now includes all available metadata for the parameter, including linkability, bounds, help, as well as the type, name, and default value. (ARNOLD-15306)
      $ kick -info openpbr_surface.fuzz_weight
      node: openpbr_surface
      param: fuzz_weight
      type: FLOAT
      default: 0
      metadata:
       help: The presence weight of a fuzz layer that can be used to approximate microfibers, for fabrics such as velvet and satin as well as dust grains.
       max: 1
       min: 0
  • Handle update for OSL shader changes: Information about shaders linked to an OSL shader is stored when using interactive render mode, so that any change in those shaders will cause the OSL shader to be automatically updated. (ARNOLD-14983)
  • Duplicate node name warnings: Warnings are emitted when adding a node with a name that already exists or renaming an existing node to an empty string. (ARNOLD-12596)

Bug Fixes

  • MTOA-1937 - Fix crash when reopening Arnold Render View
  • MTOA-2069 - Use Snapshots Folder Onsetting not preserved when you reopen the Arnold RenderView
  • MTOA-2090 - OpenPBR: Emission Luminance not correctly represented in Viewport

Was this information helpful?