Object referenced texturre coordinates - Fails when object is rotated

Hello,

Currently i have a workflow issue i’m hoping to find some work arounds for.
First of all the workflow;
I’m trying to create a modular kit of meshes for some of my concepts. I have some meshes that are meant to seamlessly transition but remain separate objects for modularity.

Where it goes wrong;
Off the bat, separate objects don’t play nice with object texture coordinates as the pivot point of the object influences the mapping, so unless i’m constantly aligning pivots i’m going to get UV seams.

If i put in a reference object to act as the point of origin for all the coordinates the problem goes away, great.

Where it goes wrong, is if the object with the mapping applied rotation differs from the source of the mapping i get UV stretching

The solution there is to just reset rotation, which was working okay for a while until i wanted to start using instanced collections, you can’t apply rotation only clear it.

I’ve tried implementing my own triplanar mapping coordinates with varying success, but it just doesnt work as well as the object mapping when rotation isn’t involved.


Typical box mapped shader setup, using object coordinates with a reference object.

Other solutions i’ve tried;
UV mapping it manually. Its just not something i’d want to have to maintain as i’m conceptualizing meshes and changing things up all the time.
Also doesn’t work with seamless asset transitions without a complicated setup.

Drivers for detecting the rotation of an object without any input needed and lerping between two mapping coordinates with the rotation adjusted for.
Works well, but AFAIK self drivers don’t work in shader node (or at least havent been able to get it to work) and using an object as the source of the driver is a no go because it just applies it to all objects.

there’s generated as well, but that uses object bounds for the mapping, and i can change the texture space in object data properties manually but i’d rather not. and it doesn’t solve the seams.

and finally i’m probably just going to paint out the seams in photoshop, but it would be lovely to find a workaround for this.

I haven’t been in similar setup, but I’ve found you can’t rotate coordinates - not by reference object or by vector rotation - and have it work with box mapping. What I end up doing for my situation, which are typically wooden beams with randomized box texture lookup per beam where I need to control the grain direction, is to separate the parts into directions and orient their origo.

If anyone knows how to rotate coordinates in whatever direction and avoid stretching, that would be much appreciated. The workaround can make projects quite complex.

@CarlG
I’ve done some more searching
I stumbled upon this post

Its not a 100% solution to the issue, but it solves 1/2 of it.
Object that aren’t rotated will tile seamlessly and the mapping is world aligned (no object reference in the coordinate node)

but with rotation its still somewhat broke, you’ll get texture seams but the texture won’t stretch as it was previously.

I guess in my case this is a small win for now cause its less touch up i need to do in Photoshop

Yeah it’s the rotation that is problematic. I have no idea why this isn’t fixed, or why it would be difficult.