I’m not sure if this is a bug, expected behavior or I am just doing something wrong (well it’s unusual at least)....
I regularly use lights as image projectors to simulate real video projectors. I have a current project that requires the light’s texture to be a Camera Shader.
But I as my post title says, objects in the Shader’s camera view do not render their textures in the Camera Shader. Note, this is specific to applying a Camera Shader to a Light only.
Strangely, Background Object textures and Sky Textures do render in the Camera Shader.
I have tested different mapping options on the object textures and also different kind of materials; straight color, procedural materials and image textures to see if there is a specific issue, but it made no difference.
I get this behavior in R19.053 and R20.057 (OSX versions).
I have attached a simple scene file demonstrating the issue. If you toggle the Background and Sky you will see both will render in the Camera Shader on the Light.
Sorry if that was not clear. I ask since a while to not share the files with 3rd party items. Either those 3rd party items are objects that shouldn’t be shared publicly, or they give me an Alert that I do not have this specific item. If I don’t have it, I can’t say if it was perhaps the cause of the problem.
To my knowledge, to answer the question, if there is even a 3rd party Camera Shader, not that I’m aware of at all.
A scene file shows me, more often than not, what the idea is, or how it was set up to get somewhere. This will allow me to do it perhaps my way and share it back, which either helps directly to move on or to specify what was wanted. I can’t see what people see on their mind, hence the request to get a simplified file. To simplify a scene is also my suggestion to elaborate directly around a problem.
Since you haven’t share anything that I can explore here, let me ask you: Why not using Camera Mapping or Spherical Projection.
Please have a look here:
If nothing else helps, the Camera that is used in your scene needs then to be rendered out as an image sequence (some prefer QuickTime). This is then later used in the Transparency Channel with a Light-object set to Shadow, I guess the way you use it typically.
Strange that you got warnings opening the file, there is only C4D native assets: a Plane with basic color material, a Cube with C4D Marble Shader, a light and two cameras. I double checked the render settings for third party renderer settings etc as well.
You haven’t attached any file so far. Please check your initial post. If you need an upload link, let me know.
Files should be in zip format to work, well, sometimes that fails…
All I wrote so far was about previous files here in the forum; Nothing at all about your file.
I have also no answer to any of my question: No idea how I can help you. Why is the Light Shader combination the only option.
Ah, I didn’t zip the file originally…zipped copy of example file attached to this post.
As I mentioned before, I am visualizing video projector installations in which I need to simulate real world projector set ups, including light paths, lens FOV, position, coverage and shadows etc.
As you mentioned, I usually use images or video as the texture source, but I am doing some experimentation where I was hoping to be able to test CG content production techniques (perspective illusions etc) without having to pre-render out every iteration. Perhaps I will just need to separate these content tests from my usual projector simulation workflow.
I was just looking for advice if my result is correct behavior (which you confirmed) or perhaps a bug.
Yes, it has not the option to simulate a falloff (inverse square) nor test the light path. However, this might be useful to set up the scene, and when everything is as it should, the content can be rendered and projected as you like.
I assume you will use the renderings for light instead.
I tried using just using Camera Mapping of the texture, but the problem is that the texture is projected “through” the object so the texture appears on all parts of the object. Is there a way to make the texture appear only on the polygons visible to the camera that is mapping the texture?
Generally speaking about Camera Projection: How about a Polygon Selection and use this for the Texture Tag? Polygon selections will often be relatively rough, but if you can create an alpha channel for it, this gets very precise. Perhaps some parts show up in an unwanted way, those need a material to have them invisible, as in transparent. I tent to delete those, often after I made a copy as back up.
Well, there is a limitation that I would like to make you aware of. Even with a higher resolution, alpha information that gets more to the tangential projection than perpendicular will show some problems.
It is not a big problem, as one can set up a second camera for that as projection. Yes, it is more complicated, but once you get the hang of it, it is more an effort than a headache.
Please let me know if that will work for you, if not I could create an upload link for any private scene file, but I welcome a public discussion of course. So more people can use the content of the discussion. A more detailed examination was done for several series of mine, for the movie Jet, or later on for smaller projects with the link below (Photography for 3D Artists).