Get point's position, from UV (geometry nodes)

Hey does anyone know whether I can find out a point’s position, knowing its UV? the idea is to offset a point in the UV space of another piece of mesh, having it slide along the surface.
I guess not… and I should probably approach the problem differently. But checking just in case. :grin:

1 Like

Iterating over all points and comparing the UVs could give multiple points… So maybe explaining the idea a bit more to us can already give you a better approach (?)
…sliding a point on the surface and moving (sliding) it’s (or another points?) UV…
:face_with_raised_eyebrow:

1 Like

Not sure, if understand correctly what you’re going for. Do you mean something like this?

Here’s the file in case you find it helpful!
uv-based-position-transfer.blend (909.6 KB)

9 Likes

This is gorgeous. (And i have to look more into GN… capture attribute, transfer attribute… this is a treasure chest for me :wink: )

2 Likes

Hey, yea, I think so ! this is great, and so conceptually simple ! thanks a lot. I’ll have to change my approach a bit but being able to convert to and from UV coordinates is super handy ! cheers,

Hadrien

edit this was meant as a reply to @lone_noel sorry. Thanks for the help !!

2 Likes

The idea wasn’t necessarily correct, but the end goal was to grab the last point of every hair strand and move it further… in UV space ! so @lone_noel’s solution should do the trick, I have yet to work in it my node tree.

following the subject, transfering the UV texture colors to hair, should be possible? how?

I want to make a 2d and 3d earth out of this.

Transfer attribute, I guess? but the sampled color will only be as accurate as the mesh definition at the follicle. I’m not sure we can do any better without a sample image node?

geonodes_transfer_texture_color.blend (1.0 MB)
(frames colored blue have the bits relevant to color transfer)
I’m not using the latest curves object as it is in development but I suspect this is not going to change much

@thinsoldier definitely made me think of a world map as well

1 Like

Thank you for your reply Hadriscus.
I’ve been long wondering how the new curve hairs in GN are going to inherit UV texturing (images). I will study the scene, and try to wrap the ideas around it.
May I share this with the community, in a video? I feel there are other users who might be interested in this, as well.

You mean the blend file I sent above ? sure. It’s just somewhat limited right now because attributes live on the mesh elements, so if a follicle happens to be in-between two (or more) vertices, the color it will inherit will be a blend of each neighbor-vertex’s color -NOT the actual pixel’s color that is visible below the hair strand.
For this to work accurately, you would have to distribute hairs on a highly subdivided version of the scalp mesh. But honestly I’d be surprised if this is the only way to make it work in the future -maybe a node that allows sampling a UV-mapped texture will land at some point.

@HooglyBoogly apologies for the ping, is such a thing planned for hair nodes?

1 Like

I understand this is a temporary solution that will allow proximity vertices to inherit color (texture).
But I guess somewhere down the line plans to implement UV based images for textures (transferring attributes) should be in development. I was experimenting with uv texture colors along strands back in 2.79 and devs said they’ll be changing to “hair curves” in the future. The future happened, and now we’re on 3.2, expecting those nodes. I’d say, it will -somehow- come to be in the near future.

Didn’t we used to have that already?

I think I know what you mean, and the answer is yes, we do want to have a node that samples a mesh with a UV map. That will be necessary for hair deformation when the surface mesh changes.

3 Likes

Nice !

I think the first iteration of the texture node (before fields) was called something like “sample texture” but I don’t think it allowed sampling a color from a point where there’s no geometry. I could be mistaken, this is all a bit mushy in my head

I would like to work with hair curves but to create fuzzy stuff requires UV map variations along strands, points, and also position intercollision. Not to mention that (I guess we can finally…) “pre-simulate noise” to get more real-world chaotic natural hair for coats, animals, heck… I would go as far as imagining this new UV sample node useful enough to do feathers with the hair strand instances…
But please, keep us updated.
Thanks!

I’m sure Hans and the team will let everyone know what’s in the plans for hair nodes, after all it is one of the dependencies of “Project Heist”.

1 Like