Export of distance joint

Hi, all

I’m working on Collada exporter for cad application, My problem is next: I have two bodies which are joined by PointToPoint distance joint, I do know the coordinates of the joint points. In my Collada output of this joint I orient axis-X in direction point1-point2 and set x-limit as distance between points. But it doesn’t seem to be right.

Maybe somebody has any idea how to solve this issue?

Thanks,
Vladimir

Can you post a sample of your exported data that highlights your questions?

Thanks,
Mark

Below is a example of joint which assumed to be distace joint. But it works similar to point_point coincident join because of Y-limits and Z-limits

<rigid_constraint sid=“Joint0-RigidConstraint” name=“Spring(base-1, Shatun-1)”>
<ref_attachment rigid_body=“Actor0-RigidBody” name=“base-1”>
<translate>0.065686166 -0.015199227 0.005</translate>
<rotate>1 0 0 0</rotate>
</ref_attachment>
<attachment rigid_body=“Actor2-RigidBody” name=“Shatun-1”>
<translate>0.04566646 0.01 -0.020632435</translate>
<rotate>1 0 0 0</rotate>
</attachment>
<technique_common> <enabled>1</enabled> <interpenetrate>true</interpenetrate>
<limits>
<linear> <min>0.161375508 0 0</min> <max>0.161375508 0 0</max>
</linear> <swing_cone_and_twist> <min>-INF -INF -INF</min> <max>INF INF INF</max> </swing_cone_and_twist>
</limits>
<spring>
<linear>
<stiffness>0.001</stiffness>
<damping>0</damping>
<target_value>0.161375508</target_value>
</linear>
<angular>
<stiffness>1</stiffness>
<damping>0</damping>
<target_value>0</target_value>
</angular>
</spring>
</technique_common>
</rigid_constraint>

Could you provide a stripped example which is complete (may be with two boxes)?

From which CAD system you want to export?

Wu

Actually, cad system is not important. The all data what I have is two points and two objects(including their location).

There is a full example: (I’m sorry for so much text but I haven’t WEB-location where I can place it )

<?xml version=“1.0” encoding=“utf-8”?>
<COLLADA version=“1.4.0” xmlns=“COLLADA 1.4 Schema”>
<asset>
<contributor>
<author>NxuStream2 converter - http://www.ageia.com</author>
<authoring_tool>PhysX Rocket, PhysX Viewer, or CreateDynamics</authoring_tool>
<comments>questions to: jratcliff@ageia.com</comments>
<source_data>C:\Example1.dae</source_data>
</contributor>
<created>2008-08-22T15:57:01.562Z</created>
<modified>2008-08-22T15:57:01.562Z</modified>
<unit meter=“1” name=“meter”/>
<up_axis>Y_UP</up_axis>
</asset>
<library_materials>
<material id=“Material” name=“Material”>
<instance_effect url=“#Material-fx”></instance_effect>
</material>
<material id=“SWMaterial-0” name=“SWMaterial-0”>
<instance_effect url=“#SWMaterial-fx-0”></instance_effect>
</material>
<material id=“SWMaterial-1” name=“SWMaterial-1”>
<instance_effect url=“#SWMaterial-fx-1”></instance_effect>
</material>
</library_materials>
<library_effects>
<effect id=“Material-fx” name=“Material”>
<profile_COMMON>
<technique id=“Material-fx-COMMON-0” sid=“COMMON”>
<phong>
<ambient>
<color>0.803922 0.588235 0.92549 1</color>
</ambient>
<diffuse>
<color>0.803922 0.588235 0.92549 1</color>
</diffuse>
<specular>
<color>0.631373 0.631373 0.631373 1</color>
</specular>
<shininess>
<float>1</float>
</shininess>
<reflective>
<color>0 0 0 1</color>
</reflective>
<transparent>
<color>1 1 1 1</color>
</transparent>
<transparency>
<float>0</float>
</transparency>
</phong>
</technique>
</profile_COMMON>
</effect>
<effect id=“SWMaterial-fx-0” name=“SWMaterial-0”>
<profile_COMMON>
<technique id=“Material-fx-COMMON-1” sid=“COMMON”>
<phong>
<ambient>
<color>0.000000 1.000000 0.000000 1</color>
</ambient>
<diffuse>
<color>0.000000 1.000000 0.000000 1</color>
</diffuse>
<specular>
<color>0.000000 0.500000 0.000000 1</color>
</specular>
<shininess>
<float>0.400000</float>
</shininess>
<reflective>
<color>0 0 0 1</color>
</reflective>
<transparent>
<color>1 1 1 1</color>
</transparent>
<transparency>
<float>0.000000</float>
</transparency>
</phong>
</technique>
</profile_COMMON>
</effect>
<effect id=“SWMaterial-fx-1” name=“SWMaterial-1”>
<profile_COMMON>
<technique id=“Material-fx-COMMON-2” sid=“COMMON”>
<phong>
<ambient>
<color>1.000000 0.000000 0.000000 1</color>
</ambient>
<diffuse>
<color>1.000000 0.000000 0.000000 1</color>
</diffuse>
<specular>
<color>0.500000 0.000000 0.000000 1</color>
</specular>
<shininess>
<float>0.400000</float>
</shininess>
<reflective>
<color>0 0 0 1</color>
</reflective>
<transparent>
<color>1 1 1 1</color>
</transparent>
<transparency>
<float>0.000000</float>
</transparency>
</phong>
</technique>
</profile_COMMON>
</effect>
</library_effects>
<library_geometries>
<geometry id=“ConvexMesh_0-Mesh” name=“ConvexMesh_0-Mesh”>
<convex_mesh>
<source id=“ConvexMesh_0-Position”>
<float_array count=“18” id=“ConvexMesh_0-Position-array”>
-0.024928218 0 0.022375332 0.02372686 0.039999999 -0.025979411 -0.024928218 0.039999999 0.022375332 -0.024928218 0 -0.025979411
0.02372686 0 -0.025979411 -0.024928218 0.039999999 -0.025979411
</float_array>
<technique_common>
<accessor count=“6” source=“#ConvexMesh_0-Position-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<vertices id=“ConvexMesh_0-Vertex”>
<input semantic=“POSITION” source=“#ConvexMesh_0-Position”/>
</vertices>
<triangles material=“SWMaterial-1” count=“8”>
<input offset=“0” semantic=“VERTEX” source=“#ConvexMesh_0-Vertex”/>

4 1 2 4 2 0 5 3 0
5 0 2 4 0 3 4 3 5
4 5 1 5 2 1 </p>
</triangles>
</convex_mesh>
</geometry>
<geometry id=“ConvexMesh_1-Mesh” name=“ConvexMesh_1-Mesh”>
<convex_mesh>
<source id=“ConvexMesh_1-Position”>
<float_array count=“15” id=“ConvexMesh_1-Position-array”>
0.02372686 0 0.022375332 -0.024928218 0 0.022375332 0.02372686 0 -0.025979411 0.02372686 0.039999999 0.022375332
0.02372686 0.039999999 -0.025979411
</float_array>
<technique_common>
<accessor count=“5” source=“#ConvexMesh_1-Position-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<vertices id=“ConvexMesh_1-Vertex”>
<input semantic=“POSITION” source=“#ConvexMesh_1-Position”/>
</vertices>
<triangles material=“SWMaterial-1” count=“6”>
<input offset=“0” semantic=“VERTEX” source=“#ConvexMesh_1-Vertex”/>

0 1 2 1 0 3 4 3 0
4 0 2 4 2 1 4 1 3
</p>
</triangles>
</convex_mesh>
</geometry>
<geometry id=“ConvexMesh_2-Mesh” name=“ConvexMesh_2-Mesh”>
<convex_mesh>
<source id=“ConvexMesh_2-Position”>
<float_array count=“12” id=“ConvexMesh_2-Position-array”>
-0.012093999 0.02716578 0.022132056 -0.02492822 0 0.02237533 0.02372686 0.039999999 0.02237533 -0.02492822 0.039999999 0.02237533
</float_array>
<technique_common>
<accessor count=“4” source=“#ConvexMesh_2-Position-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<vertices id=“ConvexMesh_2-Vertex”>
<input semantic=“POSITION” source=“#ConvexMesh_2-Position”/>
</vertices>
<triangles material=“SWMaterial-1” count=“4”>
<input offset=“0” semantic=“VERTEX” source=“#ConvexMesh_2-Vertex”/>

0 2 1 0 1 3 1 2 3
0 3 2 </p>
</triangles>
</convex_mesh>
</geometry>
<geometry id=“ConvexMesh_3-Mesh” name=“ConvexMesh_3-Mesh”>
<convex_mesh>
<source id=“ConvexMesh_3-Position”>
<float_array count=“12” id=“ConvexMesh_3-Position-array”>
0.02372686 0.039999999 0.02237533 0.009520265 0.039756723 -0.011772816 0.02372686 0.039999999 -0.025979411 -0.02492822 0.039999999 -0.025979411
</float_array>
<technique_common>
<accessor count=“4” source=“#ConvexMesh_3-Position-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<vertices id=“ConvexMesh_3-Vertex”>
<input semantic=“POSITION” source=“#ConvexMesh_3-Position”/>
</vertices>
<triangles material=“SWMaterial-1” count=“4”>
<input offset=“0” semantic=“VERTEX” source=“#ConvexMesh_3-Vertex”/>

0 1 2 0 3 1 0 2 3
1 3 2 </p>
</triangles>
</convex_mesh>
</geometry>
<geometry id=“ConvexMesh_4-Mesh” name=“ConvexMesh_4-Mesh”>
<convex_mesh>
<source id=“ConvexMesh_4-Position”>
<float_array count=“12” id=“ConvexMesh_4-Position-array”>
-0.010721625 0.039756723 0.008168736 0.02372686 0.039999999 0.02237533 -0.02492822 0.039999999 0.02237533 -0.02492822 0.039999999 -0.025979411
</float_array>
<technique_common>
<accessor count=“4” source=“#ConvexMesh_4-Position-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<vertices id=“ConvexMesh_4-Vertex”>
<input semantic=“POSITION” source=“#ConvexMesh_4-Position”/>
</vertices>
<triangles material=“SWMaterial-1” count=“4”>
<input offset=“0” semantic=“VERTEX” source=“#ConvexMesh_4-Vertex”/>

0 3 1 1 3 2 0 1 2
0 2 3 </p>
</triangles>
</convex_mesh>
</geometry>
<geometry id=“TriangleMesh_0-Mesh” name=“TriangleMesh_0-Mesh”>
<mesh>
<source id=“TriangleMesh_0-Position”>
<float_array count=“24” id=“TriangleMesh_0-Position-array”>
-0.02492822 0.039999999 0.02237533 -0.02492822 0 -0.025979411 -0.02492822 0 0.02237533 -0.02492822 0.039999999 -0.025979411
0.02372686 0.039999999 0.02237533 0.02372686 0 0.02237533 0.02372686 0.039999999 -0.025979411 0.02372686 0 -0.025979411
</float_array>
<technique_common>
<accessor count=“8” source=“#TriangleMesh_0-Position-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<vertices id=“TriangleMesh_0-Vertex”>
<input semantic=“POSITION” source=“#TriangleMesh_0-Position”/>
</vertices>
<triangles material=“SWMaterial-0” count=“12”>
<input offset=“0” semantic=“VERTEX” source=“#TriangleMesh_0-Vertex”/>

4 2 5 6 5 7 5 6 4
7 3 6 3 4 6 2 7 5
3 7 1 2 4 0 1 0 3
4 3 0 7 2 1 0 1 2
</p>
</triangles>
</mesh>
</geometry>
<geometry id=“ActorShape0_0-Mesh” name=“ActorShape0_0-Mesh”>
<mesh>
<source id=“ActorShape0_0-Position”>
<float_array count=“108” id=“ActorShape0_0-Position-array”>
-0.02492822 0.039999999 0.02237533 -0.02492822 0.039999999 -0.025979411 -0.02492822 0 0.02237533 -0.02492822 0 0.02237533
-0.02492822 0.039999999 -0.025979411 -0.02492822 0 -0.025979411 0.02372686 0.039999999 0.02237533 -0.02492822 0.039999999 0.02237533
0.02372686 0 0.02237533 0.02372686 0 0.02237533 -0.02492822 0.039999999 0.02237533 -0.02492822 0 0.02237533
0.02372686 0.039999999 -0.025979411 0.02372686 0.039999999 0.02237533 0.02372686 0 -0.025979411 0.02372686 0 -0.025979411
0.02372686 0.039999999 0.02237533 0.02372686 0 0.02237533 -0.02492822 0.039999999 -0.025979411 0.02372686 0.039999999 -0.025979411
-0.02492822 0 -0.025979411 -0.02492822 0 -0.025979411 0.02372686 0.039999999 -0.025979411 0.02372686 0 -0.025979411
0.02372686 0.039999999 0.02237533 0.02372686 0.039999999 -0.025979411 -0.02492822 0.039999999 0.02237533 -0.02492822 0.039999999 0.02237533
0.02372686 0.039999999 -0.025979411 -0.02492822 0.039999999 -0.025979411 0.02372686 0 -0.025979411 0.02372686 0 0.02237533
-0.02492822 0 -0.025979411 -0.02492822 0 -0.025979411 0.02372686 0 0.02237533 -0.02492822 0 0.02237533
</float_array>
<technique_common>
<accessor count=“36” source=“#ActorShape0_0-Position-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<source id=“ActorShape0_0-Normal”>
<float_array count=“108” id=“ActorShape0_0-Normal-array”>
-1 0 0 -1 0 0 -1 0 0 -1 0 0
-1 0 0 -1 0 0 0 0 1 0 0 1
0 0 1 0 0 1 0 0 1 0 0 1
1 0 0 1 0 0 1 0 0 1 0 0
1 0 0 1 0 0 0 0 -1 0 0 -1
0 0 -1 0 0 -1 0 0 -1 0 0 -1
0 1 0 0 1 0 0 1 0 0 1 0
0 1 0 0 1 0 0 -1 0 0 -1 0
0 -1 0 0 -1 0 0 -1 0 0 -1 0
</float_array>
<technique_common>
<accessor count=“36” source=“#ActorShape0_0-Normal-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<vertices id=“ActorShape0_0-Vertex”>
<input semantic=“POSITION” source=“#ActorShape0_0-Position”/>
</vertices>
<triangles material=“SWMaterial-0” count=“12”>
<input offset=“0” semantic=“VERTEX” source=“#ActorShape0_0-Vertex”/>
<input offset=“0” semantic=“NORMAL” source=“#ActorShape0_0-Normal”/>

