for-each loop splits my mesh

   2586   4   0
User Avatar
Member
1143 posts
Joined: April 2017
Offline
Hi!

I needed to use a for-each loop set to connectivy to modify UVs. The result is the same mesh but split in multiple meshes. If I use a group sop set to unshared edges, I can see it split at each class.

I though of using a fuse sop but it messes up my UVs and it could cause unstable results on high meshes.

Is there a way for the for-each loop to keep my mesh whole?

-Olivier

Attachments:
foreach_loop_splits_mesh.JPG (101.3 KB)

User Avatar
Member
9250 posts
Joined: July 2007
Offline
you could run it in feedback mode and just process different group each iteration, but that would not allow for multithreading

but usually you can just store original prim order in an attribute, and then after sort prims by it and transfer uv attribute to original mesh using Attrib Copy set to vertices
Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
1143 posts
Joined: April 2017
Offline
Thanks for the help but it's also not working.

To clarify, I'm making a rock out of many booleans (crappy topo but perfect UVs done from abseams) and a clean topo rock (using VDB but I could also use instant meshes sop). I'm trying to transfer the UVs from the booleaned mesh to the clean mesh.

The trick you gave me transfers the UVs but doesn't cut UVs in many island. I just get one UV island.

Any tips on transfering UVs when both meshes have different topos?

I uploaded the scene in case someone wants to have a look.

-Olivier

Attachments:
foreach_loop_using_group_badUVs.jpg (276.9 KB)
dif_topo_UV_transfer_test_02.hip (224.7 KB)

User Avatar
Member
9250 posts
Joined: July 2007
Offline
olivierth
The trick you gave me transfers the UVs but doesn't cut UVs in many island. I just get one UV island.
I don't see anything that I talked about applied in your file

here's the file showcasing what I was talking about
note it's just to address the workflow of keeping the topology of your input geo and copying any UV changes you did within the foreach loop that cut your geo

the uv transfer is completely different question

Attachments:
foreach_pieces_without_disconnecting.hip (1.2 MB)

Tomas Slancik
CG Supervisor
Framestore, NY
User Avatar
Member
1143 posts
Joined: April 2017
Offline
Oups! I read your reply way to fast and misunderstood it. Thanks for the example file. Storing the primnum before a for-each loop will be very handy.

On a “side” note, I found out how to transfer uv seams. I don't end up with the same UV positions but I get the same seams and that's perfect for my rocks. My overall steps are:

1. Transfer @class (connectivity) from UVed geo to non-UVed geo.
2.group points that “touches” more than one class. This groups all the UV island borders
3. promote point group to edges and UV flatten with those.

-Olivier

Attachments:
dif_topo_UV_transfer_test_04.hip (161.4 KB)
transfer_uv_seams.jpg (90.9 KB)

  • Quick Links