Autodesk / Autodesk/maya-usd

Exporting with `-exportRoots` flag fails to export prototypes' geometry for Instancers

Open
#3,389 2 comments 0 reactions 1 assignee Claimed by @santosg87 View on GitHub
bug
Dominant language
Wolfram Language
Stars
905
Forks
223
Avg merge
2d 9h
Merged PRs (30d)
17

Description

**Describe the bug**

When exporting a maya instancer node with `-exportRoots instancer_node` the USD file `PointInstancer`'s prototypes in the USD data will have no geometry defined:
```
def "Prototypes" (
kind = "group"
)
{
def "pCube1_0"
{
}
}
```
Versus using e.g. `-selection` flag with instancer node selected:
```
def "Prototypes" (
kind = "group"
)
{
def Mesh "pCube1_0" (
kind = "component"
)
{
uniform bool doubleSided = 1
float3[] extent = [(-0.5, -0.5, -0.5), (0.5, 0.5, 0.5)]
int[] faceVertexCounts = [4, 4, 4, 4, 4, 4]
int[] faceVertexIndices = [0, 1, 3, 2, 2, 3, 5, 4, 4, 5, 7, 6, 6, 7, 1, 0, 1, 7, 5, 3, 6, 0, 2, 4]
point3f[] points = [(-0.5, -0.5, 0.5), (0.5, -0.5, 0.5), (-0.5, 0.5, 0.5), (0.5, 0.5, 0.5), (-0.5, 0.5, -0.5), (0.5, 0.5, -0.5), (-0.5, -0.5, -0.5), (0.5, -0.5, -0.5)]
texCoord2f[] primvars:st = [(0.375, 0), (0.625, 0), (0.375, 0.25), (0.625, 0.25), (0.375, 0.5), (0.625, 0.5), (0.375, 0.75), (0.625, 0.75), (0.375, 1), (0.625, 1), (0.875, 0), (0.875, 0.25), (0.125, 0), (0.125, 0.25)] (
customData = {
dictionary Maya = {
token name = "map1"
}
}
interpolation = "faceVarying"
)
int[] primvars:st:indices = [0, 1, 3, 2, 2, 3, 5, 4, 4, 5, 7, 6, 6, 7, 9, 8, 1, 10, 11, 3, 12, 0, 2, 13]
}
}
```

In this case the instancer node I exported was a top level in the maya scene in both cases

**Steps to reproduce**

Steps to reproduce the behavior:

1. Create a Maya instancer that instances a cube
2. Export `mayaUSDExport` with flag `-exportRoots` set to the instancer node
3. Check the exported USD file -it contains no geometry data.

**Expected behavior**

I'd have expected prototypes to still be exported as intended - but the `-exportRoots` flag only defining the root for the Instancer node itself.

**Attachments**
If applicable, add screenshots, sample files, etc to help explain your problem.

**Specs (if applicable):**
- OS & version: Windows 10
- Maya version: 2024.1
- Maya USD release: 0.25.0
- behavior is the same in: 0.23.1

**Additional context**

The computed `extent` for the instancer when no geometry is included is also infinitesimal, like:
```
float3[] extent = [(3.4028235e38, 3.4028235e38, 3.4028235e38), (-3.4028235e38, -3.4028235e38, -3.4028235e38)]
```
Which I suppose is technically correct due to having no shapes.

Other than that the export appears the same but just misses the prototypes geometry.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.