0 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26
27 28 29 30 31 32 33 34 35
</p>
</triangles>
</mesh>
</geometry>
<geometry id=“ActorShape1_0-Mesh” name=“ActorShape1_0-Mesh”>
<mesh>
<source id=“ActorShape1_0-Position”>
<float_array count=“108” id=“ActorShape1_0-Position-array”>
-0.02492822 0.039999999 0.02237533 -0.02492822 0.039999999 -0.025979411 -0.02492822 0 0.02237533 -0.02492822 0 0.02237533
-0.02492822 0.039999999 -0.025979411 -0.02492822 0 -0.025979411 0.02372686 0.039999999 0.02237533 -0.02492822 0.039999999 0.02237533
0.02372686 0 0.02237533 0.02372686 0 0.02237533 -0.02492822 0.039999999 0.02237533 -0.02492822 0 0.02237533
0.02372686 0.039999999 -0.025979411 0.02372686 0.039999999 0.02237533 0.02372686 0 -0.025979411 0.02372686 0 -0.025979411
0.02372686 0.039999999 0.02237533 0.02372686 0 0.02237533 -0.02492822 0.039999999 -0.025979411 0.02372686 0.039999999 -0.025979411
-0.02492822 0 -0.025979411 -0.02492822 0 -0.025979411 0.02372686 0.039999999 -0.025979411 0.02372686 0 -0.025979411
0.02372686 0.039999999 0.02237533 0.02372686 0.039999999 -0.025979411 -0.02492822 0.039999999 0.02237533 -0.02492822 0.039999999 0.02237533
0.02372686 0.039999999 -0.025979411 -0.02492822 0.039999999 -0.025979411 0.02372686 0 -0.025979411 0.02372686 0 0.02237533
-0.02492822 0 -0.025979411 -0.02492822 0 -0.025979411 0.02372686 0 0.02237533 -0.02492822 0 0.02237533
</float_array>
<technique_common>
<accessor count=“36” source=“#ActorShape1_0-Position-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<source id=“ActorShape1_0-Normal”>
<float_array count=“108” id=“ActorShape1_0-Normal-array”>
-1 0 0 -1 0 0 -1 0 0 -1 0 0
-1 0 0 -1 0 0 0 0 1 0 0 1
0 0 1 0 0 1 0 0 1 0 0 1
1 0 0 1 0 0 1 0 0 1 0 0
1 0 0 1 0 0 0 0 -1 0 0 -1
0 0 -1 0 0 -1 0 0 -1 0 0 -1
0 1 0 0 1 0 0 1 0 0 1 0
0 1 0 0 1 0 0 -1 0 0 -1 0
0 -1 0 0 -1 0 0 -1 0 0 -1 0
</float_array>
<technique_common>
<accessor count=“36” source=“#ActorShape1_0-Normal-array” stride=“3”>
<param name=“X” type=“float”/>
<param name=“Y” type=“float”/>
<param name=“Z” type=“float”/>
</accessor>
</technique_common>
</source>
<vertices id=“ActorShape1_0-Vertex”>
<input semantic=“POSITION” source=“#ActorShape1_0-Position”/>
</vertices>
<triangles material=“SWMaterial-1” count=“12”>
<input offset=“0” semantic=“VERTEX” source=“#ActorShape1_0-Vertex”/>
<input offset=“0” semantic=“NORMAL” source=“#ActorShape1_0-Normal”/>

0 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26
27 28 29 30 31 32 33 34 35
</p>
</triangles>
</mesh>
</geometry>
</library_geometries>
<library_visual_scenes>
<visual_scene id=“Scene0-Visual” name=“Scene0-Visual”>
<node id=“Actor0-Node” name=“Actor0” type=“NODE”>
<translate>-0.001169665 -0.011301155 0.008295055</translate>
<rotate>1 0 0 0</rotate>
<instance_geometry url=“#ActorShape0_0-Mesh” >
<bind_material>
<technique_common>
<instance_material symbol=“SWMaterial-0” target=“#SWMaterial-0”/>
</technique_common>
</bind_material>
</instance_geometry>
</node>
<node id=“Actor1-Node” name=“Actor1” type=“NODE”>
<translate>-0.121538259 0.033152219 0.015283021</translate>
<rotate>1 0 0 0</rotate>
<instance_geometry url=“#ActorShape1_0-Mesh” >
<bind_material>
<technique_common>
<instance_material symbol=“SWMaterial-1” target=“#SWMaterial-1”/>
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
<library_physics_materials>
<physics_material id=“pmat0_0-PhysicsMaterial” name=“pmat0_0-PhysicsMaterial”>
<technique_common>
<dynamic_friction>0.029999999</dynamic_friction>
<restitution>0</restitution>
<static_friction>0.029999999</static_friction>
</technique_common>
</physics_material>
<physics_material id=“pmat1_0-PhysicsMaterial” name=“pmat1_0-PhysicsMaterial”>
<technique_common>
<dynamic_friction>0.100000001</dynamic_friction>
<restitution>0.001</restitution>
<static_friction>0.100000001</static_friction>
</technique_common>
</physics_material>
</library_physics_materials>
<library_physics_models>
<physics_model id=“Scene0-PhysicsModel”>
<rigid_body sid=“Actor0-RigidBody” name=“Box-1”>
<technique_common>
<instance_physics_material url=“#pmat1_0-PhysicsMaterial”/>
<shape>
<density>1</density>
<instance_physics_material url=“#pmat1_0-PhysicsMaterial”/>
<instance_geometry url=“#TriangleMesh_0-Mesh”>
<bind_material>
<technique_common>
<instance_material symbol=“SWMaterial-0” target=“#SWMaterial-0”/>
</technique_common>
</bind_material>
</instance_geometry>
<translate>0 0 0</translate>
<rotate>1 0 0 0</rotate>
<extra>
<technique profile=“PhysX”>
<group>0</group>
<skinWidth>0.000140083</skinWidth>
<disable_collision>false</disable_collision>
</technique>
</extra>
</shape>
<dynamic>false</dynamic>
<mass>1</mass>
</technique_common>
<extra>
<technique profile=“PhysX”>
<group>0</group>
<disable_collision>false</disable_collision>
<disable_response>false</disable_response>
<lock_com>true</lock_com>
</technique>
</extra>
</rigid_body>
<rigid_body sid=“Actor1-RigidBody” name=“Box-2”>
<technique_common>
<instance_physics_material url=“#pmat1_0-PhysicsMaterial”/>
<shape>
<density>1</density>
<instance_physics_material url=“#pmat1_0-PhysicsMaterial”/>
<instance_geometry url=“#ConvexMesh_0-Mesh”>
<bind_material>
<technique_common>
<instance_material symbol=“SWMaterial-1” target=“#SWMaterial-1”/>
</technique_common>
</bind_material>
</instance_geometry>
<translate>0 0 0</translate>
<rotate>1 0 0 0</rotate>
<extra>
<technique profile=“PhysX”>
<group>0</group>
<skinWidth>0.00014</skinWidth>
<disable_collision>false</disable_collision>
</technique>
</extra>
</shape>
<shape>
<density>1</density>
<instance_physics_material url=“#pmat1_0-PhysicsMaterial”/>
<instance_geometry url=“#ConvexMesh_1-Mesh”>
<bind_material>
<technique_common>
<instance_material symbol=“SWMaterial-1” target=“#SWMaterial-1”/>
</technique_common>
</bind_material>
</instance_geometry>
<translate>0 0 0</translate>
<rotate>1 0 0 0</rotate>
<extra>
<technique profile=“PhysX”>
<group>0</group>
<skinWidth>0.00014</skinWidth>
<disable_collision>false</disable_collision>
</technique>
</extra>
</shape>
<shape>
<density>1</density>
<instance_physics_material url=“#pmat1_0-PhysicsMaterial”/>
<instance_geometry url=“#ConvexMesh_2-Mesh”>
<bind_material>
<technique_common>
<instance_material symbol=“SWMaterial-1” target=“#SWMaterial-1”/>
</technique_common>
</bind_material>
</instance_geometry>
<translate>0 0 0</translate>
<rotate>1 0 0 0</rotate>
<extra>
<technique profile=“PhysX”>
<group>0</group>
<skinWidth>0.00014</skinWidth>
<disable_collision>false</disable_collision>
</technique>
</extra>
</shape>
<shape>
<density>1</density>
<instance_physics_material url=“#pmat1_0-PhysicsMaterial”/>
<instance_geometry url=“#ConvexMesh_3-Mesh”>
<bind_material>
<technique_common>
<instance_material symbol=“SWMaterial-1” target=“#SWMaterial-1”/>
</technique_common>
</bind_material>
</instance_geometry>
<translate>0 0 0</translate>
<rotate>1 0 0 0</rotate>
<extra>
<technique profile=“PhysX”>
<group>0</group>
<skinWidth>0.00014</skinWidth>
<disable_collision>false</disable_collision>
</technique>
</extra>
</shape>
<shape>
<density>1</density>
<instance_physics_material url=“#pmat1_0-PhysicsMaterial”/>
<instance_geometry url=“#ConvexMesh_4-Mesh”>
<bind_material>
<technique_common>
<instance_material symbol=“SWMaterial-1” target=“#SWMaterial-1”/>
</technique_common>
</bind_material>
</instance_geometry>
<translate>0 0 0</translate>
<rotate>1 0 0 0</rotate>
<extra>
<technique profile=“PhysX”>
<group>0</group>
<skinWidth>0.00014</skinWidth>
<disable_collision>false</disable_collision>
</technique>
</extra>
</shape>
<dynamic>true</dynamic>
<mass>0.094108149</mass>
<mass_frame>
<translate>-0.00060068 0.02 -0.00180204</translate>
<rotate>-0.99999994 -0 -0 90</rotate>
</mass_frame>
<inertia>0.01 0.01 0.01</inertia>
</technique_common>
<extra>
<technique profile=“PhysX”>
<wakeUpCounter>0.399999976</wakeUpCounter>
<linearDamping>0</linearDamping>
<angularDamping>0.050000001</angularDamping>
<maxAngularVelocity>12.56637001</maxAngularVelocity>
<sleepLinearVelocity>0.150000006</sleepLinearVelocity>
<sleepAngularVelocity>0.140000001</sleepAngularVelocity>
<solverIterationCount>60</solverIterationCount>
<disable_gravity>false</disable_gravity>
<kinematic>false</kinematic>
<pose_sleep_test>false</pose_sleep_test>
<filter_sleep_velocity>false</filter_sleep_velocity>
<group>0</group>
<disable_collision>false</disable_collision>
<disable_response>false</disable_response>
<lock_com>true</lock_com>
</technique>
</extra>
</rigid_body>
<rigid_constraint sid=“Joint0-RigidConstraint” name=“Distance1(Box-2, Box-1)”>
<ref_attachment rigid_body=“Actor1-RigidBody” name=“Box-2”>
<translate>0.023726866 0.040000003 0.02237533</translate>
<rotate>1 0 0 0</rotate>
</ref_attachment>
<attachment rigid_body=“Actor0-RigidBody” name=“Box-1”>
<translate>-0.02492822 0.039999999 0.02237533</translate>
<rotate>1 0 0 0</rotate>
</attachment>
<technique_common>
<enabled>1</enabled>
<interpenetrate>true</interpenetrate>
<limits>
<linear>
<min>0.084662631 0 0</min>
<max>0.084662631 0 0</max>
</linear>
<swing_cone_and_twist>
<min>-INF -INF -INF</min>
<max>INF INF INF</max>
</swing_cone_and_twist>
</limits>
<spring>
<linear>
<stiffness>1</stiffness>
<damping>0</damping>
<target_value>0</target_value>
</linear>
<angular>
<stiffness>1</stiffness>
<damping>0</damping>
<target_value>0</target_value>
</angular>
</spring>
</technique_common>
<extra>
<technique profile=“PhysX”>
</technique>
</extra>
</rigid_constraint>
</physics_model>
<physics_model id=“Scene0-PhysicsInstance”>
<instance_physics_model url=“#Scene0-PhysicsModel”>
<instance_rigid_body target=“#Actor0-Node” body=“Actor0-RigidBody”>
<technique_common>
</technique_common>
</instance_rigid_body>
<instance_rigid_body target=“#Actor1-Node” body=“Actor1-RigidBody”>
<technique_common>
<angular_velocity>0 0 0</angular_velocity>
<velocity>0 0 0</velocity>
</technique_common>
</instance_rigid_body>
<instance_rigid_constraint constraint=“Joint0-RigidConstraint”/>
<extra>
<technique profile=“PhysX”>
</technique>
</extra>
</instance_physics_model>
</physics_model>
</library_physics_models>
<library_physics_scenes>
<physics_scene id=“SceneInstances-Physics”>
<instance_physics_model url=“#Scene0-PhysicsInstance”/>
<technique_common>
<gravity>0 0 0</gravity>
</technique_common>
</physics_scene>
</library_physics_scenes>
<scene>
<instance_physics_scene url=“#SceneInstances-Physics”/>
<instance_visual_scene url=“#Scene0-Visual”/>
</scene>
</COLLADA>

I’m not familiar with the NxuStream tool but I do see some interesting bits in the example that you should double check.

  1. The orientation of the all the object rotations are 0 degrees.
  2. The mass frame is rotated so slightly it’s probably a rounding error.
  3. The swing cone/twist is +/- infinity.

I’ve trimmed down your example to just the nodes and their transforms:

2Marcus:
The the orientation of the shapes is correct because the coordinates of mesh points calculated according such shape transforms. Eventually, I tried to import my collada files to MSRS and I haven’t seen any problems with shapes.

As for second item I do not ready to reply. As for third, the actors are joined by point-to-point distance joint, so I think that angular degrees of freedom are absolutely unlocked. Am I right?

Yes that’s right.

Hi, all

I have found the way to export distance joint using one additional rigid body and two point-point-coincident joint. There is an example of ‘dae’ file below. I hope it will be usefull:


<?xml	version="1.0"	encoding="utf-8"?>
<COLLADA version="1.4.0" xmlns="http://www.collada.org/2005/11/COLLADASchema">
<asset>
<contributor>
<author>NxuStream2 converter - http://www.ageia.com</author>
<authoring_tool>PhysX	Rocket,	PhysX	Viewer,	or CreateDynamics</authoring_tool>
<comments>questions	to:	[email]jratcliff@ageia.com[/email]</comments>
<source_data>C:\Distance.dae</source_data>
</contributor>
 <created>2008-09-08T10:33:29.359Z</created>
 <modified>2008-09-08T10:33:29.359Z</modified>
 <unit	meter="1"	name="meter"/>
 <up_axis>Y_UP</up_axis>
 </asset>
 <library_materials>
<material	id="Material"	name="Material">
	 <instance_effect	url="#Material-fx"></instance_effect>
</material>
<material	id="SWMaterial-0"	name="SWMaterial-0">
	 <instance_effect	url="#SWMaterial-fx-0"></instance_effect>
</material>
<material	id="SWMaterial-1"	name="SWMaterial-1">
	 <instance_effect	url="#SWMaterial-fx-1"></instance_effect>
</material>
 </library_materials>
 <library_effects>
<effect	id="Material-fx" name="Material">
<profile_COMMON>
<technique id="Material-fx-COMMON-0" sid="COMMON">
<phong>				
<ambient>						 <color>0.803922 0.588235	0.92549	1</color>
</ambient>				
<diffuse>
 <color>0.803922 0.588235	0.92549	1</color>
</diffuse>
<specular>
<color>0.631373 0.631373	0.631373 1</color>
</specular>
<shininess>
 <float>1</float>
</shininess>
<reflective>
 <color>0	0	0	1</color>
</reflective>
<transparent>
 <color>1	1	1	1</color>
</transparent>
<transparency>					 <float>0</float>
</transparency>
</phong>
</technique>
</profile_COMMON>
</effect>
<effect	id="SWMaterial-fx-0" name="SWMaterial-0">		 <profile_COMMON>
<technique id="Material-fx-COMMON-1" sid="COMMON">
 <phong>
<ambient>
 <color>1.000000 0.000000 0.000000 1</color>
</ambient>
<diffuse>
<color>1.000000 0.000000 0.000000 1</color>
<diffuse>
<specular>
 <color>0.500000 0.000000 0.000000 1</color>
</specular>
<shininess>
<float>0.400000</float>
</shininess>
<reflective>
<color>0	0	0	1</color>
</reflective>
<transparent>
 <color>1	1	1	1</color>
</transparent>
<transparency>
<float>0.000000</float>
</transparency>
 </phong>
</technique>
 </profile_COMMON>
</effect>
<effect	id="SWMaterial-fx-1" name="SWMaterial-1">
 <profile_COMMON>
<technique id="Material-fx-COMMON-2" sid="COMMON">
 <phong>
<ambient>
 <color>0.000000 1.000000 0.000000 1</color>
</ambient>
<diffuse>
 <color>0.000000 1.000000 0.000000 1</color>
</diffuse>
<specular>
 <color>0.000000 0.500000 0.000000 1</color>
</specular>
<shininess>
 <float>0.400000</float>
</shininess>
<reflective>
 <color>0	0	0	1</color>
</reflective>
<transparent>
<color>1	1	1	1</color>
</transparent>
<transparency>
 <float>0.000000</float>
</transparency>
</phong>
</technique>
</profile_COMMON>
</effect>
	 </library_effects>
	<library_geometries>
		<geometry	id="ConvexMesh_0-Mesh" name="ConvexMesh_0-Mesh">
			<convex_mesh>
				<source	id="ConvexMesh_0-Position">
					<float_array count="18"	id="ConvexMesh_0-Position-array">
						-0.024928218 0	0.022375332	0.02372686 0.039999999	-0.025979411	-0.024928218 0.039999999	0.022375332	-0.024928218 0	-0.025979411	
						0.02372686 0	-0.025979411	-0.024928218 0.039999999	-0.025979411	
					</float_array>
					<technique_common>
						<accessor	count="6" source="#ConvexMesh_0-Position-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<vertices	id="ConvexMesh_0-Vertex">
					<input semantic="POSITION" source="#ConvexMesh_0-Position"/>
				</vertices>
				<triangles material="SWMaterial-0" count="8">
					<input offset="0"	semantic="VERTEX"	source="#ConvexMesh_0-Vertex"/>
				 

4 1 2 4 2 0 5 3 0 
				 5 0 2 4 0 3 4 3 5 
				 4 5 1 5 2 1 </p>
				</triangles>
			</convex_mesh>
		</geometry>
		<geometry	id="ConvexMesh_1-Mesh" name="ConvexMesh_1-Mesh">
			<convex_mesh>
				<source	id="ConvexMesh_1-Position">
					<float_array count="15"	id="ConvexMesh_1-Position-array">
						0.02372686 0	0.022375332	-0.024928218 0	0.022375332	0.02372686 0	-0.025979411	0.02372686 0.039999999	0.022375332	
						0.02372686 0.039999999	-0.025979411	
					</float_array>
					<technique_common>
						<accessor	count="5" source="#ConvexMesh_1-Position-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<vertices	id="ConvexMesh_1-Vertex">
					<input semantic="POSITION" source="#ConvexMesh_1-Position"/>
				</vertices>
				<triangles material="SWMaterial-0" count="6">
					<input offset="0"	semantic="VERTEX"	source="#ConvexMesh_1-Vertex"/>
				 

0 1 2 1 0 3 4 3 0 
				 4 0 2 4 2 1 4 1 3 
				 </p>
				</triangles>
			</convex_mesh>
		</geometry>
		<geometry	id="ConvexMesh_2-Mesh" name="ConvexMesh_2-Mesh">
			<convex_mesh>
				<source	id="ConvexMesh_2-Position">
					<float_array count="12"	id="ConvexMesh_2-Position-array">
						-0.024928218 0.039999999	0.02237533	-0.012093999 0.02716578	0.021888779	-0.024928218 0	0.02237533	0.02372686 0.039999999	0.02237533	
					</float_array>
					<technique_common>
						<accessor	count="4" source="#ConvexMesh_2-Position-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<vertices	id="ConvexMesh_2-Vertex">
					<input semantic="POSITION" source="#ConvexMesh_2-Position"/>
				</vertices>
				<triangles material="SWMaterial-0" count="4">
					<input offset="0"	semantic="VERTEX"	source="#ConvexMesh_2-Vertex"/>
				 

0 1 2 1 0 3 3 2 1 
				 2 3 0 </p>
				</triangles>
			</convex_mesh>
		</geometry>
		<geometry	id="ConvexMesh_3-Mesh" name="ConvexMesh_3-Mesh">
			<convex_mesh>
				<source	id="ConvexMesh_3-Position">
					<float_array count="12"	id="ConvexMesh_3-Position-array">
						0.02372686 0.039999999	-0.025979411	0.009520265 0.03951345	-0.011772816	-0.024928218 0.039999999	-0.025979411	0.02372686 0.039999999	0.022375332	
					</float_array>
					<technique_common>
						<accessor	count="4" source="#ConvexMesh_3-Position-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<vertices	id="ConvexMesh_3-Vertex">
					<input semantic="POSITION" source="#ConvexMesh_3-Position"/>
				</vertices>
				<triangles material="SWMaterial-0" count="4">
					<input offset="0"	semantic="VERTEX"	source="#ConvexMesh_3-Vertex"/>
				 

0 1 2 1 0 3 3 2 1 
				 2 3 0 </p>
				</triangles>
			</convex_mesh>
		</geometry>
		<geometry	id="ConvexMesh_4-Mesh" name="ConvexMesh_4-Mesh">
			<convex_mesh>
				<source	id="ConvexMesh_4-Position">
					<float_array count="12"	id="ConvexMesh_4-Position-array">
						-0.010721625 0.03951345	0.008168736	-0.024928218 0.039999999	0.022375332	-0.024928218 0.039999999	-0.025979411	0.02372686 0.039999999	0.022375332	
					</float_array>
					<technique_common>
						<accessor	count="4" source="#ConvexMesh_4-Position-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<vertices	id="ConvexMesh_4-Vertex">
					<input semantic="POSITION" source="#ConvexMesh_4-Position"/>
				</vertices>
				<triangles material="SWMaterial-0" count="4">
					<input offset="0"	semantic="VERTEX"	source="#ConvexMesh_4-Vertex"/>
				 

0 1 2 1 0 3 3 2 1 
				 2 3 0 </p>
				</triangles>
			</convex_mesh>
		</geometry>
		<geometry	id="TriangleMesh_0-Mesh" name="TriangleMesh_0-Mesh">
			<mesh>
				<source	id="TriangleMesh_0-Position">
					<float_array count="24"	id="TriangleMesh_0-Position-array">
						-0.02492822 0.039999999	0.02237533	-0.02492822 0	-0.025979411	-0.02492822 0	0.02237533	-0.02492822 0.039999999	-0.025979411	
						0.02372686 0.039999999	0.02237533	0.02372686 0	0.02237533	0.02372686 0.039999999	-0.025979411	0.02372686 0	-0.025979411	
					</float_array>
					<technique_common>
						<accessor	count="8" source="#TriangleMesh_0-Position-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<vertices	id="TriangleMesh_0-Vertex">
					<input semantic="POSITION" source="#TriangleMesh_0-Position"/>
				</vertices>
				<triangles material="SWMaterial-1" count="12">
					<input offset="0"	semantic="VERTEX"	source="#TriangleMesh_0-Vertex"/>
				 

