How to use global XYZ coordinates for displacement? I like to use Global texture coordinates combined with the RGB to XYZ direction setting on a displacement modifier to displace multiple separate objects uniformly.  I.e. if two separate objects with the same displacement texture are placed next to each other, the displacement contour will flow smoothly from one to the next (see GIF below).

However, even when the texture coordinates are set to Global, the XYZ displacement direction is local.  So if I rotate one of the objects about the Y-axis (as seen below) the local Z-up displacement vector is now global Z-down, and thus the displacement contour is broken between objects.



Both objects are just stretched and subdivided cubes.

So is there a way to use global space for XYZ displacement instead of local space, either directly or by some hack/workaround?
The vector displacement space for RGBtoXYZ mode is always local, unfortunately. (tangent would be useful in a lot of cases too). The good news if you need global space though, is you can apply your rotation (object > apply > rotation from the 3d view header) and bake your rotation into the mesh. This gets rid of the object level rotation meaning local space = global space once again.