Projecting light texture on a SOP


I am trying to project a texture on a plane through a lightCOMP to simulate a video projector.
I managed to make something work but it seems to act strange : i have 2 planes at different distances and want to project on the nearest one. Seems to work but even if the light spot seems focused only on the front plane (smallest one), the texture still appears on the background plane.

Can’t figure out why…

See attached tox file.

TD 2022.29850 on macOS 12.5.1


light_projection.tox (101.6 KB)

That is correct, the light will cast on any object in the scene, and projection map from the light will be cast as well. If you want a specific geometry to not be affected by a light, use the Geo COMP’s ‘Light Mask’ parameter on the render page.

light_projection.2.toe (104.8 KB)

Hi and thank you for the answer.

Seems to work, but a little confusing and not intuitive to my brain !
I understand a light will affect every geo in the environment, like a diffuse light would, but how come a “controlled” and focused light beam from a spot can affect other object in the scene when they are out of the target ? Is this something usual or a limitation ?

Thanks a lot

So it seems quite complicated if not impossible to manage what i am trying to achieve.

In my project i have :

  • 1 front screen
  • 1 back screen
  • 1 wall. Screens are hung in front of the wall.
  • 1 projector

The projector beam should cover the 2 screens and project a composed media on both with the pattern mapped on the front screen only. Obviously there shouldn’t be light casting on the back wall. I expect the projector to cast the light on the 2 screens with the front screen casting a shadow on the back screen.

All objects should be lit by the ambiant light though.

Even using the light mask, i can’t figure out how to achieve this.
Note there are other projectors casting light on the back screen only on the final project.

light_projection_3.tox (3.1 MB)

To cast shadows you need to turn on shadows on the ‘Shadows’ page. You’ll also want to change your View back to the default ‘Perspective’, so you are rendering a shadowmap that is more closely matches your cone angle

Hi, thanks.

Yes i am aware about the shadowing feature. What i meant here is i expected the spotlight effect would reflect the reality : casting a texture over 2 overlapping surfaces should project a full image with each part projected on the specific surface. Seems to work usually like this in 3D software. Here it seems each surface receives a different image with different size… I don’t understand how it works and not sur it is possible to build what i need to.

Expected image attached

So the Light Mask option doesn’t seem the solution here…
I am trying to make the light to cast shadows so i can cover all objects with the spot light and have the front screen cast a shadow on the middle screen which cast a shadow on the back screen… but this doesn’t seem to work.
Here i only need the projection on the first two screens. I could use a light mask to prevent the back screen to cast image but i would prefer to project on the full objects surface and stretch the content to fit only the first 2 screens like i would in the real world or in a 3D modeling software like Blender.

Any help much appreciated.

Thanks a lot

light_projection_4.tox (3.1 MB)

Hey, can you also share the .fbx file you used for this?

oops yes forgot it !
here you are.
Thanks (4.1 KB)

Messed the project sample above.
Here is the test project with (hopefully) all assets.

Thanks (3.1 MB)

just enable the shadow type in hard 2d mapped mode in your spot light, so the system starts to cast shadows.

yeah it should, but it doesn’t seem to work…

Seems to work here for me in 31030.
Go into fbx1 and turn on hard shadows for ‘Spot’ light and it looks like this, each plane is blocking the plane behind it.

Are you expecting something else, or on your system it looks different?

Ok seems to work.
Light was somehow set to orthographic projection in my project…
Thanks a lot !

1 Like