You and your colleague open the same USD layer but one of you observes missing geometry. What could be the reason why?
The most plausible cause is that the two environments are resolving asset identifiers differently. NVIDIA's Learn OpenUSD glossary defines asset resolution as the process of translating an asset path into the actual location of a consumable resource, and identifies ArResolver as the plugin point that can be customized to resolve assets through site logic, databases, or version-control systems.
Option C is correct because the same authored USD layer can contain references, payloads, textures, or other asset-valued paths that are resolved at runtime. If one user's resolver context maps @character.usd@ to version 12 while another maps it to version 15, or if one environment cannot resolve a dependency at all, the composed stage can differ. This can manifest as missing geometry, stale geometry, missing materials, or unresolved payloads. Reference and payloads are composition arcs that bring external scene description into the stage, so resolution differences directly affect what data is available for composition.
Option A is incorrect because USD does not change composition semantics based on available memory. Option B is not the primary explanation here; instance prototypes are derived from composed instance data, but the root problem described is inconsistent asset resolution. This aligns with Debugging and Troubleshooting Asset Resolution, Reference, Payloads, Resolver Contexts, Missing Dependencies.
What sort of plugin implements logic to locate resources such as @mycompany://path/to/my/resource@?
The correct plugin type is an asset resolver plugin. In OpenUSD, asset paths such as @mycompany://path/to/my/resource@ are not interpreted as ordinary strings; they are asset identifiers that must be resolved into concrete resources that USD can consume. NVIDIA's Learn OpenUSD glossary defines asset resolution as the process of translating an asset path into the actual location of a usable resource and states that USD provides the ArResolver plugin point for custom resolution logic, including external databases, custom storage systems, version-control systems, or studio-specific URI schemes.
Option C is correct because a custom asset resolver is precisely where pipeline-specific resource lookup logic belongs. Option A is incorrect because a custom schema plugin defines prim types, API schemas, and properties, not asset-location behavior. Option B is incorrect because Hydra plugins are concerned with imaging, rendering, and scene-index/render-delegate behavior. Option D is incorrect because custom metadata may store extra data, but it does not implement resolution of asset identifiers. This aligns with Pipeline Development Asset Resolution, ArResolver, Resource Location, Versioned Assets, and Pipeline Integration.
What is the primary purpose of a conceptual data mapping document?
A conceptual data mapping document primarily records how concepts and data from a source format map into OpenUSD concepts, schemas, prims, properties, and authored scene description. NVIDIA's Learn OpenUSD Data Extraction lesson states that producing such a document is valuable because it serves as a data specification for extraction implementation, helps stakeholders set requirements and expectations, and helps developers understand which features are supported between two formats and what to expect from the extraction phase. (docs.nvidia.com)
Option D is correct because the document is specifically about translation between OpenUSD and another data representation, such as a DCC format, interchange format, or custom application model. Option A is broader than the purpose of the document; an end-to-end workflow specification may include tools, review, publishing, validation, and delivery, while conceptual mapping focuses on data correspondence. Option B is also too narrow because content structure is only one possible mapped concept. Option C is incorrect because storage requirements are not the core concern. This aligns with Data Exchange Data Extraction, Conceptual Data Mapping, Format Translation, and Converter Design.
In OpenUSD, when composing a stage, why might opinions from one layer not take effect in the final composed stage?
An authored opinion may be valid and still not appear in the final composed stage because USD resolves competing opinions by strength ordering. NVIDIA's Learn OpenUSD strength-ordering guide explains that, for each prim and property, the composition engine evaluates opinions from contributing layers and composition arcs using LIVRPS, giving precedence to stronger opinions when conflicts occur. It also states that stronger layers can override or add to data defined in weaker layers, enabling non-destructive edits and overrides.
Option D is correct because a weaker layer's opinion can be hidden by a stronger opinion authored elsewhere in the layer stack or through a stronger composition context. This is a normal result of USD composition, not an error. Option A is incorrect because editability controls whether a layer can be modified, not whether its authored opinions can contribute during composition. Option B may indicate invalid or poorly modeled data, but schema choice alone is not the general reason an opinion loses. Option C can be a troubleshooting case for missing referenced content, but the question asks why opinions from a composed layer may not take effect. This aligns with Composition Layer Stacks, Opinion Strength, LIVRPS, Value Resolution, and Non-Destructive Overrides.
In OpenUSD, which USDA snippet correctly uses a payload to reference an external asset while allowing deferred loading?
Option A is the correct USDA pattern because a payload is authored as prim metadata using the singular payload keyword with a list-editing operation such as prepend. NVIDIA's Learn OpenUSD payload exercise shows the canonical USDA form: prepend payload = @./red_cube.usd@, authored on the prim declaration. It further explains that payloads are similar to references in USDA, with the important distinction that the keyword is payload rather than references.
The key technical purpose of a payload is deferred loading. NVIDIA explains that payloads can compose scene description when loaded, or unload the targeted scene description beneath the payloaded prim. It also contrasts this with references, which are always composed and present on the stage, while payloads can be opened unloaded and selectively loaded later.
Option B is incorrect because payloads is not the USDA keyword and it is not authored as a property inside the prim body. Option C uses a reference, not a payload, so it does not provide payload load/unload behavior. Option D is not the canonical list-op form expected here. This aligns with Composition Reference and Payloads Working With Payloads.
Currently there are no comments in this discussion, be the first to comment!