When a D6Joint exists between two dynamic rigid bodies, each of which has a proxy shape, and the "Add All Physical" is used to create a simulation, the D6Joint is modified to have the proxy objects as the body1 and body2. Simulation is apparently then based on the proxy geometry reference frame for the joint. Surely the correct behavior is to have the joint remain attached to the dynamic rigid bodies and the proxies have no effect on the joint settings.
To reproduce:
- Create two dynamic rigid bodies.
- Create a D6Joint and set body1 and body2 to the rigid bodies
- Create 2 shapes, one as a proxy for each of the original shapes. Attach them as proxies to the original shapes.
- "Add All Physical" to the simulation. Now note the change in the D6Joint settings, and simulation is based on the joint being attached to the proxies.
Logged In: YES
user_id=2022977
Originator: NO
Thanks for the bug report. I will fix it in the next release which will be by end of June.
The reason is that the node moves to the proxy's position. I checked in a workaround that setting the proxy to the node's position. It fails when one proxy is re-used by multiple nodes as collision proxy.