4.7.1 - Arnold for Cinema 4D
27 March 2024
C4DtoA 4.7.1 uses Arnold 7.3.1.0 and is a major feature release bringing improvements to the Arnold Scatter object and a number of bug fixes.
Installation
Download Arnold for Cinema 4D from your Autodesk Account. See Download Arnold for more information about downloading C4DtoA from your Autodesk Account.
Follow these installation instructions.
Cinema 4D Compatibility
- R25.010 and above
- S26.013 and above
- 2023.0.0 and above
- 2024.0.0 and above
Enhancements
- Spline surface in Arnold Scatter: You can now scatter instances over a Spline surface with the Arnold Scatter object. Deformed splines are not supported. (C4DTOA-2178)
Lily & flower objects scatterd over a Flower spline object
- Multiple surfaces in Arnold Scatter: The Arnold Scatter object now distributes instances over all polymesh and spline surfaces within the specified object tree. You can use a Null object to group your objects or you can use an object generator such as a Cloner. (C4DTOA-3154)
Lily & flower objects scatterd over multiple Disc and Spline objects distributed by a Cloner
- Push apart based on shape bounds in Arnold Scatter: New push apart mode is added to Arnold Scatter that does not allow instance bounds to collide when distributing instances on a surface. (C4DTOA-3014)
![]() |
![]() |
Lilies scattered over a plane surface, push apart turned off. | Lilies scattered over a plane surface, push apart turned on. |
Arnold Scatter viewport display: You can now select the color of instances displayed in the viewport, whether it is the final color, the Display Color of source shapes or the Display Color of the Arnold Scatter object. (C4DTOA-3185)
Enable denoising in new scenes: When selecting Arnold as the active renderer, an Intel® Open Image Denoiser imager (OIDN) is now automatically created and added to the scene, thus you render with denoising enabled. Automatic denoising can be turned off from the Preferences. (C4DTOA-3151)
![]() |
![]() |
without denoising | with imager_denoiser_oidn |
![]() |
Automatic denoising can be turned off from the Preferences |
- Arnold Procedural displays curves in the viewport: Curves in an ASS/USD/Alembic procedural are now displayed in the viewport when the Display Mode is set to Wireframe or Shaded. (C4DTOA-3141)
![]() |
Curves in viewport |
Arnold Sky visibility: A new checkbox allows you to easily turn the visibility of the Arnold Sky to camera rays on and off. (C4DTOA-3182)
Update Intel Open Image Denoise (OIDN) to version 2.2.2: The updated denoiser has 10% better performance on CPU, includes some critical bug fixes, and handles high-frequency details better. (ARNOLD-14772)
OptiX denoiser runs on progressive negative AA passes: The OptiX denoiser imager now denoises the low-resolution progressive passes (renders with AA < 0). This should result in higher quality feedback in IPR. (ARNOLD-11487)
![]() |
Left side shows the previous behavior where denoising was only applied to the AA > 0 passes. Right side is new behavior where all progressive passes are denoised. |
MaterialX node definitions: The MaterialX node definitions for Arnold shaders now use the standard surfaceshader and volumeshader types, which make them easier to use in DCCs and mix with standard library shaders. The UI for Arnold MaterialX shaders is also improved with the addition of parameter groups and node categories. (ARNOLD-14717, ARNOLD-14736, ARNOLD-14716)
OCIO environment variable priority: The OCIO environment variable now takes priority over the configuration file set in the Arnold OCIO color manager as well as the builtin OCIO configuration file. A new
ignore_environment_variable
parameter on the OCIO color manager causes Arnold to ignore the value of the environment variable and restores the previous behavior. The OCIO environment variable is also now taken into account by maketx. (ARNOLD-9012)Progressive dithered sampling: Arnold now supports dithered samples in progressive and adaptive rendering. Dithering brings nicer noise distributions at low AA sample counts. (ARNOLD-10739)
![]() |
![]() |
before 7.3.0.0, AA=1 | 7.3.0.0, AA=1 |
Improved MaterialX support: Arnold can now render MaterialX node graphs mixing Arnold nodes with MaterialX standard library nodes. DCCs loading the Arnold node definitions benefit from the newly added UI metadata and provide a better user experience. Arnold also now uses MaterialX 1.38.8, this update brings new nodes in the MaterialX standard library, for a full list of changes please see the full release notes. (ARNOLD-14286, ARNOLD-14623, ARNOLD-14513)
Emission and per-light-group AOVs: Per-light-group indirect AOVs no longer include emission. Emissive surfaces now only appear in the "default" light group output. When using emission in shaders, the sum of the light group AOVs will now add up to the beauty pass. (ARNOLD-9453)
Evaluate autobump in SSS on GPU: Autobump will now be evaluated in the SSS computation with the GPU renderer when the
sss_use_autobump
option is enabled, this matches the behavior when rendering on CPU. (ARNOLD-8494)Device selection in the Intel Denoiser: It is now possible to toggle between Auto/CPU/GPU for OIDN denoiser imager. Arnold now also provides accurate timing information for the denoiser in the log. (ARNOLD-14524, ARNOLD-14526)
Batch renders now abort on license fail: Arnold now aborts if there is a license error in a batch render. The option
abort_on_license_fail
is nowtrue
by default, and applies to batch renders only. This means you don't have to check rendered image sequences for watermarks. Interactive renders do not abort, and have a watermark on license fail as usual. The environment variableARNOLD_FORCE_ABORT_ON_LICENSE_FAIL
overrides this default behavior (0 = batch and interactive render with watermarks on license fail, 1 = batch and interactive abort on license fail). (ARNOLD-13024)Add license checkout time to render statistics: The render statistics now include the "license checkout time", which is the time in microseconds spent on license checkout for a specific render. This is useful to users to diagnose long checkout times when rendering in batch. (ARNOLD-13497)
New network server configuration modes in the License Manager: You can now choose a license file or specify a three server redundancy setup on the network server configuration tab in the License Manager. (ARNOLD-14586, ARNOLD-14615)
Upgrade to OpenColorIO 2.3.2: OpenColorIO library has been upgraded to use version 2.3.2. For the list of changes see the release notes for 2.3, 2.3.1, and 2.3.2. (ARNOLD-14026)
Updated Alembic to 1.8.5: The Alembic procedural has been upgraded to use version 1.8.5 of the Alembic library. (ARNOLD-14448)
Autodesk Analytics Program: A newer version of the Autodesk Analytics Program (ADP) has been integrated into Arnold. This brings stability improvements. (ARNOLD-13805)
USD Enhancements
- Light linking on custom procedurals: You can now use light linking on custom procedurals such as Yeti in the render delegate. (usd#1730)
- Improved tooltips: The tooltips in DCCs for Arnold nodes in USD is much improved. usd#1835
- Imager node support: USD support for the new Arnold
AI_NODE_IMAGER
node type. usd#1870 - Export ArnoldOptions as UsdRenderSettings - The Arnold USD exporter covnerts the Arnold options node to UsdRenderSettings, UsdRenderProduct, and UsdRenderVar nodes. usd#1852, usd#1865
- Velocities motion blur for points - Points with a velocities attribute now render with motion blur. usd#1868
- Better default for transmission ray depth - Set the default transmission depth to 8, so that the default settings work better with glass, and to match default in other Arnold plugins like C4DtoA. usd#1889
- Update to USD 23.11: The USD version was updated from 22.11 to 23.11 in the procedural. The USD Arnold procedural embeds a static version of USD 23.11, see USD 23.11 Changelog for all the changes related to this new version of USD.
- Light instances: You can now instance lights with a Point Instancer. (usd#1705)
- Visibility and Mattes on instances in Hydra: In the Hydra Render Delegate, the Arnold visibility and matte attributes now work on instances. (usd#1635)
API changes
- Imager plugin API: A public API is now available for imagers. This adds support for custom and third-party imagers in Arnold. (ARNOLD-10322)
The API is built upon a new AI_NODE_IMAGER
node type and is implemented via two main API.
imager_evaluate
allows you to modify output pixels of a render.
#define imager_evaluate
static void ImagerEvaluate(AtRenderSession* render_session, AtNode* node, struct AtOutputIterator* iterator, int bucket_xo, int bucket_yo, int bucket_size_x, int bucket_size_y, uint16_t tid)
imager_prepare
is an optional API allows you to query the outputs an imager will recieve and prepare any evaluation specific data.
#define imager_prepare
static void ImagerPrepare(AtRenderSession* render_session, AtNode* node, const AtNode* driver, struct AtOutputIterator* iterator, AtImagerSchedule& schedule);
Additionally, there are a couple of helper APIs for the imager_prepare
method. These API let you request additional inputs to be rendered for imager evaluation, and to add additional output layers that the user may want to write to the driver.
AI_API bool AiImagerAddInput(AtRenderSession* render_session, const AtNode* imager, const AtNode* driver, int aov_type, AtString aov_name, AtNode* filter);
AI_API bool AiImagerAddOutput(AtRenderSession* render_session, const AtNode* imager, const AtNode* driver, int output_type, AtString output_name);
Improved builtin metadata: Node and node parameter definitions have been further augmented with metadata that could be useful across DCCs. The metadata that have been added or improved are the following: help, category, ui.groups. Some of these metadata were previously distributed as separate mtd files in each DCC. (ARNOLD-14677, ARNOLD-14678, ARNOLD-14702, ARNOLD-14661)
Builtin metadata: Nodes and their parameter definitions have been augmented with more metadata that could be useful across DCCs. The metadata that has been included are the following: animateable, default, help, gpu_support, hide, linkable, max/min, softmax/softmin and units. Some of these metadata were previously distributed as separate mtd files in each DCC. (ARNOLD-10265)
Remove _private functions from BSDF API: The functions
AiMicrofacetBSDF_private
andAiMicrofacetRefractionBSDF_private
(included to support dielectric priority) have now been removed from the BSDF API. The functionsAiMicrofacetBSDF
andAiMicrofacetRefractionBSDF
now takedielectric_priority
as an optional argument. (ARNOLD-14166)Expose conductor Fresnel mode as an enum in AiMetalBSDF:
AiMetalBSDF
has been modified to accept anAtMetalFresnelMode
enum argument, selecting between the original "Gulbrandsen" conductor Fresnel model and the new "F82-tint" model. (ARNOLD-14165)Expose random walk version in the closure API:
AiClosureRandomWalkV2BSSRDF
has been removed, and instead the existingAiClosureRandomWalkBSSRDF
has been modified to accept anAtRandomWalkVersion
enum argument, selecting between the original v1 and v2 SSS modes. (ARNOLD-14164)Expose thin walled transmission in the public BSDF API:
AiMicrofacetBSDF
has been modified to accept an optionalthin_walled_transmission
argument, which specifies the fraction of the BSDF considered to represent a thin-walled dielectric. This is used to implement thin-walled transmission in Standard Surfaces. This was previously implemented in a way that circumvented the API, which has been fixed to be more explicit with this change. (ARNOLD-14167)Provide azimuthal roughness to AidEonBSDF:
AidEonBSDF
has been modified to accept aroughness_azimuthal
argument, specifying the specular roughness for azimuthal scattering specifically. This is in addition to the existing roughness argument specifying the specular roughness for longitudinal scattering. (ARNOLD-8325)Removed AiADPSetIntroShown() and AiADPDialogStrings(): These deprecated functions were removed from the Arnold API. (ARNOLD-13805)
Change AiUniverseCacheFlush API to receive a non-const universe: The AtUniverse passed into
AiUniverseCacheFlush()
was changed fromconst
to non-const. (ARNOLD-14548)Remove deprecated AiGPUCachePopulate functions: Deprecated functions
AiGPUCachePopulate()
,AiGPUCachePopulateStatus()
,AiGPUCachePopulateRemainingSeconds()
, andAiGPUCachePopulateTerminate()
have been removed. (ARNOLD-14570)Remove deprecated AiRenderSetCallback function: Deprecated function
AiRenderSetCallback()
has been removed. (ARNOLD-12583)
Bug Fixes
- C4DTOA-3145 - Spot light cosine power should not be limited to 1
- C4DTOA-3150 - Crash in animated Arnold Scatter if motion blur is enabled
- C4DTOA-3163 - Flush Caches always says there is a render in progress
- C4DTOA-3164 - Crash in Arnold Scatter with Cone surface in polygon center mode
- C4DTOA-3179 - Can not keyframe Effector strength parameter in Arnold Scatter
- ARNOLD-6309 - System locale should not affect .ass reading or writing
- ARNOLD-14246 - [MaterialX] Promoted attributes and nodegraph interfaces are ignored
- ARNOLD-14601 - [MaterialX] Missing enum values in node definitions
- ARNOLD-14612 - [MaterialX] Ignored color space on standard library image nodes
- ARNOLD-14646 - [MaterialX] Crash when using the distance node in USD
- ARNOLD-14561 - [MaterialX] Crash when mixing Arnold and standard library shaders
- ARNOLD-14287 - Rare crash when compiling OSL with LLVM during IPR
- ARNOLD-14634 - Error when denoising unsupported pixel type AOVs in OIDN and OptiX
- usd#1547 - Fix mesh lights shutoff when there is a light link in the scene.
- usd#1859 - Support PointInstancer invisibleIDs for lights
- usd#1881 - Support UDIM and relative paths on mtlx image shaders
- usd#1884 - Set a proper name to skydome image node in Hydra
- usd#1890 - Reduce VtArray memory consumption, specially in the instancer.
- usd#1874 - Shader output attributes should be outputs:out to match the Sdr registry
- usd#1878 - Make Arnold relative path optional for image shaders
- usd#1873 - Ensure materials are written under a scope primitive
- usd#1758 - Fix several crashes by returning a default value when an attribute type is not recognized.
- usd#1756 - Registry should declare filenames as assets in GetTypeAsSdfType.
- usd#1770 - Fix exr driver always rendering float with husk when productType is arnold.
- usd#1772 - RectLight texture uvs are now consistent between husk, kick and other renderer.
- usd#1776 - Fix incorrect PointInstancer instance orientations in the render delegate.
- usd#1769 - Fix curve uvs when they are vertex interpolated.
- usd#1784 - The aov layer name is now correctly taken into account when rendering exrs with husk and using the arnold productType.
Incompatible Changes
Text overlay: Text overlay settings are removed from the Arnold render settings and converted to an overlay imager. Overlay settings of IPR snapshots are also removed, they now have to be defined also via an overlay imager. (C4DTOA-3032)
Arnold Scatter push apart: Push apart algorithm in Arnold Scatter has been changed and it is now executed after calculating transformation and executing Effectors. That means old scenes which has Push Apart enabled will now look different. (C4DTOA-3174)
Layer shader default values: Layers in
layer_float
andlayer_shader
shaders are now disabled by default to be consistent with thelayer_rgba
shader. Old scenes are not affected, however saving a scene with C4DtoA 4.7.1 and loading in a previous version might break the look. (C4DTOA-3167)OCIO environment variable priority: The OCIO environment variable now takes priority over the file set in the Arnold OCIO color manager. Setting
color_manager_ocio.ignore_environment_variable
totrue
restores the previous behavior.This version breaks binary compatibility: Shaders, procedurals, and other plugins compiled against older versions of Arnold are not compatible with this version of Arnold and need to be updated and recompiled.
Autodesk Network Licensing version: Arnold 7.3 switches to
ARNOL_2025
licensing. (ARNOLD-14292)- Single-user subscriptions will work with Arnold 7.3. The plugin installers automatically register the new version. If you do not use a plugin, then after you download Arnold, open the Arnold License Manager and click Register.
- Existing network licenses will not work with Arnold 7.3. Log on to your Autodesk account to generate your new
ARNOL_2025
licenses. - If you do not run the installers, and you manually register Arnold, then use
--pk C0PQ1 --pv 2025.0.0.F
with theAdskLicensingInstHelper
command.
abort_on_license_fail defaults to true: Arnold now aborts by default if there is a license error in batch renders. You can revert to the previous behavior by setting the
abort_on_license_fail
tofalse
, or by using the newARNOLD_FORCE_ABORT_ON_LICENSE_FAIL
environment variable. (ARNOLD-10455, ARNOLD-13024)Emission and per-light-group AOVs: Per-light-group indirect AOVs no longer include emission. (ARNOLD-9453)
System Requirements
- Windows 10 or later, with the Visual Studio 2019 redistributable.
- Linux with at least glibc 2.17 and libstdc++ 4.8.5 (gcc 4.8.5). This is equivalent to RHEL/CentOS 7.
- macOS 10.13 or later.
- x86-64 CPUs need to support the SSE4.1 instruction set. Apple Mac models with M series chips are natively supported.
- GPU rendering works on Windows and Linux only and requires an NVIDIA GPU with the Maxwell architecture or later.
- On Linux, we recommend 535.104 or higher drivers.
- On Windows, we recommend 537.13 or higher drivers.
- OptiX™ denoiser requires an NVIDIA GPU with CUDA™ Compute Capability 5.0 and above.