Archive for the ‘Cloth’ tag
What to expect from GPU PhysX in Batman: Arkham City ?
Batman: Arkham City tests the patience of PC gamers with several release delays, but will try to wheedle them with DX 11 Graphics and PhysX Technology.
Update: GPU PhysX in Batman: Arkham City - review and comparison video.
Recent comparison trailer gave us a glimpse of extra physics effects, and now we want to provide you with some additional details on what to expect from GPU PhysX content. In addition, new comparison PhysX video was released as well.
As usually, it will be possible to adjust level of in-game physics via “Hardware Accelerated PhysX” option in game’s launcher. There will be three settings:
PhysX Off: all GPU accelerated effects are disabled, only standart CPU physics (like ragdolls) is used.
PhysX Normal: enables additional particles effects (debris, volumetric smoke and steam, etc) and destructible environments.
PhysX High: includes all effects enabled withing “Normal” settings as well as realtime cloth and clothing simulation.
PhysX 3.1 is ready for download, introduces public binary SDK for Android
Following previosly revealed roadmap, NVIDIA has updated 3.x generation of PhysX physics engine to version 3.1

List of publicly available free binary PhysX SDKs includes SDK for Windows PC, Linux, Mac OSX and, for the first time, Android platforms.
Update: PhysX SDK 3.1.1 is available for download
Update #2: PhysX SDK 3.2 Beta released
PhysX SDK 3.1 Release Notes:
General
- VC10 support has been introduced.
- VC8 support has been discontinued.
- Upgraded GPU tech to CUDA 4.
- Various improvements to Foundation and classes shared with APEX.
- Extensions, Character Controller and Vehicle source code made available in binary distribution.
- Namespaces cleaned up.
- Cleaned up a large number of warnings at C++ warning level 4, and set SDK to compile with warnings as errors.
- No longer passing NULL pointers to user allocator to deallocate.
- Added x86,x64 suffix to PxTaskCUDA.dll
- Removed boolean return value from PxScene::addActor(…), and similar API calls.
- Removed individual sample executables in favor of SampleAllInOne from PC and console builds.
- Fixed alpha blending in samples.
- Simplified some code in samples.
- Improved ambient lighting in samples.
- Made samples work with older graphics cards.
- Renamed some XBOX 360 specific files and folders.
- Improved and added more content the user’s guide.
PhysX Research: adding physics to animated characters with Oriented Particles
Another interesting research paper was published by Dr. Matthias Müller-Fischer, PhysX SDK Research Lead in NVIDIA.
Update: Oriented Particles solver through CUDA

It is called Adding Physics to Animated Characters with Oriented Particles and it further expands oriented particles approach with techniques for simulation of clothing on animated characters.
Abstract:
We present a method to enhance the realism of animated characters by adding physically based secondary motion to deformable parts such as cloth, skin or hair. To this end, we extend the oriented particles approach to incorporate animation information. In addition, we introduce techniques to increase the stability of the original method in order to make it suitable for the fast and sudden motions that typically occur in computer games. We also propose a method for the semi-automatic creation of particle representations from arbitrary visual meshes. This way, our technique allows us to simulate complex geometry such as hair, thick cloth with ornaments and multi-layered clothing, all interacting with each other and the animated character.
APEX Clothing tutorial: from Maya to UDK
User monkeYB07 has posted a video tutorial, that covers APEX Clothing authoring process in Maya and further importing of completed clothing asset into Unreal Development Kit.
Update: New complete set of official APEX Clothing tutorials, including assets import and usage in UE3/UDK.
Basic result, working dynamic cloth, can be achieved in less than 10 minutes, but proper tweaking will certanly require more time.
For additional details on APEX Clothing authoring workflow you may refer to NVIDIA tutorials and APEX C page at Unreal Developer Network.
NVIDIA Glowball demo showcases PhysX calculations on Tegra 3 device
NVIDIA has has published a nice video, that is showcasing technical demo called “Glowball”, running on their next quad-core mobile chip known as “Project Kal-EL” or Tegra 3, presumably.
Glowball demo features some complex (for a mobile device) real-time dynamic lighting and shadowing effects, and decent level of PhysX based physics calculations – rigid body barrels and drapes, fully simulated as cloth obejcts.
Cloth simulation is partically interesting: scene contains 10 drapes, likely 100-150 vertices each, affected by gravity and board movement, calculated simultaneously – new kind of physics effects for mobile devices. This tech can be used not necessarily for flags or banners, but for dynamic clothing on characters, for example.
Demo was running on PhysX SDK 2.8.4.5.
Update: More physical demos on Tegra 3 platform
Mobile devices are interesting environment for PhysX SDK to evolve and adapt, so we are eager to see how things will play out in this direction.
Clothing simulation solutions for games
Physical simulation of character clothing is yet inceptive, but very promising trend and a great way to make game characters more believable.

