C4DtoA introduces some custom UI widgets (e.g. arrays, the file path of the Arnold drivers, etc.) to specify compound data. These custom widgets have no python interface and so reading and modifying the value requires some custom code: each component of a custom widget can be accessed as a different description level within the id (started from 1).
The file path field of an Arnold driver consists of a type list and a string path. The following code shows how to get and set these components.
The available types are the following:
- 0: custom
- 1: custom (name from render settings)
- 2: from render settings (regular)
- 3: from render settings (multipass)
For the available parameter ids check the respective resource files (e.g. res/description/ainode_driver_exr.h).
An array widget defines a list of items. It specifies the number of items and the actual values. For example, the Trace set of a polymesh is a string array. The following code shows how to get and set these components.
Some shaders (e.g. add, multiply, mix, etc.) have a special widget which can display the value as a color or as a vector. The following code shows how to get and set these components.
The available types are:
- 1: color
- 2: vector
The color space of the image shader and Arnold drivers is a string parameter with a custom UI. It can be set like any other normal string parameters.