APEX Clothing

From PhysX Wiki

Jump to: navigation, search
APEX Clothing
x
Latest version(s): 1.1
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 (APEX C) 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, PC + NVIDIA GPU, Xbox 360 and PS3 platforms.

APEX Clothing 1.0 was released for public as part of APEX 1.0 Beta, and now can be used in any game/engine, free of charge.

Contents

Overview

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).

Because of this approach, APEX Clothing in not very well suited for simulation of free-hanging cloth objects (banners, flags, etc) - some NxCloth functionality, like tearing, two-way interaction with rigid bodies and pressure, is not supported.

In addition, APEX C includes softbody simulation, but this feature is not fully complete yet.

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

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.

Supplementary mechanisms, like gravity compensation, hard stretch limitation and manual substepping are used to reduce cloth stretchiness and ensure simulation stability.

GPU acceleration feature and multithreaded optimizations (for PhysX SDK 2.x - throught compartments) are available as well. On PS3 platform clothing actors can utilize multiple SPUs for simulation.

Current version APEX Clothing module is based on PhysX SDK 2.8.4.

Other features:

Version History

Version Release date Description
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

Games and game engine integrations

APEX Clothing module was used in following games:

Detailed clothing on characters (Bruce Wayne, thugs) on PC (with GPU PhysX enabled) and hair-simulation during pre-rendered cutscenes on consoles. Environmetal cloth: dynamic papers, leaves, posters, banknotes (only with GPU PhysX enabled).
Minor cloth objects - curtains, "dynamic" newspapers and tents. Part of GPU PhysX effects.
Used in character creator, introduced as part of Incursion add-on. Clothing and hair simulation. Is calculated on CPU, no GPU acceleration support.
Clothing on main character and several NPC. PC version only. GPU PhysX effect.
APEX Clothing in Mafia II - comparison video.


APEX Clothing module is integrated into following engines:

Gallery

Other notes

See also

External links

Tutorials


Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Jump To