How are Joints Supposed to Work?

Godot Version

4.2.1
Jolt 0.12.0

Question

So I’m trying to get a grappling hook working that is able to swing around like spiderman. To accomplish that I thought the best way to approach it would be to use some kind of joint. I would think that a hinge or pin joint would work best with this. Unfortunately I am having a tough time configuring everything so that it works properly because I lack fundamental knowledge of joints.

Here’s my main general misunderstandings:

  • What exactly does Node_a and Node_b mean? Are they interchangeable?
  • Does the transform of the actual Joint node matter? For example When I was setting up my grappling hook I was setting the global transform to the position of the hit of a raycast not sure if this was the right direction.
  • How do child parent relationships work with joints?
  • what does a linear limit mean?
  • what does an angular limit mean?
  • What exactly is a pin node and why does it not have any limit settings?

Here are my difficulties specific to the problem I am working on currently:

So far here is what I’ve tried in an attempt to get the player to swing around. This is my current non-working setup The different joints I have tried are Hinge, Pin,and Generic6DOFJoint Node_b is set to the Player always and Node_A is set to either StaticBodies depending which I click.

I have also tried various joints as a child of the player.

Thanks for any help!

Joint Disfunction - Made with Clipchamp

This is me pressing the W and S keys