5.6.1.0 - Arnold for 3ds Max
29 March 2023
MAXtoA 5.6.1.0 is a minor feature release using Arnold core 7.2.1.0. Full feature description can be seen in the release notes for MAXtoA 5.6.0.100.
Main new features are support for the new Distance shader, as well as bugfixes and updates.
Installation
- Download Arnold for 3ds Max.
- Follow these installation instructions.
Enhancements
Support for 3ds Max 2024: MAXtoA 5.6.1.0 adds support for 3ds Max 2024, and support for 3ds Max 2021 has been dropped.
Modified directory structure: For 3ds Max 2023 and 2024, kick.exe and other Arnold executable tools are now in a "bin" subdirectory, and Arnold plugins are now in a "plugins" directory, to align with other Arnold installations. For technical reasons, this is not supported in 3ds Max 2022, which still has all Arnold binaries in the root of the MAXtoA directory.
Updated version of USD: Updated the MaxUSD plugin to version 0.4
Changed default of 'Re-translate scene on Frame Change" to On: The option Re-translate scene on Frame Change has changed default to be on, which guarantees that during production rendering, the Arnold scene is translated consistently every frame. This is to ensure a consistent result for things like Cryptomatte ID's and similar. While a bug was fixed related to this, this option has been defaulted to on to ensure best consistency. While having the option off may gain some small performance in translation speed, it was felt that ensuring scene consistency was of higher importance, and the default was changed.
Ability to define Auto-TX Path: You can now set the path for the automatically generated tx files. If this points to a directory, all tx files are generated in a subdirectory structure under that. If this is left empty, the tx files are generated in the same directory as the original texture or, if the directory is not writable, in a subdirectory of the %TEMP%\TX directory. (MAXTOA-1562)
Improved translation of Bitmap shader: Translation of the max Bitmap has now been optimized to use the new transformation matrix in the Arnold UV Transform shader. Not only does this vastly simplify the shade tree, but also allows much more accurate texture filtering and can improve both quality and performance. (MAXTOA-1054)
Distance shader: A new distance shader that uses the distance to the nearest surface to interpolate between near and far color values. (ARNOLD-9361)
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Global light sampling: A new, more efficient sampling technique for lights is available. You can find it in the new Light Sampling group in the Arnold Renderer tab of the Render Setup dialog. When enabled, the light sample settings on individual lights are ignored and the overall, global contribution of all lights together is computed using the specified number of samples only. In this release, global light sampling does not apply to environment, directional lights, volumes, and GPU rendering. See the full documentation for more details. (ARNOLD-12860)
![]() |
![]() |
without Global Light Sampling: 2 mins, 41 secs | with Global Light Sampling: 44 secs |
![]() |
For equal-quality renders of this scene, the new light sampling technique becomes progressively faster than per-light sampling as more lights are used. |
Improved triangle intersector: Triangle intersection is now 20% faster and less likely to allow rays to incorrectly slip between triangles, which manifested as holes in a mesh. (ARNOLD-4136)
Faster loading of OpenVDB volumes in Windows: On Windows, OpenVDB volumes are faster to load, especially on certain many-core CPUs. On one 112-core machine we've seen 4.5x faster loads; other CPUs saw smaller speedups. (ARNOLD-12633)
Faster instancer initialization: The instancer procedural is now faster on single-socket CPUs. We've seen up to 1.6x faster node initialization on some machines. (ARNOLD-12963)
alembic.objectpath
changed to an array : The Alembic procedural parameterobjectpath
is now an ARRAY type, so multiple object paths can be given to a single Alembic procedural. (ARNOLD-12950)uv_transform
improvements : The uv_transform shader now has awset
parameter, which is the name of a float user data value. A new matrix attributeuvw_matrix
returns new coordinates based on the uvw values. If the new attributeuvcoords
is linked to a shader, the values returned by that shader override the uv coordinates, at the cost of efficiency because this prevents Arnold from using the correct filtering. (ARNOLD-13049, ARNOLD-13156)Motion blur with set_transform: The
set_transform
operator now has a matrix attribute, that can be animated. This allowsset_transform
to apply animations and get correct motion blur. (ARNOLD-13068)Update OSL : Open Shading Language (OSL) has been updated to version 1.12.9. (ARNOLD-11791)
Update Boost: The Boost library has been updated to 1.81.0. (ARNOLD-12271)
Update zlib: The zlib library has been updated to 1.2.13. (ARNOLD-13097)
Update Cryptomatte: Cryptomatte has been updated to 1.2.2. (ARNOLD-13101).
autotx metadata in tx files: TX files generated with AutoTX now have the metadata
autotx 1
added to the TX file. (ARNOLD-13025)New environment variable for external control of autotx: The new environment variable
ARNOLD_AUTO_GENERATE_TX
overrides the options parametertexture_auto_generate_tx
. This environment variable can be eithernever
orwhen_outdated
, which are equivalent to disabling or enabling the global autotx option. (ARNOLD-12875)
USD Enhancements
Update Arnold-USD: USD has been updated to 22.11 (ARNOLD-13075, ARNOLD-13099)
Support more MaterialX shaders in USD. The MaterialX Standard Library shaders for creating and manipulating BSDFs, VDFs, and EDFs, such as
layer
,mix
, andadd
, are now supported in USD as well as the following shaders :triplanarprojection
,switch
, andconstant
.Convert cube, sphere, cylinder, capsule primitives as meshes in the procedural. Geometric primitives are now converted to Hydra meshes instead of Arnold primitives. usd#1318 usd#1451
Support render delegate products for all Arnold drivers. When rendering using Hydra, the render delegate now uses the RenderProduct drivers. usd#1422
Arnold Render Products in Hydra: Setting the render product type to "arnold" (instead of the default "raster") will now render the scene with Arnold drivers. This means we support the driver parameters defined in the Arnold tab of the render products. usd#1423
Instanced skinned meshes: Skinned instances are now rendering in the correct transform and order. usd#1412
fStop and aperture_size: The procedural and render delegate now support both the fStop and the aperture_size parameters in the camera. usd#1421
Support combination of half and full precision AOVs in the procedural. The procedural can now render a combination of half- and full- precision aovs. usd#1416
Always read RenderVar aov:name as an output layer. The
RenderVar
parameter driver:parameters:aov:name is now used as the output aov layer name. usd#1408Support Render Product names: Render Product names are now used as the Arnold output layer names. In exr files, each layer name can now be customized. usd#1408
Support asset attributes for filenames when no tokens are present. "filename" Arnold attributes are now SdfAssetPaths in USD usd#1163
Filename attributes as Assets: In Arnold shaders (like the image shader), the filename is now an asset parameter. This allows Arnold to support relative paths in a more consistent way for USD. usd#1418
API Additions
Enable/disable crash handler for the session: The new function
AiSetSystemHandlers()
and the environment variableARNOLD_SYSTEM_HANDLER_MASK
have been added, allowing a user to mask Arnold built-in system handlers. The supported masks are listed inAtSystemHandlerMask
and currently allow all handlers to be either fully enabled or disabled. (ARNOLD-13014)Check if TX file is up to date: The new function
AiTextureTxFileNeedsUpdate()
returns true if the TX file needs to be regenerated from its source texture. This can happen if the source texture was modified or if Arnold was updated with a newer OpenImageIO library. (ARNOLD-12994)Get original texture name for TX file: The new function
AiTextureGetTxSourceFileName()
returns the name of the texture file used to generate a given TX file. (ARNOLD-13047)
Incompatible changes
Auto Generate TX and OpenImageIO versioning: Arnold now regenerates tx files only if the OIIO version in Arnold is newer. Using an older Arnold with an older OIIO does not force a regeneration of the tx files. (ARNOLD-12992)
Auto Generate TX on write-protected folder: When a TX file cannot be generated because the target folder is write protected, the TX file is generated in the system temp folder. (ARNOLD-13039)
Minimum driver requirement raised: The minimum supported NVIDIA driver versions are now 512.78 for Windows. (ARNOLD-13169)
Bug Fixes
MAXTOA-1554 - Fixed crashes with the Map Output Selector
MAXTOA-1538 - Fixed a bug where node names in the Arnold scene changed from frame to frame. This caused incorrect results when using Cryptomatte.
MAXTOA-1550 - A crash when closing and reopening ARV in certain situations was fixed
ARNOLD-12964 - Rare crash when threads are creating AtStrings at the same time
ARNOLD-13032 -
AiTextureAutoTxFlags
not resolving auto color spaceARNOLD-13115 - Use textures in
texture_auto_tx_path
even when autotx generation is disabledARNOLD-13197 - Log callbacks ignore maximum number of warnings
ARNOLD-13201 - Crashes when default universe is null
ARNOLD-13350 - Set AtNode LocalData pointer to null after node_finish is called
ARNOLD-12995 - [MaterialX] Support nodes from the MaterialX PBR library in USD
ARNOLD-13073 - [MaterialX]
AiMaterialxGetOslShaderCode
fails onND_switch_color3
ARNOLD-13074 - [MaterialX]
AiMaterialxGetOslShaderCode
fails onND_separate3_color3
ARNOLD-13107 - Mesh lights occasionally do not render
ARNOLD-13163 - [GPU] CPU memory leak when rendering multiple frames on the GPU
usd#1412 - Fix instance skinned mesh in incorrect position and order.
usd#1438 - Creating surface models from PBR nodes doesn't work
usd#1433 - Material binding not handling correctly the different scopes
usd#1447 - MaterialX Triplanar renders black
usd#1427 - Motion blur differences between procedural and delegate
usd#1442 - Velocity motion blur doesn't work if PointInstancer has more than one prototype
usd#1354 - Vertex mismatch with velocity blur and point normals in Hydra
usd#1420 - Unify
fStop
andaperture_size
usd#1430 - deepexr driver parameters like
depth_tolerance
are ignoredusd#1411 -
append
parameter (for checkpointing renders) is not translatedusd#1413 - Crash in UsdSkel in the procedural
usd#1352 - Skinned instances in wrong world position
usd#1394 - USD procedural renders characters in the wrong positions and order
usd#1443 - Incorrect number of motion keys with skinned primvar normals and motion blur
System Requirements
- Autodesk 3ds Max 2022, 2023, 2024
- Windows 10 or later, with the Visual Studio 2019 redistributable.
- CPUs need to support the SSE4.1 instruction set.
- GPU rendering requires an NVIDIA GPU of the Ada, Ampere, Turing, Volta, Pascal, or Maxwell architecture. We recommend using the 528.49, or higher, drivers. See Arnold GPU for more information.
- For GPU rendering, the cache also needs to be re-populated after installing a new Arnold version, updating to a new NVIDIA driver, or changing the hardware configuration of GPUs on the system. More information can be found here.
- Optix™ denoiser requires an NVidia GPU with CUDA™ Compute Capability 5.0 and above.