We are giving an overview of most interesting cloth simulation packages in our new article : “Clothing simulation solutions for games“.
APEX Clothing authoring workflow in details
One of the main features of NVIDIA APEX framework is not only complexity or quality of simulation, but artist-focused authoring pipeline, that allows easy creation of physical content without significant programmer involvement.
Update: PhysX plug-ins for Max and Maya with APEX Clothing features are available.
Update #5: New complete set of official APEX Clothing tutorials.
Authoring process in promising APEX Clothing module (you can remember its debut in Mafia II title) goes through DCC plug-ins for 3ds Max and Maya.
Following tutorials (available previously for plug-in beta users) are giving perfect overview of clothing authoring process, basic capabilities and features, using 3ds Max plug-in as an example.
Tutorial II – Physically simulated Cape
Unity 3.0 now available with PhysX enhancements
After long period of beta-testing, Unity 3.0 game development platform is available officially.

Apart from other substantial features and changes, like Deferred Render, Beast Lighmapping technology, Umbra Occlusion Culling and Unified Editor, Unity 3.0 also includes updated physics engine, based on recent version of PhysX SDK.
Physics Improvements:
- Upgraded PhysX to 2.8.3.
- Cloth and clothing simulation: use the new InteractiveCloth, SkinnedCloth and ClothRenderer components.
New in Unity 3 are two kinds of cloth: Fully physically simulated cloth effects that interact fully with the rest of the environment. The other, Skinned Cloth, is an optimized solution for garments on animated characters.
You can use it for animated shirts, trousers, skirts, capes and hair in a physically accurate way. It is highly optimized and can handle high poly animated cloth pieces.
- Layer based ignore collisions: use the Physics inspector or Physics.IgnoreCollision().
- Continuous collision detection, to make sure that fast moving colliders will not pass through other colliders. See Collider.collisionDetectionMode.
- Added Physics.SphereCast() and Physics.CapsuleCast() to implement volume raycasts.
- Added Rigidbody.SweepTest() to check if a Rigidbody would collide with anything if moved into a certain direction.
You can check most of Unity 3.0 features by yourself directly from your browser, using newest Unity Bootcamp Demo (unity webplayer is required).
Mafia II: APEX Clothing in numbers
In Mafia II, as you may notice from our comparison video, clothing simulation on main character (Vito Scaletta) is present regardless to APEX PhysX settings, main difference is in Cloth detalization and used technologies – standart PhysX Cloth (APEX PhysX Off) and more advanced APEX Clothing module (APEX PhysX Medium/High).
Clothing detalization is mostly determined by number of vertices, forming a physical cloth mesh.

So, just for curiosity, we decided to count them in Mafia II (with help of AgPerfMon profiler), using different APEX PhysX settings and various Vito’s suits.
Leather Jacket.

Mafia II is not using GPU for PhysX Clothing simulation ?
Everyone who played Mafia II will eventually notice, that enabling special APEX PhysX content will not only bring you flowing clothing and particle debris, but also significantly reduce framerate – even if you have a proper NVIDIA GPU and latest PhysX System Software.
Update: APEX Clothing in numbers
Update #2: Tests with dedicated PhysX GPU added – PART III.
While preparing our PhysX tweaking guide we have discovered that physically simulated clothing on characters is affecting performance the most. Why that ? Cloth is one of the basic effects, used intensively in many GPU PhysX games – just remember Mirror’s Edge and it’s countless tearable banners and flags. Two answers come to mind:
- Clothing simulation in Mafia II is so detailed and so high-resolution, that only top dedicated GPUs can run it at proper fps.
Unlikely. Even in most intensive scenes total cloth vertices count is not exceeding 8000, while framerate is crawling around 20 fps – on GTX 470.
- Clothing simulation is running on CPU, while it is supposed to be hardware accelerated on GPU.
Plausible. But, as our further tests have revealed, proved to be true for single GPU systems only.
Combine it with facts that a) Cloth in PhysX SDK is not using all available CPU resources by default b) Clothing is heavy computational task in any case – and you’ll see the probable reason of poor performance. Let’s check this theory.
PART I – MAFIA II BENCHMARK.
For the first part of tests we’ll use benchmark, built into Mafia II, running with two sets of APEX effects – Clothing only (Particles are disabled using methods from tweaking guide) and Particles only (Clothing is omitted) – and PhysX acceleration enabled/disabled from NVIDIA Control Panel.
Settings: 1680x1024, AO/AA On, AFx16, APEX High. System: C2Q 9400, GTX 470, 4GB RAM, Win 7 x64, 198.32 GPU drivers, PSS 9.10.0513

Interesting results. While Particles are benefiting from GPU acceleration without doubt, PhysX switch is not affecting Clothing simulation at all.
It seems our assumption was correct – APEX Clothing is calculated on CPU in any case – but let’s confirm it with some deeper research.














