SItoA supports ICE instanced lights. To pass data to the lights, we rely on specific attributes' names. Any attribute whose name starts with "ArnoldLight" (case insensitive) is treated as a candidate for setting a given parameter on the instanced lights.

What follows "ArnoldLight" is used as the parameter name to be set. The parameter names used are not those of the light shader. The parameter names refer to the Arnold node used for that light.

For instance, all the light nodes in Arnold have parameters called "color" and "intensity".
So, you simply have to set two attributes called ArnoldLightColor and ArnoldLightIntensity, and they will be automatically pushed as the value of the corresponding parameters of the Arnold lights. There is no need to do anything in the light rendertree.

SItoA will also convert between different types. For instance, in ICE you can declare ArnoldLightColor as a scalar attribute, and SItoA will assign the same scalar value to the light color's R, G, B.

Note that, not being pulled by any rendertree node, you must force ICE to export the ArnoldLIght* attributes, for instance by displaying their values in the viewport, as showing below.
Another (better) method is to make the ICE attributes pass through a Log Value. This seems to work also when the the Log flag is disabled.




You can set light parameters of type point, vector, color, scalar, integer and boolean.

To get the full list of the parameters for a given light type, use "kick -info <node>". For instance, for a point light, kick -info point_light returns this:

Type          Name                              Default
------------  --------------------------------  -------------
POINT[]       position                          0, 0, 0
FLOAT         radius                            0
ENUM          decay_type                        quadratic
BOOL          affect_volumetrics                true
BOOL          cast_volumetric_shadows           true
NODE          volume_density                    (null)
MATRIX[]      matrix
RGB           color                             1, 1, 1
FLOAT         intensity                         1
FLOAT         exposure                          0
BOOL          cast_shadows                      true
FLOAT         shadow_density                    1
RGB           shadow_color                      0, 0, 0
INT           samples                           1


This tells you that, for instance, if you want to affect the shadow color, the correct attribute name to set in ICE will be ArnoldLightShadow_Color (again, case insensitive).




  • No labels