29 August 2024
C4DtoA 4.7.6 uses Arnold 7.3.4.0 and is a minor feature release bringing OpenPBR surface improvements, optimizations, and bug fixes.
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.
SSS color matching: The SSS model has been tuned to ensure that the color of dense SSS more closely matches the supplied subsurface_color, as required by the OpenPBR specification. (ARNOLD-15328)
The following images compare diffuse base color with the subsurface colors of Standard Surface and OpenPBR Surface:
base_colorsubsurface_colorsubsurface_colornits_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: 0Handle 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)