IMPORTANT: Let me do some more investigation around this. I think the issue might be the wrong workflow and not how Blender is handling UV's. Likely the correct workflow is making sure that all uv faces are separate before overlapping them (when working with trim sheets for instance)
If the following is true in the same mesh
- two vertices are sharing a position in uv space
- the two vertecies share the same mesh island.
- the two vertecies share the same uv island
then blender merges the uv islands automatically.
This is very problematic when working with Trims and overlapped uvs as things are merged in ways that were not intended
The problem seems to be caused by blender not having a concept of UV islands, but rather each face having its own uvs that are handled as shared if they are close together in uv space.
There was a fix done in 2015 that was reverted in 2017 because it caused another bug.
https://developer.blender.org/T44320
####No uv vertex merge on non connected uv islands
Merged UV’s on overlapping UV islands are not an issue when the UV islands are not connected the same way the mesh is. The square in the center Y position in the UV editor represents the mesh connection faces in the 3d viewport
{F8652400, height = 750}
####Uv vertex merge on connected uv islands
Merged UV’s on overlapping UV islands is an issue when the UV islands are connected the same way the mesh is.The mesh connection faces in the 3d viewport is connected to the monkeys facial uv island in the UV editor (circled red in example)
{F8652398, height = 750}
####Trim sheet example
|{F8708508, height = 400} Extremely simple trimsheet image for weighted normals |{F8708510, height = 400} Stretched cube with weighted normals. The image to the left is used as normal map|
|{F8708514, height = 400} 1. Starting point. UV's on each rectangular face is overlapping |{F8708516, height = 400} When one of the faces are moved in UV space, |