11
$\begingroup$

I would like to project photographs as decal textures from multiple cameras onto some simple geometry to build a photo projected environment. The UV Project modifier seems perfect for this, especially since it's a live projection (unlike UV Mapping -> Project From View) that can be changed interactively.

However, I found that the texture is projected forwards AND backwards onto the geometry (In other words: projected along both the positive and negative axis of the vector normal to the camera), even though I have "decal"ed the texture using the Mapping node with Min/Max turned on.

Is there a workaround for this?

enter image description here

$\endgroup$
6
  • $\begingroup$ What does forward and backward mean in this question? Two Sided? Repeated? Perhaps an image of the desired result (with hand erasing or big red X) and the failed image can be submitted. $\endgroup$ Commented May 14, 2015 at 16:50
  • $\begingroup$ notice the camera in the upper left pane of blender interface. the camera is projecting a checkerboard in the direction of its Yaxis in both directions. Y+ = forward. Y- = backward (behind camera). I would hope to only project the checkerboard in direction Y+. $\endgroup$
    – mkschmitty
    Commented May 14, 2015 at 18:43
  • $\begingroup$ Clarity Improved. How acceptable is the render? $\endgroup$ Commented May 14, 2015 at 20:12
  • $\begingroup$ If the render is acceptable, how burdensome is it to split the object into multiple objects? $\endgroup$ Commented May 14, 2015 at 20:13
  • $\begingroup$ I am not so sure uv project modifier is perfect for this. 1. For the lack of control as far as you have witnessed. (We can continue to try to control it more) 2. I have seen it most profitably used for 3D Mesh assistance when fitting a mesh to an image and then applying the modifier. $\endgroup$ Commented May 14, 2015 at 21:48

2 Answers 2

3
$\begingroup$

If you are using an ortho projection, I think it's easier to use nodes than a modifier.

enter image description here

Using object coordinates, for a specified object (an empty here) is much like using a UV project modifier.

I showed you a backface to demonstrate what I'm doing. In addition to the object coordinates, I'm also getting the distance to the object (by taking the square root of the dot product of the vector to that object with itself.) In this case, as shown, I'm limiting the distance enough so that it doesn't show through the other side of the mesh. (I could also limit drawing to only faces on the negative Z side of my object, by multiplying alpha with object.z<0 instead, in which case it would only project in one direction. Cameras point in their -Z axis.) Note that I can just scale the empty in its local Z axis if I want adjust the "clip" of this.

If you need something with perspective, you can still use the UV project modifier-- but just like I did with this object, you can measure the distance to your UV projector in nodes, and then limit what you draw with it to one direction or to faces within a given distance.

enter image description here

Here my projection is only hitting faces in front of the camera that I'm using to project.

Hopefully it's clear from this how you could establish other distances or planes to limit the drawing of the projection as well.

$\endgroup$
0
$\begingroup$
  • Texture Map image to Plane01. Shrink Wrap to Main Screen. Assuming no volumetric Lighting. No UV project modifier.

  • Reflection. In cycles the surface can be dominantly glossy and barely diffuse. Light Can be colored by texture. Light is set to Not Camera Ray Visible. In the range of projector plane near parallel to continuous screen plane near parallel to view. No UV project modifier.

  • UV project modifier. Split the mesh object into multiple mesh objects

  • UV project modifier. Place a second mesh to cover the first

Barely tolerable if the situation permits.

$\endgroup$
1
  • $\begingroup$ Thanks for the suggestion. Unfortunately, breaking the scene into multiple mesh objects would be unworkable. Another idea (also tedious) would be to bake each camera projection to a unique texture in a common unwrapped UV space, erase the "backwards" projection from the baked textures & then composite all baked textures together. But this would require committing to final geometry & texture size. $\endgroup$
    – mkschmitty
    Commented May 14, 2015 at 20:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .