ID 601705 - Edge bleed when Filling faces of an Object with multiple meshes can cover faces of other meshes if they were hidden while filling

Follow

Problem summary
If a user fills some selected faces on an Object that was created from multiple meshes while having some unselected faces hidden, then the resulting edge bleed will act as if any hidden faces from different meshes don't exist and may cover them.
 
Customer reported version
Mari 7.1v2
 
Customer reported platform
Windows 11
 
Steps to reproduce
  1. Create a Project using a geometry file that contains separate meshes that occupy the same UDIMs.
    Merge them all into one Object on import by using the default option Merge Type > Merge Models:


     
  2. Switch to the UV tab, then go to the Canvas toolbar and activate Wireframe Rendering and UV Image Rendering.
    NOTE: This step isn't necessary, but it will help us visualise the issue.
     
  3. Create and view a Paint node.
    NOTE: The issue is easiest to visualise if the Paint node Size is at around 1024 x 1024.
     
  4. Select a UV shell (Smart Selection > Connectedness UV) that has next to it UV shells from both different meshes and the same mesh. 
    NOTE: Any face selection that includes faces at the edge of the UV shell will reproduce, but the above will help us visualise the issue.
     
  5. Hide other faces by selecting Selection > Hide Unselected or pressing [Shift]+[H]
     
  6. Fill the selected faces, such as by selecting Selection > Fill > White.
     
  7. Bring back the hidden faces by selecting Selection > Show Entire Object or pressing [Control]+[Shift]+[H] to see the result.
 
Expected behaviour
The selected faces should be filled, and some edge bleed added, without the fill touching any unselected/hidden faces. Just like it does when the unselected faces aren't hidden.
 

 
Actual behaviour
Instead of normal edge bleed, the area around the filled faces gets covered by squares, which may cover faces that weren't selected. It is essentially behaving as if other UV shells didn't exist.
However, note that only faces from UV shells that don't belong to the same mesh get covered by these squares. If the squares encounter faces from the same mesh, then they avoid it through the typical edge bleed behaviour. This is demonstrated in the image below, where the unselected face in the bottom right belonged to the same mesh, so it didn't get covered by the squares:
 

 
It's also worth noting that the size of the squares depends on the Size (resolution) of the paint node.
 
Workaround
If you intend to work with multiple meshes in Mari as a single Object, then merge those meshes in your modelling software before exporting them, instead of merging the meshes when you're importing the file into Mari.
 
Reproduced by support
This bug has been reproduced in:
Mari 7.1v2 - Windows 10 - Rocky 9
Mari 7.1v1 - Windows 10 - Rocky 9 - Regression
 
Unable to reproduce bug in:
Mari 7.0v2
 
Earliest version tested
Mari 7.0v2 - This issue doesn't appear in this version and has regressed
 
 

    We're sorry to hear that

    Please tell us why