When trying to use the USD plugin, we noticed that no matter what we did, whenever we imported geometry from a USD with variants, it would load whatever the default variant was. After spending time in the logs, I realized the plugin was not honoring the prim path variant selection list. When digging into the code, I noticed the host getAttribute calls on a number of the attributes (variants, conform to mari Y, keep centered, include invisible, create face selection groups) were incorrect.
Example:
plugins/fnUsdMeshImport/UsdReader.cpp: line 872:
from: if (_host.getAttribute(Entity, "variants", &Value) == MRI_UPR_SUCCEEDED)
to: if (_host.getAttribute(Entity, "Variants", &Value) == MRI_UPR_SUCCEEDED)
Making this change allows variant selection.
When trying to use the USD plugin, we noticed that no matter what we did, whenever we imported geometry from a USD with variants, it would load whatever the default variant was. After spending time in the logs, I realized the plugin was not honoring the prim path variant selection list. When digging into the code, I noticed the host getAttribute calls on a number of the attributes (variants, conform to mari Y, keep centered, include invisible, create face selection groups) were incorrect.
Example:
plugins/fnUsdMeshImport/UsdReader.cpp: line 872:
from: if (_host.getAttribute(Entity, "variants", &Value) == MRI_UPR_SUCCEEDED)
to: if (_host.getAttribute(Entity, "Variants", &Value) == MRI_UPR_SUCCEEDED)
Making this change allows variant selection.