Showing posts with label encode. Show all posts
Showing posts with label encode. Show all posts

Tuesday, 27 October 2026

Solaris instance lights and attribute variation

In Solaris we can instance lights onto points.
Make sure your points have  N & Up attributes, like you would with any instanced geo.

The more interesting stuff will be the intensity, exposure, "color" etc.

I know there's a post about this on Matt Estela's CGwiki, but I *think* it applies to an older version of Houdini/Solaris & the instancing method they use there is different - "reference" instead of point instancing. Never sure which is actually better or more efficient!

But how do we access them?? Here's a list of the stuff we can access (taken from the SideFX website)

Primvars

In Solaris/USD, you have access to several light-specific primvars. You can use attributes on the scatter points to drive these primvars. Here’s a list of the available primvars:

  • intensity (intensity)

  • exposure (exposure)

  • width (width)

  • height (height)

  • color (color)

  • radius (radius)

  • color temperature (colorTemperature)

  • diffuse multiplier (diffuse)

  • specular multiplier (specular)

Note that width, height and radius are only available with area lights, while the remaining primvars are available for any kind of light source.


SideFX recommends using Attribute Adjust sops to access these attribs. They're a bit neater and user friendly than wrangles I suppose!

Below is how you use it... plug your points into the Attrib Adjust and type this into the name:

`encode("light:color")`

Don't forget the back ticks - ` `


The same applies to Attribute adjust float, for something like Intensity.. `encode("light:intensity")`


Also.. if you want to do stuff to these attributes in a wrangle (after they've been created), they get given a funky name, but these can be accessed normally

For instance (lol), here i'm multiplying the intensity of the lights with the speed at which they move at in a wrangle.

I'm not sure if the assigned name is the same each time so do check...