Deformable Body Overview

Introduction

This chapter will introduce the fundamentals of simulating deformable bodies using the NVIDIA PhysX engine.

Unlike rigid bodies, which maintain fixed relative positions for any point in their frame of reference, deformable bodies allow the nodes defining their shape to move relative to one another. This flexibility enables deformable bodies to change shape under applied forces, unlike rigid bodies, which remain unchanged.

PhysX supports two types of deformables: deformable surfaces, such as cloth, metal sheets, and shells, and deformable volumes, such as soft rubber and biological tissues. Both types are simulated using the Finite Element Method (FEM).

Given that TGS offers better convergence with a computational cost comparable to PGS, TGS is recommended for deformable body simulation.

PhysX deformable bodies are currently only supported on GPU. The feature set is implemented in CUDA and requires a compatible GPU. If no compatible device is found, an error message is displayed.

Additional details on deformable volumes can be found in the Deformable Volume section. Features such as deformable surfaces, attachments and element collision filters are currently under active development and will be introduced in an upcoming release.

Deformable Body Object Model

PhysX uses a hierarchical deformable body object/actor model.

Class

Extends

Functionality

PxBase

N/A

Reflection/querying object types.

PxActor

PxBase

Actor name, actor flags, dominance, clients, aggregates, query world bounds.

PxDeformableBody

PxActor

Shape, basic dynamics properties, solver configuration, sleeping.

PxDeformableVolume

PxDeformableBody

Simulation mesh, GPU data buffers, kinematic targets.

PxDeformableSurface

PxDeformableBody

Gpu data buffers, collision sub-sampling.