Skip to main content

Khronos Blog

openCOLLADA Maya exporter now with NVIDIA PhysX support

Requisites:

COLLADA has had support for embedding physics information into a document for a long time but it has never been easy to take advantage of. Adding NVIDIA PhysX Maya plugin and openCOLLADA plugin together makes physics export much more practical.

openCOLLADA filter export settings

For reference, the COLLADA specification [https://www.khronos.org/files/collada_spec_1_4.pdf - chapter 6, page 171, COLLADA Physics Reference], defines how the <physics_scenes> can be defined, referencing <physics_models> with their <right_body> and <rigid_constraint>. With the updated openCOLLADA Maya exporter, all those elements are created on export when created using the PhysX plugin in Maya.

COLLADA defines a lot of physics properties available across physics engines such as PhysX and Bullet. However there are additional parameters specific to NVIDIA PhysX that are very much needed when integrating the run-time in a game engine.

openCOLLADA NVIDIA PhysX parameters

A new extension has been written to add most of the NVIDIA PhysX engine parameters to a COLLADA document. Such documents can be imported into engines using PhysX as the physics engine to get a fully working PhysX scene.

openCOLLADA PhysX Scene

Generating a COLLADA document containing a PhysX extension can be easily achieved by exporting a scene from Maya using the NVIDIA PhysX plugin and the OpenCOLLADA plugin for Maya. Once the document is imported, physics simulation in an engine using the PhysX SDK can now match physics simulation in Maya.

Extended COLLADA elements:

<physics_material>
Friction and restitution combine modes have been added to physics material.

<rigid_body>
Actor flags, rigid body flags, linear and angular damping and many other parameters have been added.

<rigid_constraint>
All parameters to fully describe a PxD6Joint in PhysX SDK have been added.

<shape>
Extension adds filters data, contact/rest offsets, PxShape flags...

The extension specifications have been added to the COLLADA extension registry, and can be found here: https://www.khronos.org/collada/wiki/Starbreeze_OpenCOLLADA_extensions

In addition, here’s a working example.zip that can be loaded into Maya, and exported to COLLADA.

openCOLLADA

We hope you find this useful. If you have any questions, please contact .(JavaScript must be enabled to view this email address) or .(JavaScript must be enabled to view this email address).

Comments