Archive for 2010
Activeworlds Inc. has announced recently that their Active Worlds 3D virtual reality platform now features PhysX SDK integration, including rigid body physics, joints and, more interesting, cloth simulation.
In Active Worlds you can explore virtual worlds and environments that others have built, interact with other users or build structures and areas of your own. Originally this project was started in 1995, so don’t be confused by outdated graphics.
You can find PhysX integration demos in this thread or just spend some time to log into AW and visit physics playground by yourself. Download Active Worlds 5.1 Browser from here, log in as “Tourist” (autoupdate process may occure) and teleport to “AWPhysics” world.
Another update has arrived for PhysX Visual Debugger – debugging application for capturing and analyzing data from PhysX SDK scene.
UPDATE [15.04.2011]: PhysX Visual Debugger 2.0.9 was uploaded, however, it seems that release notes are covering only changes in 2.0.8. version.
Update #2: PVD 2.1 is available.
*** 12-17-2010 ***
- !Fixed bug where lead developer wasn’t updating the release notes like he should have been!
- Added three large new features, clips, annotations, and profile information.
- Made camera movement work better with non-y up axis configurations.
- Clips and a project system. You can now split and crop a large capture arbitrarily to create clips. These are all stored together with the project and should allow users to reduce the size of the dataset they are dealing with when they have a large capture. You can also toggle active recording while PVD is capturing. Non-recorded data is of course discarded, each recorded section gets placed into a new clip.
So we have two use cases supported, the first is to just capture everything then trim out parts that you don’t need. The second is to toggle the recording during capture to trim out things you don’t need at the source.
- Profiling information is now available for 3.0 datasets on any platform where pvd is supported. New profile view. View the profiling information captured for one physx frame at a time.
- Right click and graph any event over the course of the clip.
- Annotations allow users to mark portions of the presentation where something interesting happens. They save the application state (camera, current frame, etc) and have an arbrary name and description field. This allows devs to communicate with the physx team and each other specific problems (frame X, dude walks through wall here. Frame Y, box falls through floor). Ctrl-alt-A is your friend, along with the profile view.
- 3.0 physx scenes allow pausing just like 2.8 did. So you can pause a running 3.0 scene. This works because every actual scene object captures and releases a mutex every frame (at the beginning of the simulate call). So we won’t pause your application if you are running physx in separate threads than the render or game thread; we will definitely hang the physx related threads while PVD is paused, however. You can toggle pause during recording by hitting the space bar.
Clips and Annotations information change the nature of PVD to more of a tool that you can capture a dataset with and work in it for a while as well as send the project around for multiple people to comment on various aspects of the capture.
Profiling is already quite useful but is rough and could use feedback around more use cases.
You can download PhysX Visual Debugger 2.0.8 via Developer Support Center.
If you are experiencing trouble with registration of PhysX Developer account, please refer to our registration guide.
New version of FluidMark, benchmarking tool for GPU PhysX setups, is available for download.
Update: hotfix version 1.3.1 released
- Bugfix: online submission didn’t work properly when the nickname field was filled.
- Change: now Win32 Setup installs two shortcuts: FluidMark.exe (single GPU) and etqw.exe (SLI / CrossFire).
- New: scoring system change. Now the global score is the sum of PhysX score and GraphX (3D rendering) score. The global score is more appropriate to reflect the gain brought by a dedicated PhysX card.
- New: added a new option to increase the graphics workload ([More graphics load] checkbox).
- Bugfix: fixed GPU memory allocation. Now you can run more than 700’000 SPH particles.
- Change: online submission improved.
- Change: updated GPU monitoring code with latest version of ZoomGPU (1.5.11)
- Change: removed [Heavy PhysX mode] and [Use particle count] checkboxes.
You can download FluidMark 1.3.0 from here
NVIDIA has released a first public version of PhysX SDK for Mac OS X.
Feature set is almost the same as for PhysX SDK 2.8.4 for PC, but unfortunately, Mac version is missing GPU PhysX support.
You can download PhysX SDK 2.8.4 for Mac OS X via Developer Support Center.
If you are experiencing trouble with registration of PhysX Developer account, please refer to our registration guide.
Marvelous informational video was uploaded today by our regular reader – Andrew Elliott (also known as elliottad or MohawkADE). It is related to overview of Ageia PPU card history and it’s place in current hardware accelerated PhysX infrastructure.
Also, you can find full transcript at our forums.
- How to put the Demos back in the PhysX Control Panel: Video Guide
- How to restore Ageia PPU support with latest NVIDIA Drivers: Video Guide
If you own an Ageia PhysX card, planning to buy one, or just interested in PhysX lifecycle – this video is worth watching without doubt
If you’re watching over Carmageddon remake, powered by XNA and PhysX.NET wrapper, we’ve got a surprise for you – first public beta version of OpenC1 project (that’s how it is called now, due to copyright issues) was released today.
Update: v1.1 available, should fix some of the crashes.
Update #2: version 1.3.1 available
Basically, OpenC1 is a accurate remake of classic Carmageddon by Stainless Software (original data files are used, but underlaying code is completely new). Currently, all basic systems (car physics, opponents AI, carcase deformation, pedestrians, sound, user interface, race logic, etc) are already implemented.
- Install XNA Framework 3.0
- Install latest PhysX System Software.
- Download OpenC1 v1.1 Beta from original post. Extract the OpenC1 files, check out the readme.txt, then run OpenCarmageddon.exe.
Remember that this is still early beta, and stable work is not garanteed. Please report found bugs and errors here.
Those of you who are familiar with PhysX plug-in for 3ds Max (for example, recently released 2.40 version) may already notice that by default simulation is not going as smooth as you can expect – rigid body objects are often interpenetrating each other, jittering and jiggling (especially when stacked) , and so on – making it hardly suitable for some scenes.
UPDATE: Not valid for 2.60 PhysX plug-ins and above
So, we’ve contacted Gavin Kistner, Product Designer for PhysX Max and Maya plug-ins at NVIDIA, and he gave us several tips, using those you can deal with simulation stability problems in most of the cases:
TIP I – Increase Frame Rate
If rigid bodies are showing inaccurate behaviour, this is indicating that physics engine is just not performing enough simulation substeps between frames. To fix that (as separate substeps control is yet not availalbe in public versions of PhysX plug-in) you can simply increase Frame Rate before previewing or baking the simulation (and than revert it back to normal during composing, for example).
To illustrate this tip, let’s set up a simple scene – several rigid body planks falling one at each other, trying to form a stack.
With default Frame Rate – 30 fps (shown above), simulation is just messed up. At certain frame planks are stuck together, solver is trying to resolve inter-collisions and repels planks – stack collapses.
Interesting paper, called “Scalable Fluid Simulation using Anisotropic Turbulence Particles” has appeared at homepage of Dr. Markuss Gross, from ETH Zurich.
As far as we know, same solver is used in APEX Turbulence module.
It is usually difficult to resolve the fine details of turbulent flows, especially when targeting real-time applications. We present a novel, scalable turbulence method that uses a realistic energy model and an efficient particle representation that allows for the accurate and robust simulation of small-scale detail. We compute transport of turbulent energy using a complete two-equation k–e model with accurate production terms that allows us to capture anisotropic turbulence effects, which integrate smoothly into the base flow. We only require a very low grid resolution to resolve the underlying base flow.
As we offload complexity from the fluid solver to the particle system, we can control the detail of the simulation easily by adjusting the number of particles, without changing the large scale behavior. In addition, no computations are wasted on areas that are not visible. We demonstrate that due to the design of our algorithm it is highly suitable for massively parallel architectures, and is able to generate detailed turbulent
In addition, this paper comes with nice video demonstration (92 mb). It is worth to watch.
Thanks to AquaGeneral for the link.
Now, when Subscription Advantage Pack for 3ds Max 2011 and 3ds Max Design 2011 was released, we can verify that it includes updated version of PhysX plug-in, designated as 2.40.0808.2140, avaialble in 32- and 64-bit variants and based on PhysX SDK 188.8.131.52.
Update: How to achieve quality simulation with PhysX plug-in for 3ds Max
Update #2: New PhysX plug-n v. 2.60 released
Unfortunately, APEX Clothing tools are in not included in this version of the plug-in.
Note: To use this plug-in with RayFire Tool, you need to update RayFire to version 1.51.02
For those of you, who still can’t decide if new PhysX plug-in is worth the update, here are full Release Notes we took from documentation:
Issues Fixed (Present in Previous Releases)
- [#5023] Rotating collision shape on biped does not maintain position in space
- [#4936] Resetting a project does not reset PhysX global settings
- [#5022] Capsule’s shape is altered incorrectly when height or radius is modified
- [#5061] Loading a project from 2010 with constraint fails to load in Max2011
- [#5098] Constraint Swing Y and Swing Z reversed in UI
New Known Issues
- [#5107] Baking rigid bodies attached to constraints yields incorrect results
- [#5152] Baking to keyframes offsets values when Start Frame is not 0
- [#5153] Initial Spin speed not in degrees per second
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.
- 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).