enter image description here I'm working with multiple objects generetad in geometry nodes and I want to combine their UV coordinates. My goal is to place them side by side, ideally splitting them in half. I've managed to transform the UVs separately for each object using vector multiply or scale, but when I try to shift them using vector add, they both move together.

Is there a way to edit the UV coordinates of each object separately and then combine them in the end? For context, my example is simplified; in reality, I'm dealing with multiple objects.


1 Answer 1


Here's my posts on how to read Geometry Nodes:

This will give you the understanding on what's happening here: the Store Named Attribute node evaluates the connected field for each face corner. For corners belonging to the cylinder, the upper "UV Map" attribute exists, and the lower one doesn't (and returns $<0, 0, 0>$ values). For corners belonging to the sphere, the upper "UV Map" attribute doesn't exist (and returns $<0, 0, 0>$ values), and the lower one does. Scaling $<0, 0, 0>$ does nothing, and so scaling don't change the fact that either branch is always zero.

Adding two values (the 2nd Vector Math: Add node counting from the left), where one is zero, is like "ORing" - I explain it here:

How do I get 1 for a certain range of a value?

However, when you add (the 1st Vector Math: Add node counting from the left) a constant value to the upper branch, now not only you shift the populated data with this value, but also override the "empty" values (zeroes) with it. This is because it is at the moment of accessing the Cylinder or UV Sphere node's socket, that the evaluator tries to access existing data, and if there's none, the 3 zeroes for $xyz$ are generated.

The solution

Simply do the calculations here, before joining the geometry, by using two separate Store Named Attribute nodes with the same attribute name:


You must log in to answer this question.

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