0
$\begingroup$

I have a nodes setup to generate a sort of "island" from an edge line. From there, I generate a side wall mesh in a branch of the graph and a "cap" mesh in the other branch. In the end, I Join Geometry then together. I also generate UVs for the UV in separate and output then to a custom channel.

It worked well for the first mesh alone.

When I generate it for the second mesh, I try to add the vectors to fuse them in the output (wrongly assuming the node would receive a zero vector for missing vertices). It works for the second mesh but messes with the second one.

Here you can see the results when UVs are added up (the grass texture maps correctly on the 2nd mesh, but the 1st mesh's brown wall texture gets warped) and when I sever the connection to the second UV (grass obviously gets no UVs and the wall texture gets right).

Added vectors

Only first vectors after Add gets second input severed

This mesh will be exported to FBX and be used externally, so outputting each geometry UVs to a different custom channel is out of question.

$\endgroup$
1
  • $\begingroup$ You don't show your entire setup so it's hard to say where you make a mistake… $\endgroup$ Nov 3, 2022 at 23:32

1 Answer 1

1
$\begingroup$

I figured out what I should be doing. Outputting the UV information as an Output Attribute works, but only for simpler setups. Instead, use a Store Named Attribute node of Vector as type, Face corner as domain and name the attribute as the named attribute your shader uses as mapping coordinates.

This way, you can store the information just in the geometry generated until that point of your geometry nodes tree. Repeat this for all geometries you generate. The information shall be preserved when you Join Geometry them.

If you need to export the model to FBX, just Convert it to mesh, then convert the named attributes as UVMap channels prior to exporting.

$\endgroup$

You must log in to answer this question.

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