When UsdCollisionAPI is applied but collisionEnabled is false, treat it as a visual gprim.
PiperOrigin-RevId: 784219782 Change-Id: If87e1cd7e1cc10b27a3d432585466e3aece71d26
This commit is contained in:
committed by
Copybara-Service
parent
f5df466ee5
commit
c597434fc9
@@ -135,10 +135,20 @@ ExtractedPrims ExtractPrims(pxr::UsdStageRefPtr stage) {
|
||||
root->physics_scene = prim_path;
|
||||
}
|
||||
|
||||
if (prim.HasAPI<pxr::UsdPhysicsCollisionAPI>()) {
|
||||
current_node->colliders.push_back(prim_path);
|
||||
} else if (prim.IsA<pxr::UsdGeomGprim>()) {
|
||||
current_node->visual_gprims.push_back(prim_path);
|
||||
if (prim.IsA<pxr::UsdGeomGprim>()) {
|
||||
bool has_collision_api = prim.HasAPI<pxr::UsdPhysicsCollisionAPI>();
|
||||
if (has_collision_api) {
|
||||
bool collision_enabled = false;
|
||||
pxr::UsdPhysicsCollisionAPI(prim).GetCollisionEnabledAttr().Get(
|
||||
&collision_enabled);
|
||||
if (collision_enabled) {
|
||||
current_node->colliders.push_back(prim_path);
|
||||
} else {
|
||||
current_node->visual_gprims.push_back(prim_path);
|
||||
}
|
||||
} else {
|
||||
current_node->visual_gprims.push_back(prim_path);
|
||||
}
|
||||
}
|
||||
|
||||
if (prim.HasAPI<pxr::MjcPhysicsSiteAPI>()) {
|
||||
|
||||
Reference in New Issue
Block a user