Use data transfer to get texture coordinates on instances


I asked about this in the Scatter thread, but maybe people here can help as well. I want to use the Data Transfer modifier on the objects I’m scattering so they can pick up the texture coordinates of the surface mesh. It works fine for the original object, but not for the instances.

Is there a way to handle this in the geometry node tree so it works as intended?

An instance is a duplicate of a mesh with same material and same UVs.
It can not work with instances unless they are realized to become a unique mesh, each.

1 Like

So there’s no way to make it work dynamically? My plan was to use this to create reptile scales on a deforming mesh. Which means realizing the instances isn’t an option.

Look at the realize instance node , it will still be dynamic but instances will be converted to real geometry.

Thanks. So that still doesn’t seem to work for transferring UVs, but it does allow me to transfer vertex colors and that should work well enough for my purposes.

Hum, you should transfer UV after the realize instance, and probably export it as attribute , and use the attribute node in the shader rather than standard UV node. But maybe that’s already what you’re doing !

I’m pretty much a noob at geometry nodes. I haven’t used the capture attribute node before so I’m not sure how to implement it.


Is there a way to capture the sphere’s UVs as an attribute?

Bradley Animation explains the concepts well:

If you feel their explanation doesn’t make sense, you may want to first check out Johnny Matthews’ “Basics of Fields” series

Good luck!

2 Likes