From bf56afdb11af24b40299f00a59698321706e8169 Mon Sep 17 00:00:00 2001 From: cc <55869557+TomCC7@users.noreply.github.com> Date: Fri, 7 Feb 2025 00:01:20 -0500 Subject: [PATCH] support scaled mesh in SapienPlanningWorld --- mplib/sapien_utils/conversion.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mplib/sapien_utils/conversion.py b/mplib/sapien_utils/conversion.py index c47d461..6a1ddd0 100644 --- a/mplib/sapien_utils/conversion.py +++ b/mplib/sapien_utils/conversion.py @@ -324,10 +324,8 @@ def convert_physx_component( # FCL Capsule has z-axis along capsule height shape_poses[-1] *= Pose(q=euler2quat(0, np.pi / 2, 0)) elif isinstance(shape, PhysxCollisionShapeConvexMesh): - assert np.allclose( - shape.scale, 1.0 - ), f"Not unit scale {shape.scale}, need to rescale vertices?" - c_geom = Convex(vertices=shape.vertices, faces=shape.triangles) + scaled_vertices = shape.vertices * np.expand_dims(shape.scale, axis=0) + c_geom = Convex(vertices=scaled_vertices, faces=shape.triangles) elif isinstance(shape, PhysxCollisionShapeCylinder): c_geom = Cylinder(radius=shape.radius, lz=shape.half_length * 2) # NOTE: physx Cylinder has x-axis along cylinder height