In a city assembly of instanced streetlight components, leads need to remove a per-instance property without breaking instancing across the corridor. What approach aligns with OpenUSD instancing constraints?
Select an answer to reveal the explanation.
Short Explanation
Instanced streetlights share a prototype—like identical lamp posts from one mold. Yanking a property the wrong way can crack the mold for everyone. Use instance-aware overs or deinstance only the lights that truly need to diverge so the rest stay efficient instances.
Full Explanation
Instanced streetlight components share prototype opinions. Removing a per-instance property without breaking corridor-wide instancing requires instance-aware authorship: appropriate overs on the instance paths that must diverge, or careful deinstancing of only those targets. Editing the shared prototype indiscriminately changes every light that uses it. City assembly leads should preserve instancing for the majority while allowing controlled divergence where a property must be removed.
Editing the shared prototype so every streetlight loses unrelated prims is the blunt failure mode instancing exists to avoid. Deleting the entire pointInstancer whenever one property is wrong destroys aggregation scale. Authoring prototype edits that silently deinstance all lights without review causes unexpected performance and identity loss across the corridor.
Exam caveat: native instanceability constraints differ slightly between native instances and pointInstancer instances, but the guiding principle is the same—do not casually rewrite the shared prototype for a one-off removal. Operational check: identify whether the property lives on the prototype or as an instance opinion; apply an instance-scoped clear or deinstance only the affected lights; recompose and verify other corridor lights remain instanced and unchanged. If all lights lost the property, the edit hit the shared prototype—revert and redo with instance-aware targeting.