2
$\begingroup$

I will use an example to explain more clearly my question: so, I have this object (called "Circle"), already unwrapped and with a texture applied:

enter image description here

Now, if in the Geometry Nodes editor I add the object, the UV unwrap is not lost:

enter image description here

But, when I join the geometry of this object with another one, for example a cube, then the UV unwrap is lost.

enter image description here

I would like to know if is possible to join several geometries without losing the UV maps (using the Geometry Nodes fields in Blender 3.0).

Thanks!!

$\endgroup$
4
  • 1
    $\begingroup$ It seems, after adding geometry, the map of the original part of the mesh becomes a GN attribute, and is still available to the shader through an 'Attribute' node > (Geometry) > (UV Map Name). What makes no sense to me, is that if I capture the UV Map as a vector input attribute in the modifier interface, and connect it straight to the output, and try to dump the attribute back into the UV map of the same name without changing it, it comes out distorted. So this isn't an answer, but may do for the time-being $\endgroup$
    – Robin Betts
    Commented Nov 9, 2021 at 15:10
  • $\begingroup$ Yeah that works! Thanks! Btw in my opinion it is an answer $\endgroup$
    – Artichoke
    Commented Nov 10, 2021 at 9:20
  • 1
    $\begingroup$ Hehe.. I like to fully understand stuff before posting.. but I'll pop one in when I can :) $\endgroup$
    – Robin Betts
    Commented Nov 10, 2021 at 10:01
  • $\begingroup$ Having the UVMap only as an Atrribute which only works in Blender thou is not a solution in any way. There is people who do create Assets for GameAssets and so on. Now Plugins like AlterMEsh exist to make GeoNodes work in Unreal Engine so it is absolutely vital to keep UV Information intact after Realizing Instances. $\endgroup$
    – Datadieb
    Commented Mar 24, 2022 at 9:38

1 Answer 1

4
$\begingroup$

The UV Map becomes an attribute of the mesh when using geometry nodes.

Because you're not altering the unwrapped geometry in any way that would invalidate the map you only need to access UVMap attribute the Geometry Nodes spitted out instead of the original UV. Because the mesh wasn't significantly modified you won't even need to capture or transfer the attribute -- this data is already present in the vertices.

UVMap as attribute

And a Boolean Union in this case will not only let the original mesh keep its UV and material but cause the procedural one to inherit them.

Bear in mind other mesh data like vertex colors are also attributes, made available and accessed in the same way. Only fully procedural data (attributes that weren't present in the original geometry) require extra work. Usually you'll attribute transfer them to the final geometry so the vertices/edges/faces carry that data then plug the vector/color/something else information into the Group Output to turn it into an "entry" that can be accessed from the outside, like the material or whatever.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .