Physics Joint bugs

I’ve been using using Create to make some physics test scenes and had a couple of issues; they’re all pretty minor, but I think it would be good to get some of these fixed.

Firstly, it appears that adding a “Distance” limit to a D6Joint has no effect; in the attached D6DistanceTest.usda, I have two D6Joint setups. The joint at path World/TranslationA/D6Joint uses a “PhysicsLimitAPI:transY” schema and works great; the joint at World/DistanceA/D6Joint, however, is setup identically, with the exception that it uses a “PhysicsLimitAPI:distance” schema. I’d expect both of these to behave similarly (at least in terms of body1’s Y component) but the distance limit seems to have no effect on the constrained body, and on simulating, it falls into the void.

On prismatic joints, I note that the limits are incorrectly limited; the “Lower Limit” and “Upper Limit” both refer to distances but if you type in a large value (say, 1000.0) the user input will get clamped to the range (-360, 360) - it looks like the UI is enforcing a restriction as if they refer to angles. This prevents me from creating certain kinds of constrained setups, as the UI limits aren’t sufficient to allow the range of motion I want in some cases.

Similarly, the gizmo to rotate a prismatic joint behaves very poorly if it’s a child of an XForm with scale. In the attached PrismaticGizmosTest.usda, there are two setups which are identical, except that World/JitteryRotationA has a non-unity scale. If I select World/WorksFineA/PrismaticJoint and enable the rotate tool, I can rotate the joint pivots without problem. However, if I attempt to do the same thing with World/JitteryRotationA/PrismaticJoint, the local rotations behave very erratically and it’s impossible to orient the joint pivots in the way I want.

Related to the gizmos for constraint pivots, sometimes my Create gets into a state where it no longer displays the gizmos for manipulating the constraint pivots - when selecting a Joint node, the joint will be visualized correctly, but there’s no manipulator for the pivots (other XForm nodes behave fine) and it seems the only way to get them back is to restart Create - that state persists even when I open a stage in a different file. I’m not sure if I’ve toggled something or if it’s a bug, since it happens so rarely, so unfortunately no repro steps here.

I have one feature request for the constraint pivots; right now, the gizmos for manipulating the “Local Position/Rotation 0/1” attributes assume that the pivots are aligned in world space. This isn’t always the case, though, so it would be useful to be able to visually manipulate each of the pivots independently, without needing to manually type values into the property editor.

Finally, I have a bug where duplicating (Ctrl+D) nodes which have joints does not update the attached body relationships. Suppose I create a scene laid out like:

World
    ParentNode
        BodyA
            D6Joint
        BodyB

Where the D6Joint has the body0/body1 rel set to World/ParentNode/BodyA and World/ParentNode/BodyB, respectively. If I select and duplicate World/ParentNode and duplicate that, it all works great. However, If I control-select both BodyA and BodyB and duplicate, I’ll get a new hierarchy:

World
    ParentNode
        BodyA
            D6Joint
        BodyB
        BodyA_01
            D6Joint
        BodyB_01

Now, if I inspect World/ParentNode/BodyA_01/D6Joint, I can see that the body0 rel has been updated to refer to the new World/ParentNode/BodyA_01, but the body1 rel has not been updated, so the joint still refers to World/ParentNode/BodyB - I’d expect that it be updated to BodyB_01, since that was duplicated in the same action.

D6DistanceTest.usda (5.7 KB)
PrismaticGizmosTest.usda (4.3 KB)

Hi,
thanks a lot for the feedback, I did converted those issues into internal Jira tickets and will try to address them for next release.

As for the joint gizmo, the joint gizmo is only available indeed when both pivots are aligned. This is a limitation of our current gizmo code, as we dont support multiple gizmos, once we resolve this, we can have two gizmos. So thats something I am not sure when we will fix. I will try to address the rest of the issues asap.

Thanks again!
Regards,
Ales