Add expanded assembly subcomponent support for pxrUsdReferenceAssembly#4644
Add expanded assembly subcomponent support for pxrUsdReferenceAssembly#4644dj-mcg wants to merge 2 commits into
Conversation
Fix double-transform rendering and add variant selection editing for subcomponent proxy shapes created when a pxrUsdReferenceAssembly is expanded. Double-transform fix: - Add virtual isRootPrimTransformInDagPath() to MayaUsdProxyShapeBase so subclasses can signal that the Maya DAG already contains the root prim's world transform. - pxrUsdProxyShape implements this via a new hidden boolean attribute "skipRootPrimTransform", set by the assembly translator on expand. - proxyDrawOverride, usdProxyShapeAdapter, and proxyRenderDelegate check the flag before applying the root prim transform. - pxrUsdProxyShape::boundingBox() uses ComputeUntransformedBound when the flag is set, fixing picking and framing. Variant selection support: - Extend UsdMayaEditUtil to parse variant selection edits (usdVariantSet_* attributes) alongside transform edits. - Add setDependentsDirty/compute overrides to pxrUsdProxyShape that apply variant selections from dynamic attributes onto the stage session layer. - Replace AEpxrUsdProxyShapeTemplate.mel with a Python version that builds variant set UI dynamically from the USD prim. - Register the AE template Python module in __init__.py. Tests: - Add testUsdReferenceAssemblyExpandedTransforms verifying correct transforms and bounding boxes for expanded sub-proxies.
AramAzhari-adsk
left a comment
There was a problem hiding this comment.
Just some minor adjustments
- CMakeLists.txt: Replace AEpxrUsdProxyShapeTemplate.mel with .py in PYMODULE_FILES (matching the MEL-to-Python conversion in the SConscript) - proxyShapeBase.h: Expand isRootPrimTransformInDagPath() comment to clarify why it defaults to false and when subclasses should override
|
@dj-mcg one of the unit tests seem to fail on OSX platforms. Does that also occur for you? |
|
@AramAzhari-adsk / @dj-mcg I think that was just a random glitch test failure. I re-ran the OSX 2027 build and it passed the 2nd time. Aram I can also see that you re-ran the entire preflight and OSX 2027 also passed there, but then there was a Linux build with bunch of interactive tests failures - I think that was just a network glitch. I'm marking this as ready for merge. Sean |
if the test failures changed to something else then I think we're good to check in. Thanks! |
Fix double-transform rendering and add variant selection editing for subcomponent proxy shapes created when a pxrUsdReferenceAssembly is expanded.
Double-transform fix:
Variant selection support:
Tests: