How to get physics constraints to only move the child?

I am trying to get an object that the player can move which drags around a physics object, but when I move the object it seems like that top end of the physics constraint is also moving despite being parented to the component I am moving. I’m having a hard time figuring out a way to lock down one side of the constraint while the other is freely simulating physics.

Here’s a video showing the issue:

Basically, for the object that I am moving with the gizmo I want this side of the constraint to stay fixed while the other acts like a spring. But any settings I tune the constraint to appears to apply to both ends of the constraint, even with ‘parent dominates’ set to true. I don’t know if I am misinterpreting how this should work or if it is actually a bug.

Actor details:


If I set the linear constraints to locked this achieves what I want on the top part of the constraint but then the bottom is rigid and not spring-like.

Anyone got any ideas on how I can achieve this?

Parent dominates means the parent ACTOR isn’t moved by collision with the child.
The top part of the constraint moving is the Linear Limits.
It can still swing with Angular limits, but if you want it to “bounce” up and down I suppose that would be a Linear limit. So it seems to be behaving as it should.

Why don’t you want the want the constraint to move? Or just making sure it’s working properly? It’s just a debug visualization.

I think a way to understand it is the line in the middle doesn’t stretch. Angular only allows the top point to rotate. So springy-ness comes from allowing the top point to move linearly.

So, the top body has simulate physics turned off which is the goal. The debug visualization appears to be accurate as far as how the attached body is moving. To be clear I only want the attached end point to move.

I’m basically just trying to make a stretchy-rope type of simulation but one or both ends could be connected to a static surface such as the floor or a wall. So the idea is that I would chain together a series of these constraints to make an entire rope. I know there is also a cable component, but I have some features where i’d like to have more fine grained control over each joint in the chain so I am trying this instead of the cable component.

I think what you’re saying about how the red line doesn’t stretch seems to be the case, although I need to do some more extreme tests to confirm this. If this is true, then I guess I would want the two bodies to begin simulating on top of each other but set the linear motor target position to be the resting position?

I’ll give this a shot

I think I was interpreting the pos1 and pos2 variables to be defining the rest position of the simulation but maybe that was an incorrect assumption for my specific use case.

I believe the motor, gradually “motors” the position back to Position Target.

I think they’re offset positions, if you don’t want the anchor points centered on the actors, but I’m not sure.

So if you were to Cable between each actor, the parent actor doesn’t move, just the debug visual.

I think I landed on a good solution, thank you for helping with the insights.

I ended up just placing the constraint midway between the two physics bodies, which in hindsight makes a lot of sense. I wasn’t grokking that the actual location of the constraint component itself was important to how it worked.

2 Likes