APEX Clothing

From PhysX Wiki

Jump to: navigation, search
APEX Clothing
Latest version(s): 1.3
Authoring application(s): PhysX plug-in for 3ds Max
PhysX plug-in for Maya
Clothing Tool
Capabilities: Cloth and clothing simulation
GPU acceleration: Cloth
Official page

APEX Clothing (PhysX Clothing) is a module responsible for authoring and real-time simulation of dynamic clothing for game characters. APEX C is a part of the NVIDIA APEX Framework.

Currently, APEX Clothing is supporting PC (CPU and GPU), Xbox 360, Xbox One, PS3, PS4, iOS and Android platforms.

First public release - APEX Clothing 1.0 as part of APEX 1.0 Beta.



APEX Clothing - Hybrid Cloth approach
APEX Clothing - Hybrid Cloth approach

Clothing module is using so-called constrained cloth functionality (or Hybrid Cloth), introduced in PhysX SDK 2.8.3. In this case physical mesh is constrained to the animated mesh and is fully controlled by the artist, while regular simulated cloth behaves too unpredictable.

Authoring tools are provided to create a physics meshes from the given graphics mesh. Parts of the character clothing that are chosen to be simulated cloth are not directly skinned to the animation skeleton, instead, a few steps are performed to constrain the physics mesh to the animation. This provides the region within each vertex of the simulated cloth is allowed to move, since created physics mesh is skinned to the animated skeleton. After simulation the graphics mesh is transformed with the simulated physics mesh (mesh-mesh skinning).

With the release of PhysX SDK 3.x, new cloth solver, fully oriented on character clothing simulation, was presented. Being more effective and faster that previous SDK 2.8.x clothing simulation engine, it is now used as default simulation solution in APEX Clothing module.

PhysX 3.x cloth solver is called "embedded", as it is a standalone module that can be utilized by both APEX on SDK 3.x and APEX on SDK 2.8.4. At the same time, 2.8.4 cloth solver is supported only in 2.8.4 version of APEX.

Authoring component

APEX Clothing - Authoring
Painting Max Distances in 3ds Max

Several applications can be used to create APEX Clothing assets: PhysX plug-in for Maya, PhysX plug-in for 3ds Max and Clothing Tool - standalone GUI authoring tool.

Generally, authoring pipeline of Clothing assets can be devided into several stages:

After Clothing asset is complete, it needs to be exported (APEX is using it's own .apb and .apx formats), so it can be deserialized at runtime.

Several examples of authoring process can be viewed here

Latest versions of DCC plug-ins can be used to create assets, compatible with both old SDK 2.8.4 (plug-ins 2.9.x and below) and new PhysX 3.x cloth solvers.

Runtime component

APEX Clothing - Runtime diagram
Runtime Diagram

The ClothingAsset object contains all the data coming from the authoring pipeline, like the information about bones, physical meshes, graphical meshes, the mapping between multiple physical meshes and Clothing material parameters.

The ClothingActor, instance of the ClothingAsset, is placed into a scene where it is simulated and rendered. The actor state is updated with the character animation that is provided with the current bone transformations. Skinned positions of the physical mesh are updated accordingly as well as the collision volumes that clothing will collide with.

APEX Clothing runtime is supporting Physical LoD feature - in order to fit a given resource budget (defined by developers according to platform capabilities), ClothingActor can decrease the Max Distance of the simulated vertices or remove them from simulation completely. In addition, it is possible to use physical/graphical meshes with different resolution and switch them dynamically.

GPU acceleration feature,SIMD optimizations and multithreading support are available as well. On PS3 platform clothing actors can utilize multiple SPUs for simulation.

Other features:

Cloth solvers comparison

Clothing assets compatibility
APEX 1.2 - solvers perfomance comparison
Difference in cloth parameters

With release of APEX Clothing 1.2, developers now have access to two cloth simulation solutions: multipurpose cloth engine, based on PhysX SDK 2.8.4, and new "embedded" PhysX 3.x cloth solver, developed specifically for clothing simulation.

PhysX SDK 2.8.4 Cloth solver PhysX SDK 3.x Cloth solver
Purpose All-purpose cloth simulation Clothing simulation
Performance 100 % Up to 500 %
Supported platforms PC (CPU and GPU), Xbox 360, PS3, Android PC (CPU and GPU), Xbox 360, Xbox One, PS3, PS4, Android
Optimizations Multithreading + SIMD Multithreading + vector SIMD
Collision detection All dynamic and kinematic shapes, static meshes, heightfields, particles Special objects: spheres, tapered capsules, planes
Collision accuracy Per cloth vertex Per cloth vertex + virtual particles
Continuous collision detection Yes Yes
Softbodies Yes No
Self-collision Yes Yes (3.3+)
Inter-cloth collisions No Yes (3.3+)
Tearing Yes No
Constrained cloth functionality Yes Yes
Simulation space Global Global/Local
Stretchiness prevention Limitation via projection tree Long Range Attachments algorithm
Control over cloth parameters Basic Detailed

Version History

Version Release date Description
APEX Clothing 1.3 Dec 11, 2013 Adds rendering proxies functionality and support for inter-cloth / self-collisions. Compatible with PhysX SDK 3.3 and SDK 2.8.4 (excluded from public version).
APEX Clothing 1.2 Aug 6, 2012 Includes new "embedded" PhysX 3.x clothing solver. Is compatible with PhysX SDK 2.8.4 and SDK 3.2
APEX Clothing 1.1 Feb 15, 2012 Updated public release. Adds per-actor scaling, asynchronous cooking, velocity callback, support for morph targets and adaptive simulation frequence. Uses PhysX SDK 2.8.4
APEX Clothing 1.0 Mar 24, 2011 First public release. Features several improvements: faster mesh-mesh skinning, Max Distance scaling and per-actor tasks for fine grained parallelization. Uses PhysX SDK 2.8.4
APEX Clothing 0.9 N/A Initial internal release. Uses PhysX SDK 2.8.3


Latest APEX Clothing 1.3 module is included in public build of APEX SDK 1.3

For info on Clothing module licensing options, please refer to APEX SDK description

Games and game engine integrations

APEX Clothing module was used in following games (most notable examples):

APEX Clothing module is integrated into following engines:


Other notes

See also

External links


Personal tools
Jump To