Vector Displacement not showing same result as the mask of it So recently I decided to try vector displacement. I tried to make something simple, such as this shape. It's sort of a &quot;gun shape&quot;, but I've ran into a problem.
I wanted to make an &quot;extrusion&quot; downwards in a square shape. So, I made a simple square mask, using the polar coordinates formula. The first 2 groups calculate angle and distance and the third one calculates the shape.

Then, I added one Z mask, in order to remove the square from the top face- so it only appears on the bottom.


After inverting it, so that it's white shape on black background, I plugged it into the Z input of the combine XYZ node and then the vector went into a Vector math node, set to Add, which then goes into the vector displacement node.

The problem is, that in order to get the cube to be thinner(smaller on X and Z) I have to multiply it before. That causes my new shape to also be squashed on one side.


How can I have my cube to be deformed, but at the same time to have the shape follow the mask?
I can't be sure this is your problem without seeing a bit more of your shader-tree, but..
There's a difference between Generated-space and Object-space coordinates, where render-time displacement is concerned.

The Generated coordinates of mesh elements are evaluated before
displacement. (They measure 0-1 along the sides of the bounding-box of
the (unscaled) object, irrespective of its size, oriented with the
object's local axes.)
The Object coordinates of mesh elements are evaluated after
displacement. (They are measured in Blender Units from the (unscaled)
object's origin, along the object's local axes.)

Both sets of coordinates translate, rotate, and scale with their objects.
So, in this cube being displaced to a sphere, with the same 3D texture, a grid of cubic cells with thin walls:

On the left, the Generated coordinates are evaluated in the original state of the cube, and displace along with it, 'sticking' to the surface of the deforming object.
On the right, the Object coordinates of shading-points are evaluated after displacement, so the
deforming surface 'swims' through Object space.
So, for example, if you're making masks for displacement, and want to see where they wind up on the displaced surface, it's much easier to work in Generated space. I put mine in a group that I can re-use around the tree, offset so the origin is at the center of the bounding box, and ready-separated, to avoid too many Separate XYZ 's and spaghetti: