Defect Detection Extension: Projection Mapping Issue with Target Assets

I tried projection mapping on the target assets based on the link below. However, the result was unsuccessful.
Generate Synthetic Data — Omniverse Workflows latest documentation (nvidia.com)

The following error occurred.

2024-01-19 05:42:50  [Error] [omni.graph.core.plugin] /Replicator/SDGPipeline/OgnCreateProjectionMaterial: Assertion raised in compute - 
2024-01-19 05:42:50  [Error] [omni.graph.core.plugin] 	Error in 'pxrInternal_v0_22__pxrReserved__::UsdStage::_SetValueImpl' at line 6174 in file /buildAgent/work/ac88d7d902b57417/USD/pxr/usd/usd/stage.cpp : 'Empty typeName for </Projection/table_low_Cube_Xform.xformOp:translate>'
2024-01-19 05:42:50  [Error] [omni.graph.core.plugin]   File "/home/nvidia/.local/share/ov/pkg/deps/8021e278fce7781f5bb307a5b4b24ed4/extscache/omni.replicator.core-1.9.8+105.0.lx64.r.cp310/omni/replicator/core/ogn/python/_impl/nodes/OgnCreateProjectionMaterial.py", line 264, in compute
2024-01-19 05:42:50  [Error] [omni.graph.core.plugin]     projection_prim = _duplicate_target(target_prim, projection_path)
2024-01-19 05:42:50  [Error] [omni.graph.core.plugin]   File "/home/nvidia/.local/share/ov/pkg/deps/8021e278fce7781f5bb307a5b4b24ed4/extscache/omni.replicator.core-1.9.8+105.0.lx64.r.cp310/omni/replicator/core/ogn/python/_impl/nodes/OgnCreateProjectionMaterial.py", line 176, in _duplicate_target
2024-01-19 05:42:50  [Error] [omni.graph.core.plugin]     projection_prim.GetAttribute("xformOp:translate").Set(Gf.Vec3d(0, 0, 0))
2024-01-19 05:42:50  [Error] [omni.graph.core.plugin] 

The Hierarchy of ‘Projection’ is Not Configured in the Correct Position.

What can be done to achieve projection mapping correctly?

I have conducted further investigation.

It is likely that the mesh for projection mapping is created by copying parameters from the USD property of the target mesh. The issue appears to be caused by the absence of necessary parameters during the copying process. What USD parameters should an asset have to be capable of projection mapping?


  • The mesh for projection copying the shape and position of the target mesh.
    → Parameters of the mesh set as the target are obtained through the get_attribution process and inherited by the projection mesh.
    → If essential parameters for creating the projection mesh are missing during its creation, it may not be copied correctly, or the hierarchy may not be established properly.

  • Errors are outputted for missing parameters such as xformOP:translate or xformOP:rotateXYZ.

  • Errors are outputted for parameters related to face vertices.

  • Parameters of assets capable of projection mapping:
    A plane created using rep.create.plane().

Car panel (acquired from demo samples).

Hi,experts.

I’d appreciate it if you could give me an update on the situation.

Hi,experts.

I’d appreciate it if you could give me an update on the situation.