Repository navigation
Physics materials embedded in rigid-object USDs are created per environment with replicate_physics=True (64K PhysX material limit) #8485
Replies: 1 comment
|
Yes — with
Your four cases line up with that:
Recommended pattern for USD-file assets Until
Documenting this next to the existing 64K note (and calling out that embedded materials in rigid |
Uh oh!
There was an error while loading. Please reload this page.
Is it expected that, with
replicate_physics=True, a physics material authored inside a standalone rigid body USD is created once per environment, while the same material inside an articulation is created once and shared fromenv_0?We hit this when running 32,768 environments in one process with two objects per environment whose USD binds its own physics material to the collider:
After this error
sim.reset()stalls instead of raising.The material PhysX assigned to the same collider in different environments, read back with
omni.physx.get_physxunittests_interface().get_materials_paths(collider)(4 environments), and the result at 32,768 environments with two cubes each:env_0env_1env_3replicate_physics=Trueenv_0/CubeA/PhysicsMaterialenv_1/CubeA/PhysicsMaterialenv_3/CubeA/PhysicsMaterialPhysicsArticulationRootAPIon the body (one-body articulation)env_0/CubeA/PhysicsMaterialenv_0/CubeA/PhysicsMaterialenv_0/CubeA/PhysicsMaterialreplicate_physics=Falseenv_0/...env_1/...env_3/.../World/Materials/Shared/World/Materials/Shared/World/Materials/Shared/World/Materials/SharedWhere the material sits in the asset (inside or outside the rigid-body prim) and whether it is bound with the
physicspurpose or the all-purpose binding make no difference; only articulation vs. rigid body andreplicate_physicschange the result. #930 and #941 report the same error, but caused by per-shape material randomization (solved by the bucketing inrandomize_rigid_body_material); no randomization is involved here.If this is expected:
randomize_rigid_body_material?MeshCfgandShapeCfgaccept an absolutephysics_material_path, butUsdFileCfghas no equivalent. Binding the colliders to one material under/World/Materials(last row) works.Reproduction
The script below generates its own 6 cm cube USD:
material_replication_repro.py
Versions
isaaclab0.54.3); thereplicate_physicspath ininteractive_scene.pyis unchanged on current mainAll reactions