Free source code access for Windows, Linux, OS X and Android.
Real-time simulation and rendering of realistic hair and fur
A very interesting presentation from Game Developer Conference 2013 – “Enhancing Hawken and PlanetSide 2 Through Turbulence and Destruction” by Dane Johnston (NVIDIA), Aron Zoellner (NVIDIA), Tramell Isaac (SOE) and Ryan Elam (SOE) – is now finally available for replay from GDC Vault.
The presentation covers the basic features and authoring pipeline of APEX Turbulence and APEX Destruction modules, among other modules, and also provides a little post-mortem on how those modules were utilized to enhance several latest GPU PhysX games – PlanetSide 2 and Hawken.
It was also revealed during the talk, that with current implementation of GPU physics effects in Planetside 2 developers have only “scratched the surface of what APEX can do”, as more advanced content, including enhanced Turbulence effects, Destructible environments (like player created bases) and potentially Environmental cloth will be coming to the game in the future. Good news for PlanetSide 2 players.
During Hawken and APEX Destruction part, it was mentioned that upcoming improvements for the Destruction module will include networking sync support, damage based vertex coloring, more authoring tools options (PhysX plug-ins, third party) and also a new damage system, that is based on artist feedback.
Finally, the APEX Hair & Fur was mentioned as the upcoming module.
Position Based Fluids – this fluid simulation technology has indeed got some attention lately, and now, new “Position Based Fluids” paper by Miles Macklin (NVIDIA) and Matthias Müller-Fischer (NVIDIA) can give one a proper insight on the algorithm.
In fluid simulation, enforcing incompressibility is crucial for realism; it is also computationally expensive. Recent work has improved efficiency, but still requires time-steps that are impractical for real-time applications.
In this work we present an iterative density solver integrated into the Position Based Dynamics framework (PBD). By formulating and solving a set of positional constraints that enforce constant density, our method allows similar incompressibility and convergence to modern smoothed particle hydrodynamic (SPH) solvers, but inherits the stability of the geometric, position based dynamics method, allowing large time steps suitable for real-time applications.
We incorporate an artificial pressure term that improves particle distribution, creates surface tension, and lowers the neighborhood requirements of traditional SPH. Finally, we address the issue of energy loss by applying vorticity confinement as a velocity post process.
Latest iteration of real-time fracturing and destruction technology, showcased at GDC 2013, is now explained in a new “Real Time Dynamic Fracture with Volumetric Approximate Convex Decompositions” paper by Matthias Müller-Fischer (NVIDIA), Nuttapong Chentanez (NVIDIA) and Tae-Yong Kim (NVIDIA).
We propose a new fast, robust and controllable method to simulate the dynamic destruction of large and complex objects in real time. The common method for fracture simulation in computer games is to pre-fracture models and replace objects by their pre-computed parts at run-time. This popular method is computationally cheap but has the disadvantages that the fracture pattern does not align with the impact location and that the number of hierarchical fracture levels is fixed.
Our method allows dynamic fracturing of large objects into an unlimited number of pieces fast enough to be used in computer games. We represent visual meshes by volumetric approximate convex decompositions (VACD) and apply user-defined fracture patterns dependent on the impact location.
The method supports partial fracturing meaning that fracture patterns can be applied locally at multiple locations of an object. We propose new methods for computing a VACD, for approximate convex hull construction and for detecting islands in the convex decomposition after partial destruction in order to determine support structures.
We must note that this research is specifically targeted to be implemented in upcoming versions of APEX Destruction module.
Many of you may have already seen an impressive real-time destruction and fluid simulation demo from GDC 2013.
Update: Position Based Fluids explained
We won’t talk about fracturing technology today, instead, let’s focus on the new fluid simulation algorithm, presented in the demo – it is known as Position Based Fluids.
Position Based Fluids is a way of simulating liquids using Position Based Dynamics (PBD), the same framework that is utilized for cloth and deformables simulation in PhysX SDK.
Because PBD uses an iterative solver, it can maintain incompressibility more efficiently than traditional SPH fluid solvers. It also has an artificial pressure term which improves particle distribution and creates nice surface tension-like effects (note the filaments in the splashes). Finally, vorticity confinement is used to allow the user to inject energy back to the fluid.
More details on this a new technique will be available later on, in a SIGGRAPH 2013 paper “Position-Based Fluids” by Miles Macklin and Matthias Mueller-Fischer, and we also expect it to be included in future versions of PhysX SDK or APEX modules.
Updated PhysX plug-ins – 2.89.00313 for 3ds Max and Maya – are now available for download.
Update [7/17/2013]: Plug-ins version 2.89.00705 for 3ds Max and Maya released. Please see the Release Notes below.
Update #2: 2.91 PhysX plug-ins are available
|2.89.00313 PhysX plug-in for 3ds Max: Release Notes|
- New Features
- Updated PhysX 2.8.5 and 3.2.3
- Updated APEX 1.2.3
- Fix GPU Simulation Disabled bug when choosing HW mode.
- Fix qs tangent space issue.
2.89.00705 Update Release Notes
- New Features
- Support 3ds Max 2014.
- Exporting material names when exporting PhysX scene.
- Support making dummies as constraint directly via toolbar or menu.
New PhysXLab 1.2.3 was released by NVIDIA today.
Update: PhysXLab 1.2.4 is released
Only several minor bug-fixes and updated PhysX/APEX SDK compatibility are included in 1.2.3 version.
|PhysXLab 1.2.3 – Release Notes|
- New Features
- APEX 1.2.3 support.
- PhysX SDK 3.2.3 support.
- Hull simplification.
- DE7358: Bad APEX convex hull creation in 3.x.
- DE7335: T-junction removal is causing crashes.
- DE7104: Min Fracture Depth not being set in the exported APX if set in the playground.
Folks at TomsHardware have kindly uploaded an onscreen recording of the “Post Mortem: GPU Accelerated Effects in Borderlands 2” talk, which was presented at GPU Technology Conference (GTC 2013) and, later on, at Game Developer Conference (GDC 2013) in March, and is not yet available through official channels.
The presentation covers the implementation details and the authoring process of the extra physics effects (impact debris particles, simulated cloth and SPH fluids) for one of the best game with GPU PhysX support – Borderlands 2.
The following demo is quite interesting – it is showcasing real-time particle simulation, using APEX Turbulence module and CryEngine from Crytek.
This one should be approached carefully: it is not the official feature of the CryEngine, more like a proof of concept of how APEX can be utilized in non-PhysX SDK based game engine.
Demo is using custom particle system (simplified version of the one from PhysX SDK) and Turbulence driven velocity fields to control particle motion. Interactions with level geometry and rigid body objects are also supported.
Such technology may offer some interesting new possibilities for GPU PhysX games.
Update: Real Time Dynamic Fracture explained.
Update #2: Introduction to Position Based Fluids.
This demo, showcased at GDC 2013, was used to demonstrate several new features, which will be included in future versions of PhysX SDK and APEX – rigid body simulation with real-time fracturing, improved SPH fluid solver and interaction between the two.
However, due to its simplified nature, PhysX 3 cloth solver is also missing some features, such as tearing, two-way interaction with rigid bodies and self-collision support.
As the first step, updated version of the clothing solver, which will be introduced in PhysX SDK 3.3 and APEX Clothing 1.3 module, will include new self-collision algorithm, that will allow cloth to behave more naturally and also improve formation of folds and wrinkles.
In addition to self-collision, improved cloth solver also supports inter-collision between multiple cloth actors (take that, 2.8 cloth !) for qualitative simulation of complex multi-layered clothing.
For a note, full-body clothing assets, presented in the video, contain roughly ~ 10 000 simulated cloth vertices each and are running on GPU in real-time.