← All ideas
  • Published 29 Jan 2020

a tool to unwrap an object based on it's position in 3d space relative to another object

An unwrap option which generates uv's for an object based on it's position in 3d space relative to another object.

So basically the relative position in uv space between itself and another object would match the relative positional difference between itself and the other object in 3d space.

Handy if you want to apply the same texture to two objects and you want the texture to line up perfectly.

The uv's should be calculated based on surface normal of the underlying object.

It's better than baking because there's no need for a second texture.

0%

Development Status: Open

Upvote 0 Downvote 1
3di
29 Jan 2020

12 Comments

Lauloque

Isn't it what Object coordinates does ?

demo pic

3di Author

* @-L0Lock- * very similar, but using the other object's actual uv's rather than auto generated uvs from the other object.

Lauloque

* @3d illusions * I see.
Maybe i'm talking non-sense, but maybe it's possible to use the UV as is, but then use the object coordinates as some offset applied on the uv data. I don't know mutch the possibilities with vector nodes so I can't say mutch.

3di Author

* @-L0Lock- * I don't think it would be possible without auto adding some new geometry/seams to the object being transferred, but after that, then yes, that's basically what I was suggesting, just not quite as succinctly as you :D

zuorion

sounds like UVProject modifier {attachment aasdmp4}

3di Author

* @Pawel Piotrowski * not quite what i'm suggesting I don't think. Thanks though.

testure

isn't this effectively what camera projection is?

3di Author

* @testure * I don't believe you can do this with camera projection on a belt that goes all the way around a sphere for example (if you wanted the belt uv's to line up with the sphere's uv's)

testure

* @3d illusions * no, but you can camera project based on a selection, so you can select all the faces you want to unwrap on both objects- project, and then do the other side. how does this 'unwrap' know where to put seams otherwise? it sounds like you want a world space box unwrap, which in my experience makes for some really awful looking UVs, and at that point it's actually easier (and looks better) to make a tri-planar material.

3di Author

* @testure *

what you're describing is similar to my suggestion. The only difference is that each vertex (or multiple vertices if aligned along the surface normal of the underlying geometry) in uv space is automatically moved to the same location in uv space as it is in 3d space (on an xy plane derived from the surface normal between the vertex and the surface of the object being aligned to).

so basically the script would:

  1. project each vertex onto the underlying mesh along the surface normal of the underlying mesh.

  2. Calculate where that point is in the underling mesh's uv space.

  3. move this vertex to the same location on the current objects uv map as the projected vert was in the underlying objects uv map.

Additional edges should be automatically added and set to seams where uv islands are found in the underlying mesh.

I'm definitely not speaking of a world space box unwrap or triplanar.

testure

* @3d illusions * what you're asking for seems paradoxical in nature based on what I'm reading. if you have an example of this happening in some other software I'd be interested in seeing it, otherwise I suggest making a mockup to better explain what you're asking for.

1
3di Author

* @testure * Yes it's sometimes difficult to explain complex concepts, and i'm pretty sure this can't be demonstrated in a mockup. I'll put this in my pile of scripts to write next year ( bit tied up with machine learning and AI stuff at the moment)