Rigid body OpenCOLLADA extension
Jump to navigation
Jump to search
| Extension information |
|---|
|
| This article is part of the COLLADA extensions directory |
| Adding to the extensions directory |
<rigid_body>/<extra>/<technique profile="PhysX_3.x"> Element
- Specification Version: 1.4.1
- Category: (Physics) Physics Model
Introduction
- COLLADA format allows Physics scene description. However only a small set of parameters are supported. This extension allows to embed full set of parameters supported by PhysX 3.x.
- See PhysX 3.x documentation for further details about each parameter.
Note relative to transforms
- COLLADA does not define any transform for <rigid_body> element and supposes rigid body's initial transform is taken from <instance_rigid_body>’s target. In Maya, a rigid body can have a different transform than its targeted node. Importers can use <global_pose> element to get the actual transform used by PhysX SDK in Maya. Importing and using <global_pose> is optional but if an importer chooses to use <global_pose> then it must use <shape>/<extra>/<technique profile=”PhysX_3.3”>/<local_pose> and <rigid_constraint>/<extra>/<technique profile=”PhysX_3.3”>/<local_pose0>|<local_pose1> and ignore standard COLLADA shape transform and constraint <ref_attachment>/<attachment> transforms.
Related Elements Affected Parent element(s) <rigid_body> Extra and/or Technique <extra>/<technique profile=”PhysX_3.x”> Child elements See following section
Child Elements Name Description Default Occurrences <px_rigid_body> Extension’s root element. N/A 0 or 1
Child Elements for px_rigid_body
- Child elements must appear in the following order if present:
Name Description Default Occurrences <global_pose sid=”...”> 7 floating point values: 4 for rotation quaternion and 3 for translation. N/A 1 <actor_flags> Any combination of VISUALIZATION, DISABLE_GRAVITY, SEND_SLEEP_NOTIFIES, DISABLE_SIMULATION. See PxActorFlags documentation. VISUALIZATION 0 or 1 <dominance_group> integer 0 0 or 1 <owner_client> integer 0 0 or 1 <rigid_body_flags> See PxRigidBodyFlags. Can be any combination of KINEMATIC, USE_KINEMATIC_TARGET_FOR_SCENE_QUERIES, ENABLE_CCD, ENABLE_CCD_FRICTION. No flag 0 or 1 <min_ccd_advance_coefficient sid=”...”> Floating point value. 0.15 0 or 1 <max_depenetration_velocity sid=”...”> Floating point value INF 0 or 1 <linear_damping sid=”...”> Floating point value 0 0 or 1 <angular_damping sid=”...”> Floating point value 0 0 or 1 <max_angular_velocity sid=”...”> Floating point value 7.0 0 or 1 <sleep_threshold sid=”...”> Floating point value 5e-5 0 or 1 <stabilization_threshold sid=”...”> Floating point value 1e-5 0 or 1 <wake_counter sid=”...”> Floating point value 0.4 0 or 1 <min_position_iters sid=”...”> Integer value 4 0 or 1 <min_velocity_iters sid=”...”> Integer value 1 0 or 1 <contact_report_threshold sid=”...”> Floating point value INF 0 or 1
Example
<rigid_body name=”RB0”>
<dynamic>true</dynamic>
...
<extra>
<technique profile=”PhysX_3.x”>
<px_rigid_body>
<global_pose>0 0 0 1 0 0 0</global_pose>
<actor_flags>VISUALIZATION</actor_flags>
<dominance_group>1</dominance_group>
<owner_client>0</owner_client>
<rigid_body_flags>KINEMATIC ENABLE_CCD</rigid_body_flags>
<min_ccd_advance_coefficient>0.15</min_ccd_advance_coefficient>
<max_depenetration_velocity>1e32</max_depenetration_velocity>
<linear_damping>0</linear_damping>
<angular_damping>0</angular_damping>
<max_angular_velocity>7</max_angular_velocity>
<sleep_threshold>5e-7</sleep_threshold>
<stabilization_threshold>24.059</stabilization_threshold>
<wake_counter>0.4</wake_counter>
<min_position_iters>8</min_position_iters>
<min_velocity_iters>4</min_velocity_iters>
<contact_report_threshold>3.40282e38</contact_report_threshold>
</px_rigid_body>
</technique>
</extra>
</rigid_body>