Arnold for Cinema 4D Forum
Rendering with Arnold in CINEMA 4D using the C4DtoA plug-in.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Better implementations for light blocker filter?

Message 1 of 2
289 Views, 1 Reply

Better implementations for light blocker filter?

I've been using the light blocker filter recently for various purposes and found that it can be fairly limited in usability due to some things. I'll just compose a list of easily solvable problems that can cause unnecessary difficulty. I figured it would help to share this information.

Here's a screenshot to show you what I'm working on:


1. The default logic obviously is that the light blocker stops light from hitting a defined area using light blocker geometry. If you want to do the opposite and invert where the light hits such that light only lands in the area where the light blocker geo is, then the Density parameter needs to be set to -1. This isn't very intuitive as it is not particularly apparent if you're trying to figure out how to do this. I spent a decent amount of time trying to discover this. An 'Invert density' check box or something similarly named would clear this right up.

2. The default geometry (box, sphere, plane, cylinder) you are limited to for controlling the light blocker is very limited and you cannot apply your own custom geometry to the light blocker node 'Geometry' parameter. This is an issue since the default "geometry" cannot be easily scaled - selecting the blocker geometry object created by the 'Use geometry' param shows that there are no size parameters in the 'Main' tab to allow for easy scaling. The workaround is to scale via the coordinates tab but this is difficult when you need precise decimal values. I was lucky in my project in that the light blocker default cube geometry is 100cm cubed and the size I needed it to be was 1500cm in Z, so I set its Z co-or to 15. Also since the default light blocker geo also does not have size params then I'm guessing that's the reason why there's also no handy orange dots for dragging out the scaling. I'm referring to the orange dot handles that you'd find on primitive geo like the default cube. I also tried using the Geometry matrix params but those are about on the same level of usability as the coordinate scaling. Not the greatest intuitiveness for an artist.

Just a little add on to this - what I find a little comical is that enabling 'Use geometry' actually gives you a grand total of less functionality since it provides you with the geometry object that has the exact same parameters as the light blocker shader but less of them. I might be mistaken on this though?

3. Regarding getting the geometrical shape you want in order to block light in general, I imagine that you could just as easily get some custom geometry, apply an Anold tag to it, and disable 'Camera (primary)' so that it's invisible to the camera but still blocks the light. Unfortunately this can't be used as a fix to block light WHILE you want the light blocking to be inverted, like I described above in the first list point.

I hope all of this information is correct and isn't all easily dismiss-able if I missed something obscure in the documentation otherwise I just wasted 30 minutes typing this up. Besides that, I hope this helps bring light to improvements needed in this part of Arnold lol.

Also side note: As you can see in the screenshot the fake caustics caused by my gobo texture are fading off at the edges of the river object. This is because the spot light's diameter is right at the edges of the river and there's that physical light falloff. How do I remove that falloff so that it's a nice constant amount of fake caustics throughout the entire river. I don't have any falloff params turned up in the spot light. I tried setting its cone angle to 179.9 and increasing the gobo scaling but I still get a noticable falloff in gobo texture projection strength on the ends of the river. I'd like this fix so that I can get a cloner to repeat the texturing seamlessly. Any ideas? Thanks!

UPDATE: I've figured out how to tile spotlights with gobo perfectly. You have to clone spot lights and position them so that the cone angle edges meet exactly together at a point using the orange dot handles. Zoom in to max viewport zoom in orthographic to drag them so that they meet perfectly. Then turn town the spot light Roundness to zero. The texture/noise will now tile pefectly on a flat plane. Any height deviations will be apparent though since its a spot light and you can't orthographically project light like the quad like while using gobo. Also cloning the light blocker didn't work so I just had one really long one for the entire scene.

Tags (1)
Labels (1)
Message 2 of 2

Indeed the light blocker workflow is not really intuitive at the moment, thanks for your feedback.

> An 'Invert density' check box or something similarly named would clear this right up.

Good point.

> you cannot apply your own custom geometry to the light blocker node

That's a limitation in the core we have to overcome.

> there are no size parameters in the 'Main' tab to allow for easy scaling

I'm going to fix this.

> 'Use geometry' actually gives you a grand total of less functionality

It's the same functionality, Shader and Geometry matrix params are missing from the UI because in this mode shaders (Arnold Material) have to be assigned to the object and the matrix is coming from the object.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report