Tangent Node for Geometry Nodes
We can access normals and UV maps, but not tangent vectors of those UVs. Having tangents would be useful for aligning objects to UV directions and probably many matrix operations etc.
A workaround is to bake tangent from material to vertex colour, but first you have to "pack" it to 0-1 range, bake, and then unpack in GN. Sort of cumbersome and not procedural.
So I propose to add a dedicated node for it, similar to the one in materials. Outputing only tangent should be enough, since bi-tangent can then be obtained easily with cross product.
Mockup below, thanks for reading!
5 Comments
Hello guys! I have made this node. Send me an email to info@oscurart.com.ar
Yes... We are trying to make this node! it is very important.
I've just recently been able to implement this by comparing UVs at points and at faces, and doing a derivative. It's not perfect yet but I will be adding it my github page (same as my username) if you're interested in having it
Great Idea! I already worked with UV tangents for manually orientating particles with instanced objects on it. Now I would like to do this in GN. @Vladislav: How does this workaround go exactly, especially the packing to the [0, 1] range? Do you know how these UV tangents are calculated and what range they do have in an "unpacked" state?
I really wish we had access to UV tangent without having to bake the tangent from Cycles. It would be amazing to distribute objects on a mesh in a similar way to using a displacement texture.
An example is roof tiles. I can scale and rotate the locations using the UV layout, but without the tangent, I can't orient the individual tiles in the correct direction. This would give the artist a familiar control over the layout as if it's a "geometry texture"