I want to have a decal texture on an object move based on the location of an empty.

It is possible to use Object coordinates projected from another Object using the drop down in the Texture Coordinate node. This allows you to project a texture based on the location of this object, usually an Empty. But that texture has to be mapped with Object coordinates, so it needs to be a procedural texture. I am looking for a way to do something similar but with UV coordinates so I can do it with an image texture.

I know it is possible to use drivers to change the mapping, but I'm not clear on the best way to do it. If there's a solution that doesn't require drivers that would be better.


1 Answer 1


As the texture is projected in the positive quadrant of the XY plane of the input vector, we need to translate the coordinates by (0.5,0.5,0.0), and clip them.

And to stop the texture from being projected on other places of the geometry (i.e. the backside), one can use a mask to limit the Z distance.

Now it's only a matter of placing and orient the empty for the needed projection.

Here's an example: enter image description here

  • 1
    $\begingroup$ Okay, I went to give it a try but I'm afraid I'm going to need more info to understand how to actually set this up. Could you show a node example or otherwise detail it more? Thank you! $\endgroup$
    – Ascalon
    Commented May 22, 2018 at 3:22
  • $\begingroup$ I edited the post, as I notice I was giving the wrong and old information. Hope it now helps. $\endgroup$
    – Secrop
    Commented May 26, 2018 at 8:29
  • $\begingroup$ I'm trying this (years later) in 2.83 and it doesn't seem to work. The texture ends up stretched. It seems I have to separate and recombine XYZ but with x to x and Z to Y for it to work right, as Y is normally solid black. But this doesn't seem right. $\endgroup$
    – Ascalon
    Commented Jul 20, 2020 at 0:36
  • $\begingroup$ @Ascalon, It's still working for me.. Does your empty has the scale applied (the main reason stretching would happen)? $\endgroup$
    – Secrop
    Commented Jul 27, 2020 at 9:32

You must log in to answer this question.

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