4 2 5 6 5 7 5 6 4 
				 7 3 6 3 4 6 2 7 5 
				 3 7 1 2 4 0 1 0 3 
				 4 3 0 7 2 1 0 1 2 
				 </p>
				</triangles>
			</mesh>
		</geometry>
		<geometry	id="ActorShape0_0-Mesh" name="ActorShape0_0-Mesh">
			<mesh>
				<source	id="ActorShape0_0-Position">
					<float_array count="108"	id="ActorShape0_0-Position-array">
						-0.02492822 0.039999999	0.02237533	-0.02492822 0.039999999	-0.025979411	-0.02492822 0	0.02237533	-0.02492822 0	0.02237533	
						-0.02492822 0.039999999	-0.025979411	-0.02492822 0	-0.025979411	0.02372686 0.039999999	0.02237533	-0.02492822 0.039999999	0.02237533	
						0.02372686 0	0.02237533	0.02372686 0	0.02237533	-0.02492822 0.039999999	0.02237533	-0.02492822 0	0.02237533	
						0.02372686 0.039999999	-0.025979411	0.02372686 0.039999999	0.02237533	0.02372686 0	-0.025979411	0.02372686 0	-0.025979411	
						0.02372686 0.039999999	0.02237533	0.02372686 0	0.02237533	-0.02492822 0.039999999	-0.025979411	0.02372686 0.039999999	-0.025979411	
						-0.02492822 0	-0.025979411	-0.02492822 0	-0.025979411	0.02372686 0.039999999	-0.025979411	0.02372686 0	-0.025979411	
						0.02372686 0.039999999	0.02237533	0.02372686 0.039999999	-0.025979411	-0.02492822 0.039999999	0.02237533	-0.02492822 0.039999999	0.02237533	
						0.02372686 0.039999999	-0.025979411	-0.02492822 0.039999999	-0.025979411	0.02372686 0	-0.025979411	0.02372686 0	0.02237533	
						-0.02492822 0	-0.025979411	-0.02492822 0	-0.025979411	0.02372686 0	0.02237533	-0.02492822 0	0.02237533	
					</float_array>
					<technique_common>
						<accessor	count="36" source="#ActorShape0_0-Position-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<source	id="ActorShape0_0-Normal">
					<float_array count="108"	id="ActorShape0_0-Normal-array">
						-1 0	0	-1 0	0	-1 0	0	-1 0	0	
						-1 0	0	-1 0	0	0 0	1	0 0	1	
						0 0	1	0 0	1	0 0	1	0 0	1	
						1 0	0	1 0	0	1 0	0	1 0	0	
						1 0	0	1 0	0	0 0	-1	0 0	-1	
						0 0	-1	0 0	-1	0 0	-1	0 0	-1	
						0 1	0	0 1	0	0 1	0	0 1	0	
						0 1	0	0 1	0	0 -1	0	0 -1	0	
						0 -1	0	0 -1	0	0 -1	0	0 -1	0	
					</float_array>
					<technique_common>
						<accessor	count="36" source="#ActorShape0_0-Normal-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<vertices	id="ActorShape0_0-Vertex">
					<input semantic="POSITION" source="#ActorShape0_0-Position"/>
				</vertices>
				<triangles material="SWMaterial-0" count="12">
					<input offset="0"	semantic="VERTEX"	source="#ActorShape0_0-Vertex"/>
					<input offset="0"	semantic="NORMAL"	source="#ActorShape0_0-Normal"/>
				 

0 1 2 3 4 5 6 7 8 
				 9 10 11 12 13 14 15 16 17 
				 18 19 20 21 22 23 24 25 26 
				 27 28 29 30 31 32 33 34 35 
				 </p>
				</triangles>
			</mesh>
		</geometry>
		<geometry	id="ActorShape1_0-Mesh" name="ActorShape1_0-Mesh">
			<mesh>
				<source	id="ActorShape1_0-Position">
					<float_array count="108"	id="ActorShape1_0-Position-array">
						-0.02492822 0.039999999	0.02237533	-0.02492822 0.039999999	-0.025979411	-0.02492822 0	0.02237533	-0.02492822 0	0.02237533	
						-0.02492822 0.039999999	-0.025979411	-0.02492822 0	-0.025979411	0.02372686 0.039999999	0.02237533	-0.02492822 0.039999999	0.02237533	
						0.02372686 0	0.02237533	0.02372686 0	0.02237533	-0.02492822 0.039999999	0.02237533	-0.02492822 0	0.02237533	
						0.02372686 0.039999999	-0.025979411	0.02372686 0.039999999	0.02237533	0.02372686 0	-0.025979411	0.02372686 0	-0.025979411	
						0.02372686 0.039999999	0.02237533	0.02372686 0	0.02237533	-0.02492822 0.039999999	-0.025979411	0.02372686 0.039999999	-0.025979411	
						-0.02492822 0	-0.025979411	-0.02492822 0	-0.025979411	0.02372686 0.039999999	-0.025979411	0.02372686 0	-0.025979411	
						0.02372686 0.039999999	0.02237533	0.02372686 0.039999999	-0.025979411	-0.02492822 0.039999999	0.02237533	-0.02492822 0.039999999	0.02237533	
						0.02372686 0.039999999	-0.025979411	-0.02492822 0.039999999	-0.025979411	0.02372686 0	-0.025979411	0.02372686 0	0.02237533	
						-0.02492822 0	-0.025979411	-0.02492822 0	-0.025979411	0.02372686 0	0.02237533	-0.02492822 0	0.02237533	
					</float_array>
					<technique_common>
						<accessor	count="36" source="#ActorShape1_0-Position-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<source	id="ActorShape1_0-Normal">
					<float_array count="108"	id="ActorShape1_0-Normal-array">
						-1 0	0	-1 0	0	-1 0	0	-1 0	0	
						-1 0	0	-1 0	0	0 0	1	0 0	1	
						0 0	1	0 0	1	0 0	1	0 0	1	
						1 0	0	1 0	0	1 0	0	1 0	0	
						1 0	0	1 0	0	0 0	-1	0 0	-1	
						0 0	-1	0 0	-1	0 0	-1	0 0	-1	
						0 1	0	0 1	0	0 1	0	0 1	0	
						0 1	0	0 1	0	0 -1	0	0 -1	0	
						0 -1	0	0 -1	0	0 -1	0	0 -1	0	
					</float_array>
					<technique_common>
						<accessor	count="36" source="#ActorShape1_0-Normal-array" stride="3">
							<param name="X"	type="float"/>
							<param name="Y"	type="float"/>
							<param name="Z"	type="float"/>
						</accessor>
					 </technique_common>
				 </source>
				<vertices	id="ActorShape1_0-Vertex">
					<input semantic="POSITION" source="#ActorShape1_0-Position"/>
				</vertices>
				<triangles material="SWMaterial-1" count="12">
					<input offset="0"	semantic="VERTEX"	source="#ActorShape1_0-Vertex"/>
					<input offset="0"	semantic="NORMAL"	source="#ActorShape1_0-Normal"/>
				 

