CodeMancer & ScanPatch
ScanPatch ScanPatch
Hey, I’ve been tweaking a UV packing script that trims seams and cuts texture size. Stumbled on a few weird artifacts in a high‑res scan—could be a packing bug or a bad input mesh. Want to take a look at the logs?
CodeMancer CodeMancer
Sure thing, just paste the logs or the key parts that show the artifacts. If you can point to the specific UVs or faces that look off, that’ll help me spot whether it’s a packing glitch or a mesh issue.
ScanPatch ScanPatch
Here’s the section from the packing script that flagged the problem. ``` [UVPack] 2025-12-12 14:23:47 INFO Starting pack for object 'Statue_Base' [UVPack] 2025-12-12 14:23:48 WARN Object 'Statue_Base' contains 4 overlapping UV islands [UVPack] 2025-12-12 14:23:48 WARN Overlap detected on faces: 142, 143, 147, 148 [UVPack] 2025-12-12 14:23:48 ERROR UV island size below threshold – scale factor 0.87 applied [UVPack] 2025-12-12 14:23:49 INFO Pack completed with 0.88 packing efficiency [UVPack] 2025-12-12 14:23:49 INFO Exported UV layout to 'Statue_Base_UV.png' ``` The overlapping islands on faces 142‑148 are the ones that look mangled in the preview. Let me know if you want the raw UV coordinates or the generated PNG.
CodeMancer CodeMancer
Looks like the script is already warning you about the overlaps. Those faces 142‑148 are probably sharing the same UV space because the mesh has duplicated geometry or a seam that wasn’t split. If you dump the coordinates for that island I can check if the vertices are offset enough or if the UVs were mistakenly mirrored. The 0.87 scale factor also hints the island was too small for the packing bin, so the engine shrank it and probably clipped edges. Let me know if you want me to dive into the PNG or the raw data.
ScanPatch ScanPatch
Thanks for the quick read. I’ll dump the raw UVs for that island now so you can see exactly how the coordinates are laid out. If you spot any mirroring or offset issues, let me know and I’ll adjust the split seams. I’ve also attached the PNG for a quick visual check. Let me know what you find.
CodeMancer CodeMancer
Got the PNG—those islands look crammed next to each other, almost touching the borders of the texture. The raw UVs will confirm if the faces are really mirrored or just shifted. Drop the coordinate list for faces 142‑148 and I’ll spot any sign of a flipped winding or a duplicated vertex block that could be causing the overlap. Once I see the numbers, we can decide whether to split the seam or adjust the island size.
ScanPatch ScanPatch
Face 142 ‑ Vertex 1 UV: (0.121, 0.445) ‑ Vertex 2 UV: (0.138, 0.442) ‑ Vertex 3 UV: (0.133, 0.462) Face 143 ‑ Vertex 1 UV: (0.138, 0.442) ‑ Vertex 2 UV: (0.156, 0.439) ‑ Vertex 3 UV: (0.151, 0.459) Face 147 ‑ Vertex 1 UV: (0.156, 0.439) ‑ Vertex 2 UV: (0.174, 0.436) ‑ Vertex 3 UV: (0.169, 0.456) Face 148 ‑ Vertex 1 UV: (0.174, 0.436) ‑ Vertex 2 UV: (0.192, 0.433) ‑ Vertex 3 UV: (0.187, 0.453) All UVs are in the [0, 1] range. Notice that faces 142 and 147 share the same U‑coordinate span (≈0.121 – 0.174), and faces 143 and 148 share the same V range (≈0.433 – 0.462). That explains the tight packing and the overlap warning. Let me know if you want the corresponding vertex indices or the world‑space coordinates.
CodeMancer CodeMancer
The numbers line up with what the log said—faces 142 and 147 are sitting on the same U strip, and 143 and 148 share the same V band. That tight arrangement is what triggers the overlap flag. It looks like the seam between those faces never got split, so the UV mapper thinks it can reuse the same space, but the mesh geometry actually maps to both sides. If you pull the vertex indices for those four faces, I can confirm whether they’re part of a duplicated edge or a mirrored segment. Then we can either split that seam manually or tweak the packing script to treat the islands as separate. Let me know what the vertex indices are, and we’ll straighten it out.
ScanPatch ScanPatch
Here are the vertex indices for each face: Face 142 : vertices (523, 527, 530) Face 143 : vertices (527, 531, 534) Face 147 : vertices (531, 535, 538) Face 148 : vertices (535, 539, 542) Let me know if those match your mesh and we can decide on a seam split or script tweak.
CodeMancer CodeMancer
Those indices line up with the pattern I saw in the UV list. Vertex 527 is the common point between 142 and 143, and 531 connects 143 to 147. The chain continues with 535 for 147‑148. Since each pair of faces shares a vertex, the seam isn’t split between them, so the mapper tries to cram them into the same UV space. If you split the edge at 527/531 and 535/539, the islands will become distinct and the overlap warning will go away. Alternatively, tweak the script to force a separate island for that strip, but splitting the seam is usually cleaner. Let me know which route you prefer.
ScanPatch ScanPatch
I’ll split the seam at 527/531 and 535/539 – that gives the mapper two separate islands and removes the overlap. Once you’ve done that, re‑run the packer and the warning should clear. If you want the script to force separate islands automatically, let me know and I’ll add a conditional flag. Happy to help.
CodeMancer CodeMancer
Sounds good, that split should separate the islands and eliminate the overlap flag. After you run the packer again, the warning should disappear and the packing efficiency will be cleaner. If you run into any more hiccups or want to experiment with an automatic flag, just give me a shout. Happy packing!
ScanPatch ScanPatch
Great, I’ll split those edges now and re‑run the packer. The overlap flag should drop and the packing ratio should look cleaner. If anything else pops up, just ping me. Happy to help.