Free source code access for Windows, Linux, OS X and Android.
Real-time simulation and rendering of realistic hair and fur
During the closed beta, SOE’s PlanetSide 2 has shown us some impressive GPU PhysX tech, such as APEX Turbulence based particles, running on a newest PhysX 3 engine.
However, the hardware PhysX effects have not made it into final release of the game, happened several months ago, as it was decided to enhance some aspects of their implementation.
Update: GPU PhysX effects were postponed once again. Mr. Tramell has refused to provide another release date.
Update #2: There is a way to force the PhysX effects to appear in a current state, but is it worth it?
NVIDIA has released yet another set of bug-fixes for PhysX SDK 3.x
Update: PhysX SDK 3.2.4 is available
|PhysX SDK 3.2.3 – Release Notes|
- Quaternions passed through the API are now considered valid if their magnitude is between 0.99 and 1.01.
- Fixed crash when running out of memory on creation of a triangle mesh.
- For applications using floating point exceptions, the SDK will now mask or avoid exceptions arising from invalid floating point operations (inexact and underflow exceptions may still be generated).
- Fixed a bug with recursive use of the PxScene read/write lock.
- Fixed a shutdown bug with very short lived threads on Linux platforms.
- PhysX version number in error messages now printed in hex for easier reading.
- Broad Phase
- Fixed a broad phase crash bug that occurred when deleting shapes with bounds very far from the origin.
New “Fast Simulation of Inextensible Hair and Fur” paper from Dr. Matthias Müller-Fischer and PhysX Research team is a further extension of the work on realtime fur and hair simulation, previously demonstrated at GDC 2012.
Update: Introducing NVIDIA HairWorks – fur and hair simulation solution, based on the research
In this short paper we focus on the fast simulation of hair and fur on animated characters. While it is common in films to simulate single hair strands on virtual humans and on furry animals, those features are either not present on characters in computer games or modeled with simplified textured meshes. The main difficulty of simulating hair in real time applications is the sheer number of hair strands and the fact that each hair is inextensible. Keeping thousands of deformable objects from being stretched is computationally expensive.
In this paper, we present a robust method for simulating hair and fur that guarantees inextensiblity with a single iteration per frame. For an iteration count this low, existing methods either become unstable or introduce a substantial amount of stretching. Our method is geometric in nature and able to simulate thousands of inextensible hair strands in real time.
Like with any other research projects, there is a high probability that this particular technology will be utilized in future releases of PhysX SDK or APEX.
A Beta version of the Catzilla benchmark, developed by Plastic Demo in collaboration with Polish post production company, Platige, is now available for download.
Catzilla is a cross-API (OpenGL 4.0 and DirectX 9/11) benchmark designed the Windows platform, and is also featuring a parallel graphics engine that can take advantage of multi-core CPUs.
Benchmark consists of the main demoscene-style dubstep-heavy giant cat fight scene, which stresses both CPU and GPU, and a set of smaller benchmarks – CPU rigid body physics, GPU smoke simulation, fur rendering, etc.
As interesting note, Catzilla uses PhysX SDK 3.2 as physics engine, however, it is running purely on CPU (as confirmed by one of the developers).
Update: Hawken – official PhysX trailer
Update #2: full GPU PhysX support will be enabled in March 5 update
Update #3: GPU PhysX in Hawken – review and benchmarks
What kind of PhysX content current Beta has to offer ? Let’s find out.
Hawken still contains only physical particle PhysX effects, however, they have recieved a noticable overhaul over a recent month. APEX Turbulence based simulations were postponed as it was decided to give them a few rounds of additional polishing. Finally, APEX Destruction module and destructible environments will be added to the game in early 2013.
Current set of PhysX Particles includes following effects:
- Particles from explosions and impact debris (pieces of concrete, strips of metal, etc).
- Small parts and chunks flying off on weapon impacts on mechs.
- Additional debris generated as mech walks, dashes or lands.
- Forcefields (from explosions and moving mechs) to push around any ambient PhysX particles.
In overall, particle effects are done well, they are pretty intense (battlefield will be covered with chunks and debris in just a few seconds after first machine gun bursts) and are adding a certain amount of juice to the visual look of the game. We can name only one flaw – particle effects lack variety, a little.
APEX SDK 1.2.2 update is now available for download.
Update: APEX SDK 1.2.3 released
New release features PhysX SDK 3.2.2 support, includes a bunch of bug-fixes and several new interesting features, like the ability to calculate static stress for destructible objects.
Updated authoring tools will follow.
|APEX SDK 1.2.2 – Release Notes|
- APEX Framework 1.2.2
- APEX requires the use of the PhysX 3.x scene multiple-reader-single-writer lock to access both APEX and PhysX scene objects when using the PxSceneFlag::eREQUIRE_RW_LOCK flag. This allows the application using APEX to access PhysX objects from multiple threads.
- APEX Destruction 1.2.2
- Option to include use of stress solver in destructibles. The stress solver attempts to detect and break off chunks deemed to be overly-strained.
- Introduced a new parameter struct “StrutureSettings” in the destructible actor. Parameters that make up “StructureSettings” affect all actors’ settings structure-wide.
- New parameters “useStressSolver”, “stressSolverTimeDelay” and “stressSolverMassThreshold” introduced for the stress solver.
- Option to remove all T-junctions from a fractured mesh. This allows post-processing such as deformation to be applied (for example in a DCC tool).
- Ability to control the interior materials used when fracturing selected chunks.
- Ability to add noise to the perimeter faces of cutout chunks.
- APEX Clothing 1.2.2
- New ClothingMeshSkinningMap API to get mesh skinning information, so it can be done in the application.
- New API to add collision objects to a clothing actor. This can be used to implement collision with world objects.
NVIDIA has released an updated set of PhysX plug-ins for 3ds Max and Maya, versioned as 2.87.01125.
Update: 2.88 PhysX plug-ins are available.
|2.87.01125 PhysX plug-in for 3ds Max: Release Notes|
- New Features
- Updated PhysX 2.8.x and 3.2.1
- Updated APEX 1.2.1
- Regenerate does not work on selected nodes.
- Bone fins create collision shapes on RB ragdoll/RB creation.
- Fast Previewer doesn’t simulate for LOD 1.
- Convex cooking bugs with default cooking library which generates best hull. Convex vertex limit is now disabled.
- Statistics is not refreshed after creating new clothing.
- Contact report not working with PhysX engine 3.2.
- CoreDump uses wrong file name.
- Crashes on file load.
- Script bug with 3ds Max 2009, related to FBX version check.
- L2N does not save-load properly.
- Fix CCD bug. Release NXU Persistent Memory, including CCD skeleton etc.
- Fix 3dsMax repx unit export problem.
- Fix Global scaling support.
PlanetSide 2 is an MMO first-person shooter under development by Sony Online Entertainment and, along with Hawken, another title with GPU PhysX support arriving this year.
Update: initial release of PlanetSide 2 won’t have any of the GPU PhysX effects, they will be added later, in one of the patches.
Recent beta patch has added preliminary PhysX content to the game and we decided to give it an inspection.
PlanetSide 2 is the first major game title to utilize PhysX SDK 3.x (SDK 3.2 specifically). PhysX integration is powering almost every physics calculation in the game – collision and hit detection, character controller, aerial and land vehicle physics and so on. As interesting note, PlanetSide is also using upcoming APEX Dynamic Systems module for vehicle modelling.
Update: official download link
- This version fixes a bug that caused some applications including Unreal Tournament III, Trine, and Metro 2033 not to launch.
You can download PhysX System Software 9.12.1031 from our server (25 mb).
Please Note: to play old PhysX SDK based games (released prior to 2007) one may require to perform a one-time install of special PhysX Legacy Driver.
Hawken, upcoming online mech-based shooter with GPU PhysX support, has entered stage #2 of closed beta testing. We have decided to examine the current state of hardware accelerated PhysX content in this title.
Update: PhysX effects in Hawken Open Beta. What has changed ?
But so far, only lowest level of PhysX Effects (“PhysX Particles – Low” option) is available, which includes only physical particles of various types – impact debris, scraps from explosions and destroyed robots, concrete chunks as result of mech movement.
Current effects are looking not bad, but to be honest, some additional polishing won’t hurt (for example, particles are not casting shadows and impacts on metal surfaces should emit sparks, not debris). Let’s just blame the Beta state.
Of course, one can disable all extra PhysX content completely, by setting “PhysX Particles” option to “Off”.
As it was announced previously, APEX Turbulence and APEX Destruction modules will also make their appearance in this game, but we don’t have a confirmation currently, whether they will available at launch or released as post-launch update.
As the release date (December 12) approaches, we will try to keep a close eye on Hawken. Meanwhile, you can join the discussion at our forum.