I have a Window projected texture and a fixed camera. The texture was made in another program based on a render of the scene. As long as I am looking through the camera, the texture is lined up properly. But if I switch to the viewport camera, then the texture is projected from the viewport, and so looks wrong.

Is there a way to do something like Window projection, but have it always be projected from the Active Camera (or object I can place in the same location), and not the viewport? Preferably a node based solution. I understand that the UV project modifier might work for this, but then I have to maintain that on every object in the project rather than just adding some nodes to a group.

  • $\begingroup$ Sorry if that seems obvious, but did you tried with a Camera (instead of Window) texture coordinate? $\endgroup$
    – thibsert
    Commented Sep 16, 2019 at 18:40
  • 1
    $\begingroup$ Good question. Had probably the same issue a while ago. Rich's solution might help in this case too: blender.stackexchange.com/questions/121210/… $\endgroup$
    – brockmann
    Commented Sep 17, 2019 at 7:48

1 Answer 1


This setup projects texture from camera and adjusts scale based on Z depth.

Works only in camera/perspective mode due to Z-depth socket used in calculations, viewport zooming doesn't affect texture scaling also due to Z-depth.

enter image description here


You must log in to answer this question.

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