Autodesk/maya-usd

Provide the ability to export UV sets in "vertex" interpolation

csyshing opened this issue · 1 comments

Is your feature request related to a problem? Please describe.

Hi,

In our pipeline when exporting mesh UV sets via AL_USDMaya, there is an "compaction level" option to "guess" & compress the UV data , the resulted UV sets could be "interpolation = vertex".

When exporting by "USD Export", the UV sets seems always being exported as "interpolation = faceVarying".

Describe the solution you'd like

Ideally having an option similar as AL_USDMaya that can be turned on/off to compress UV sets data and output interpolation type accordingly.

Describe alternatives you've considered
N/A

Additional context

Example output of a poly plane geometry, exported from AL_USDMaya when "compaction level" set to be "extensive":

#usda 1.0
(
    defaultPrim = "pPlane1"
)

def Mesh "pPlane1"
{
    float3[] extent = [(-0.5, -1.110223e-16, -0.5), (0.5, 1.110223e-16, 0.5)]
    int[] faceVertexCounts = [4, 4, 4, 4]
    int[] faceVertexIndices = [0, 1, 4, 3, 1, 2, 5, 4, 3, 4, 7, 6, 4, 5, 8, 7]
    normal3f[] normals = [(0, 1, 0)] (
        interpolation = "constant"
    )
    point3f[] points = [(-0.5, -1.110223e-16, 0.5), (0, -1.110223e-16, 0.5), (0.5, -1.110223e-16, 0.5), (-0.5, 0, 0), (0, 0, 0), (0.5, 0, 0), (-0.5, 1.110223e-16, -0.5), (0, 1.110223e-16, -0.5), (0.5, 1.110223e-16, -0.5)]
    float2[] primvars:st = [(0, 0), (0.5, 0), (1, 0), (0, 0.5), (0.5, 0.5), (1, 0.5), (0, 1), (0.5, 1), (1, 1)] (
        interpolation = "vertex"
    )
    uniform token[] xformOpOrder = []
}

Thanks for the suggestion. I'll talk to the team about this.