Making a virtual projector
I would like to make a virtual projector in DAZ Studio. I believe that it can be done, but so far I did not succeed to do it.
Basically, I want to make an object which will project a given transparency on a model. I started with a scene containing three objects: a point light source, a transparency and a screen. The point light source.. well, you all know what it is. As the transparency I used a plane primitive with a certain picture as its diffusive map. The screen was another, larger plane primitive with white diffusive surface.
I positioned the three objects from left to right in the following order: point light source, transparency, and screen. I hoped that I will be able to find such parameters values that will cause a projected image of the transparency to appear on the screen. But this did not happen. All I was able to see was only a rectangular shadow cast by the transparency.
Any suggestions?
Comments
Make a copy of the image you want to project and invert it, then apply that to the Opacity parameter for a plane primitive. The opacity will block the colours of the map (which is why white blocks everything and black blocks nothing) so to let, say, green through you need a magenta opacity map (blocks the red and the blue).
That works well, but has limited amount of control over the way the image is projected.
A better way would be to build a GelLight in ShaderMixer...a lot finer control and some other features, too.
Here's a tutorial on how to do it...yes, it's for an older version and yes it's a Google translation. But the important part is down near the end, the image of the brick network.
http://translate.google.com/translate?hl=en&prev=search&sl=ja&u=http://ohchancgworkshop.coolblog.jp/2013/12/05/shader-mixer%E3%81%A7gel-light%E3%82%92%E4%BD%9C%E3%82%8D%E3%81%86daz-studio-4-6/&sandbox=0&usg=ALkJrhh3YnxNngPqQ9ovrP8IBR4Axw5kSg
Of course, opacity map! Thank you, Richard.
Wow, wow, wow! This is truly incredible stuff. Thank you, mjc, I will study it.
Richard, your method works OK, and thank you again, but may be you can help me a little further.
I would like to make the transparency invisible in the render, yet to have its "shadow", or, rather, its projection cast on the scene. This is because I want to have total freedom in positioning my camera, in particular I want to use such positions in which the transparency enters the field of view. I tried the visibility toggles ("visible" and "visible in render") but this did not yield the desired result. Is it possible to achieve what I want?
I guess that by making Gel Light as mjc suggested it can be achieved, but I am ashamed to admit that I still did not master the shader mixer techniques. So I would like first to exploit your suggestion.
Drop me a PM...
I would use Shader Mixer with a ray text brick to give the object different opacities for shadows (use the map) and cameras (0 opacity), so it would be Shader Mixer anyway. I'm not sure off-hand if it could be done using the Phantom/RayTrace options in uberSurface but I'd think not.