Geometry nodes problem: Trying to get a second UV Map driving me crazy!

Didn’t know where to place this, so I chose Support - Modeling. Feel free to move it to somewhere more appropriate if you like.

I have been trying for hours on end just to get a second UV Map in geometry nodes via attributes for a customisable ocean I have been making. I have the two UV Maps set up, and can get one in fine using Store Named Attribute and then by using a Vector Output I have made in the geonode modifier to retrieve my UV. This goes well, but when I try to get the second using the same setup with a different attribute name, the whole thing falls apart!

To put it bluntly, when I use another Store Named Attribute with the same setup after the first Store Named Attribute node, it results in nothing but the same UV being shared, and not the second UV like I want it to. How can I do a 2nd attribute that retrieves a second UV Map without a duplicate mesh? If I use Join Geometry, it just makes a copy of the first one, which is not ideal. What I am trying to do, is have one UV Map moving (already achieved), and the second one moving in the opposite direction, creating an effect for use with Image Textures, with no duplicate mesh.

Please help, as I am at the end of my rope, and cannot figure out how to retrieve a second UV Map as Attribute in geonodes!

Sorry if I wasn’t clear, but I’m desperate here.

Could you please share your node setup? If I create 2 different UV maps on a single object, I can retrieve the info just fine:



This is what the movement looks like. Reversing the movement can be toggled in the modifier.


The Ocean Nodetree modifier I am making.


The attempt at getting 2 UVs and making them move in opposite directions. This fails, and the second UV doesn’t work.

1 Like

How do I mix two UVs in geonodes?

UPDATE: Tried to do 2 UV Maps via String in a Node Group. It works with the first UV. The second UV map doesn’t. Created Node Inputs that are Strings, connected them to the two String inputs on the group to enable me to get the UVs by name. Still no luck, gets first UV, but not the second UV. The Node Group outputs are both Vector and connect to Vector Inputs for the Ocean Texture group. Then they connect to the Group Output Vector outputs which are Face Corner output attributes.

This should work. But only one UV Map works, and the other does not, and shows up as blank.

Can anyone tell me why this is going wrong? It should work…

Are the Store Attribute nodes set to 2D Vector and Face Corner? Can’t see a lot with everything being collapsed.

In the Attributes Menu, the two UV attributes are both set to Face Corner and 2D Vector. This makes them UV Maps. Both of the Store Named Attribute nodes have now been set to 2D Vector and Face Corner. Despite this, only the first UV will work, the second UV shows up completely blank on the mesh (elevation is zero), even if I do UV project it onto the geometry. I am using a Grid Mesh geonode to create the ocean plane. It does come with it’s own UV map, but this is not what I want, I want to get a second UV Map as well as my first UV Map that I have made.

The first UV is called 1, the second is 2.

Hmm… :thinking: … in your third images (the OceanTexture npde group ?) the Group Input UVMap and UVMap1 are not connected to anything… also you Group Output has no connection to Uv2… and the Uv connected with the same as the Offset

So are not using this but relys on the names of the uvmaps… (which then are UVMap_1 and UVMap_2)…

Also you are using a stored named attribute node on the Ocean input… two times… and “push” it to the output…

IDK… if you do know what are you doing… i do not… :stuck_out_tongue_winking_eye: maybe you need a break ?? :wink:

1 Like

I did it eventually.