Comparing the UV coordinates at each vertex is generally correct, but it
sounds like the comparison wasn't deep enough.
Consider this:
for each edge of mesh:
If edge == boundary:
UV coordinates of edge are UV island border
else:
if edge's UV coordinates at vertex 0 are same value AND
edge's UV coordinates at vertex 1 are same value AND
sign of polygon A's determinant == sign of polygon B's determinant:
edge is an interior edge of same UV Island.
Use UV coordinate values of the first 3 vertices comprising the polygon, in
proper winding order, to compute the determinant.
Overall level of difficulty is low, but Softimage data structures are not
ideal for this task as they're designed for efficient drilling downwards
(e.g. object -> polygon -> edge -> vertex -> polygon node). There's little
support for going the other direction (e.g. polygon node -> vertex ->
edge -> polygon -> object). You'll spend more time figuring out how to
traverse the mesh efficiently than on the problem of which UV island a
polygon node belongs. There are multiple solutions, but running time varies
significantly.
Matt
Date: Wed, 25 Oct 2017 16:56:19 +0900
From: Martin Yara <[email protected]>
Subject: UV Island Border
To: "[email protected]"
Any idea how to get the island border through scripting ? (or ICE)
I was using a compound rray uploaded in si-community where the logic is
comparing every edge's sample UV positions. If they don't share the same
position, or is a border edge, then it's a UV border.
The problem with this is that it doesn't recognize the borders of islands
that are symmetric and overlapped (like folded in the middle).
Any ideas ?
I'm trying to reproduce a tool I wrote in Maya to verify the distance
between all the islands to check if they are not too close and cause
bleeding problems.
Martin
------
Softimage Mailing List.
To unsubscribe, send a mail to [email protected] with
"unsubscribe" in the subject, and reply to confirm.