0 1 2 3 4 5 6 7 8 
				 9 10 11 12 13 14 15 16 17 
				 18 19 20 21 22 23 24 25 26 
				 27 28 29 30 31 32 33 34 35 
				 </p>
				</triangles>
			</mesh>
		</geometry>
	</library_geometries>
	<library_visual_scenes>
		<visual_scene	id="Scene0-Visual"	name="Scene0-Visual">
			<node	id="Actor0-Node" name="Actor0" type="NODE">
        <translate>-0.122476481	0.037491828 0.10709627</translate>
        <rotate>-0.31239754 0.316459119	-0.89569068	 45.040027618</rotate>
			    <instance_geometry url="#ActorShape0_0-Mesh" >
				 <bind_material>
				  <technique_common>
				  <instance_material symbol="SWMaterial-0" target="#SWMaterial-0"/>
				  </technique_common>
				 </bind_material>
				</instance_geometry>
			</node>
			<node	id="Actor1-Node" name="Actor1" type="NODE">
        <translate>-0.001169665	-0.006847781 0.008295055</translate>
        <rotate>1 0	0	 0</rotate>
			    <instance_geometry url="#ActorShape1_0-Mesh" >
				 <bind_material>
				  <technique_common>
				  <instance_material symbol="SWMaterial-1" target="#SWMaterial-1"/>
				  </technique_common>
				 </bind_material>
				</instance_geometry>
			</node>
			<node	id="Actor2-Node" name="Actor2" type="NODE">
        <translate>-0.026097884	0.033152219 0.030670384</translate>
        <rotate>1 0	0	 0</rotate>
			</node>
			</visual_scene>
	</library_visual_scenes>
	<library_physics_materials>
		<physics_material	id="pmat0_0-PhysicsMaterial"	name="pmat0_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.029999999</dynamic_friction>
				<restitution>0</restitution>
				<static_friction>0.029999999</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat1_0-PhysicsMaterial"	name="pmat1_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.100000001</dynamic_friction>
				<restitution>0.001</restitution>
				<static_friction>0.100000001</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat2_0-PhysicsMaterial"	name="pmat2_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.200000003</dynamic_friction>
				<restitution>0.002</restitution>
				<static_friction>0.200000003</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat3_0-PhysicsMaterial"	name="pmat3_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.300000012</dynamic_friction>
				<restitution>0.003</restitution>
				<static_friction>0.300000012</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat4_0-PhysicsMaterial"	name="pmat4_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.400000006</dynamic_friction>
				<restitution>0.004</restitution>
				<static_friction>0.400000006</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat5_0-PhysicsMaterial"	name="pmat5_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.5</dynamic_friction>
				<restitution>0.005</restitution>
				<static_friction>0.5</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat6_0-PhysicsMaterial"	name="pmat6_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.600000024</dynamic_friction>
				<restitution>0.006</restitution>
				<static_friction>0.600000024</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat7_0-PhysicsMaterial"	name="pmat7_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.699999988</dynamic_friction>
				<restitution>0.007</restitution>
				<static_friction>0.699999988</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat8_0-PhysicsMaterial"	name="pmat8_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.800000012</dynamic_friction>
				<restitution>0.008</restitution>
				<static_friction>0.800000012</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat9_0-PhysicsMaterial"	name="pmat9_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>0.900000036</dynamic_friction>
				<restitution>0.009</restitution>
				<static_friction>0.900000036</static_friction>
			</technique_common>
		</physics_material>
		<physics_material	id="pmat10_0-PhysicsMaterial"	name="pmat10_0-PhysicsMaterial">
			<technique_common>
				<dynamic_friction>1</dynamic_friction>
				<restitution>0.01</restitution>
				<static_friction>1</static_friction>
			</technique_common>
		</physics_material>
	</library_physics_materials>
	<library_physics_models>
		<physics_model id="Scene0-PhysicsModel">
			<rigid_body	sid="Actor0-RigidBody" name="Box-2">
				<technique_common>
					<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
					<shape>
					 <density>1</density>
						<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
						<instance_geometry url="#ConvexMesh_0-Mesh">
						 <bind_material>
						  <technique_common>
						  <instance_material symbol="SWMaterial-0" target="#SWMaterial-0"/>
						  </technique_common>
						 </bind_material>
						</instance_geometry>
            <translate>0	0 0</translate>
            <rotate>1 0	0	 0</rotate>
					 <extra>
						 <technique	profile="PhysX">
							 <group>0</group>
							 <skinWidth>0.000226166</skinWidth>
							 <disable_collision>false</disable_collision>
						 </technique>
					 </extra>
					 </shape>
					<shape>
					 <density>1</density>
						<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
						<instance_geometry url="#ConvexMesh_1-Mesh">
						 <bind_material>
						  <technique_common>
						  <instance_material symbol="SWMaterial-0" target="#SWMaterial-0"/>
						  </technique_common>
						 </bind_material>
						</instance_geometry>
            <translate>0	0 0</translate>
            <rotate>1 0	0	 0</rotate>
					 <extra>
						 <technique	profile="PhysX">
							 <group>0</group>
							 <skinWidth>0.000226166</skinWidth>
							 <disable_collision>false</disable_collision>
						 </technique>
					 </extra>
					 </shape>
					<shape>
					 <density>1</density>
						<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
						<instance_geometry url="#ConvexMesh_2-Mesh">
						 <bind_material>
						  <technique_common>
						  <instance_material symbol="SWMaterial-0" target="#SWMaterial-0"/>
						  </technique_common>
						 </bind_material>
						</instance_geometry>
            <translate>0	0 0</translate>
            <rotate>1 0	0	 0</rotate>
					 <extra>
						 <technique	profile="PhysX">
							 <group>0</group>
							 <skinWidth>0.000226166</skinWidth>
							 <disable_collision>false</disable_collision>
						 </technique>
					 </extra>
					 </shape>
					<shape>
					 <density>1</density>
						<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
						<instance_geometry url="#ConvexMesh_3-Mesh">
						 <bind_material>
						  <technique_common>
						  <instance_material symbol="SWMaterial-0" target="#SWMaterial-0"/>
						  </technique_common>
						 </bind_material>
						</instance_geometry>
            <translate>0	0 0</translate>
            <rotate>1 0	0	 0</rotate>
					 <extra>
						 <technique	profile="PhysX">
							 <group>0</group>
							 <skinWidth>0.000226166</skinWidth>
							 <disable_collision>false</disable_collision>
						 </technique>
					 </extra>
					 </shape>
					<shape>
					 <density>1</density>
						<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
						<instance_geometry url="#ConvexMesh_4-Mesh">
						 <bind_material>
						  <technique_common>
						  <instance_material symbol="SWMaterial-0" target="#SWMaterial-0"/>
						  </technique_common>
						 </bind_material>
						</instance_geometry>
            <translate>0	0 0</translate>
            <rotate>1 0	0	 0</rotate>
					 <extra>
						 <technique	profile="PhysX">
							 <group>0</group>
							 <skinWidth>0.000226166</skinWidth>
							 <disable_collision>false</disable_collision>
						 </technique>
					 </extra>
					 </shape>
					 <dynamic>true</dynamic>
					 <mass>0.094108149</mass>
					 <mass_frame>
            <translate>-0.00060068	0.02 -0.00180204</translate>
            <rotate>-0.99999994 -0	-0	 90</rotate>
					</mass_frame>
					<inertia>0.01	0.01 0.01</inertia>
					</technique_common>
			<extra>
				<technique profile="PhysX">
						<wakeUpCounter>0.399999976</wakeUpCounter>
						<linearDamping>0</linearDamping>
						<angularDamping>0.050000001</angularDamping>
						<maxAngularVelocity>12.56637001</maxAngularVelocity>
						<sleepLinearVelocity>0.150000006</sleepLinearVelocity>
						<sleepAngularVelocity>0.140000001</sleepAngularVelocity>
						<solverIterationCount>60</solverIterationCount>
						<disable_gravity>false</disable_gravity>
						<kinematic>false</kinematic>
						<pose_sleep_test>false</pose_sleep_test>
						<filter_sleep_velocity>false</filter_sleep_velocity>
					<group>0</group>
					<disable_collision>false</disable_collision>
					<disable_response>false</disable_response>
					<lock_com>true</lock_com>
				</technique>
			</extra>
			 </rigid_body>
			<rigid_body	sid="Actor1-RigidBody" name="Box-1">
				<technique_common>
					<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
					<shape>
					 <density>1</density>
						<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
						<instance_geometry url="#TriangleMesh_0-Mesh">
						 <bind_material>
						  <technique_common>
						  <instance_material symbol="SWMaterial-1" target="#SWMaterial-1"/>
						  </technique_common>
						 </bind_material>
						</instance_geometry>
            <translate>0	0 0</translate>
            <rotate>1 0	0	 0</rotate>
					 <extra>
						 <technique	profile="PhysX">
							 <group>0</group>
							 <skinWidth>0.000140083</skinWidth>
							 <disable_collision>false</disable_collision>
						 </technique>
					 </extra>
					 </shape>
					<dynamic>false</dynamic>
					<mass>1</mass>
					</technique_common>
			<extra>
				<technique profile="PhysX">
					<group>0</group>
					<disable_collision>false</disable_collision>
					<disable_response>false</disable_response>
					<lock_com>true</lock_com>
				</technique>
			</extra>
			 </rigid_body>
			<rigid_body	sid="Actor2-RigidBody" name="Additional_Actor_0">
				<technique_common>
					<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
					<shape>
					 <density>1</density>
						<instance_physics_material url="#pmat0_0-PhysicsMaterial"/>
						<box>
							<half_extents>0.001 0.001	0.001</half_extents>
						</box>
            <translate>0	0 0</translate>
            <rotate>1 0	0	 0</rotate>
					 <extra>
						 <technique	profile="PhysX">
							 <group>0</group>
							 <skinWidth>0.000007</skinWidth>
							 <disable_collision>false</disable_collision>
						 </technique>
					 </extra>
					 </shape>
					 <dynamic>true</dynamic>
					 <mass>0.00000008</mass>
					 <mass_frame>
            <translate>0	0 0</translate>
            <rotate>1 0	0	 0</rotate>
					</mass_frame>
					<inertia>0.01	0.01 0.01</inertia>
					</technique_common>
			<extra>
				<technique profile="PhysX">
						<wakeUpCounter>0.399999976</wakeUpCounter>
						<linearDamping>0</linearDamping>
						<angularDamping>0.050000001</angularDamping>
						<maxAngularVelocity>12.56637001</maxAngularVelocity>
						<sleepLinearVelocity>0.150000006</sleepLinearVelocity>
						<sleepAngularVelocity>0.140000001</sleepAngularVelocity>
						<solverIterationCount>60</solverIterationCount>
						<disable_gravity>false</disable_gravity>
						<kinematic>false</kinematic>
						<pose_sleep_test>false</pose_sleep_test>
						<filter_sleep_velocity>false</filter_sleep_velocity>
					<group>0</group>
					<disable_collision>true</disable_collision>
					<disable_response>false</disable_response>
					<lock_com>true</lock_com>
				</technique>
			</extra>
			 </rigid_body>
			<rigid_constraint	sid="Joint0-RigidConstraint" name="Distance1_joint_0(Box-2, Additional_Actor_0)">
				<ref_attachment	rigid_body="Actor0-RigidBody"	name="Box-2">
          <translate>0.02372686	0.040000003 0.022375327</translate>
          <rotate>0.862284482 0.314881593	0.396629661	 189.766220093</rotate>
				</ref_attachment>
				<attachment	rigid_body="Actor2-RigidBody"	name="Additional_Actor_0">
          <translate>-0.047894783	0.021138698 0.081969343</translate>
          <rotate>0.966540158 0.032284636	0.254475564	 166.018310547</rotate>
				</attachment>
				<technique_common>
					<enabled>1</enabled>
					<interpenetrate>true</interpenetrate>
					<limits>
						<linear>
							<min>0	0 0</min>
							<max>0	0 0</max>
						 </linear>
						<swing_cone_and_twist>
							<min>-INF	-INF -INF</min>
							<max>INF	INF INF</max>
						</swing_cone_and_twist>
					</limits>
					<spring>
						<linear>
							<stiffness>1</stiffness>
							<damping>0</damping>
							<target_value>0</target_value>
						</linear>
						<angular>
							<stiffness>1</stiffness>
							<damping>0</damping>
							<target_value>0</target_value>
						</angular>
					</spring>
				</technique_common>
				<extra>
					<technique profile="PhysX">
						<projectionMode>NX_JPM_NONE</projectionMode>
						<projectionDistance>1</projectionDistance>
					</technique>
				</extra>
			</rigid_constraint>
			<rigid_constraint	sid="Joint1-RigidConstraint" name="Distance1_joint_1(Additional_Actor_0, Box-1)">
				<ref_attachment	rigid_body="Actor2-RigidBody"	name="Additional_Actor_0">
          <translate>0	0 0</translate>
          <rotate>0.966540158 0.032284636	0.254475564	 166.018310547</rotate>
				</ref_attachment>
				<attachment	rigid_body="Actor1-RigidBody"	name="Box-1">
          <translate>-0.02492822	0.039999999 0.02237533</translate>
          <rotate>0.966540158 0.032284636	0.254475564	 166.018310547</rotate>
				</attachment>
				<technique_common>
					<enabled>1</enabled>
					<interpenetrate>true</interpenetrate>
					<limits>
						<linear>
							<min>0	0 0</min>
							<max>0	0 0</max>
						 </linear>
						<swing_cone_and_twist>
							<min>-INF	-INF -INF</min>
							<max>INF	INF INF</max>
						</swing_cone_and_twist>
					</limits>
					<spring>
						<linear>
							<stiffness>1</stiffness>
							<damping>0</damping>
							<target_value>0</target_value>
						</linear>
						<angular>
							<stiffness>1</stiffness>
							<damping>0</damping>
							<target_value>0</target_value>
						</angular>
					</spring>
				</technique_common>
				<extra>
					<technique profile="PhysX">
						<projectionMode>NX_JPM_NONE</projectionMode>
						<projectionDistance>1</projectionDistance>
					</technique>
				</extra>
			</rigid_constraint>
		</physics_model>
		<physics_model id="Scene0-PhysicsInstance">
			<instance_physics_model	url="#Scene0-PhysicsModel">
				<instance_rigid_body target="#Actor0-Node" body="Actor0-RigidBody">
					<technique_common>
						<angular_velocity>0 0	0</angular_velocity>
						<velocity>0 0	0</velocity>
					</technique_common>
				</instance_rigid_body>
				<instance_rigid_body target="#Actor1-Node" body="Actor1-RigidBody">
					<technique_common>
					</technique_common>
				</instance_rigid_body>
				<instance_rigid_body target="#Actor2-Node" body="Actor2-RigidBody">
					<technique_common>
						<angular_velocity>0 0	0</angular_velocity>
						<velocity>0 0	0</velocity>
					</technique_common>
				</instance_rigid_body>
				<instance_rigid_constraint constraint="Joint0-RigidConstraint"/>
				<instance_rigid_constraint constraint="Joint1-RigidConstraint"/>
			<extra>
				<technique profile="PhysX">
				</technique>
			</extra>
			</instance_physics_model>
		</physics_model>
	</library_physics_models>
	<library_physics_scenes>
		<physics_scene id="SceneInstances-Physics">
			<instance_physics_model	url="#Scene0-PhysicsInstance"/>
			<technique_common>
				<gravity>0	0 0</gravity>
			</technique_common>
		</physics_scene>
	</library_physics_scenes>
	<scene>
		<instance_physics_scene	url="#SceneInstances-Physics"/>
		<instance_visual_scene	url="#Scene0-Visual"/>
	</scene>
</COLLADA>