Page 1 of 1

Lights by layer set

Posted: Wed Jul 08, 2020 7:27 pm
by tangiblevisual
Hi Grant, I hope you're well.

So I've got a typical archvis job with 10 scenes and some of these are night shots.

The night shots have approx 1000 lights for the interiors of buildings, they are not instances as I want to put random variation into colour and intensity.

When I use capture sets I notice a real lag between switching layer when I add these lights, I'm at a relatively early stage in the project still and I'm flipping rapidly between scenes so this is not ideal.

So I thought perhaps I can set the Vray renderer to "don't render hidden lights" and I can flip the layer visibility on and off, That way I am only turn on and off 1 layer rather than updating the property of 1000 lights.

Is there a way I can do this in the UI? it would be very helpful if I could.

Cheers, Dan

Re: Lights by layer set

Posted: Thu Jul 09, 2020 5:35 pm
by JClarke
If I'm understanding your situation correctly, this should work just fine with normal layer sets or object visibility sets, the only gotcha being you'll need to remember to disable the 'Ignore lights' checkbox at the top of the RPM dialog.

Re: Lights by layer set

Posted: Mon Jul 13, 2020 12:59 pm
by tangiblevisual
Thank you! I'd overlooked that.

Re: Lights by layer set

Posted: Wed Jul 15, 2020 4:06 pm
by tangiblevisual
Hmm

I've just come to trying the method mentioned above, and although after unticking "ignore: Lights" the LayerSets now hide the lights when moving from the night to the day scene but unfortunately they don't show them again when selecting the night scene pass again... I'm confused.


So for now I've found some script that I am using to perform the functionality I want. Add this to the Before/after Pass Scripts

Before:
for a=0 to layerManager.count-1 do (
layer = layerManager.getLayer a
if matchPattern layer.name pattern:"VIEW01LIGHTS" do layer.isHidden = true
)

After:
for a=0 to layerManager.count-1 do (
layer = layerManager.getLayer a
if matchPattern layer.name pattern:"VIEW01LIGHTS" do layer.isHidden = false
)