Trying to bend my character's knees when I bend mine in VR using the new CCIK3D solution in Godot 4.6, but really needing suggestions!

Godot Version

Godot 4.6 Beta 2

Question

I’m having a hard time making my character bend its knees when I bend mine in VR. The idea is to “crouch” in real life, which means the headset is lower in terms height. The headset should serve as an IK target which then bends the character’s knees. Hope I’m making sense. I’m already keeping track of the headset height in order to resize my characterbody3D’s capsule collider height.

So far I got the arms working. The targets are my controllers. I also got the head turn working kind of, my headset is of course the other target.

But I can’t figure out how to make the body lower its height and also get the knees to bend when I crouch in real life.

This is my character layout:

- CharacterBody3D

- Avatar(Node3D)

    - Skeleton3D

        - LeftArmIK (\`CCIK3D\`)

        - RightArmIK (\`CCIK3D\`)

        - NeckIK (\`CCIK3D\`)

        - CopyHeadTransform (\`CopyTransformModifier3D\`)

        - CopyLeftHandTransform (\`CopyTransformModifier3D\`)

        - CopyRightHandTransform (\`CopyTransformModifier3D\`)

    - IKTargets (\`Node3D\`)

        - LeftHandTarget (\`Node3D\`)

        - RightHandTarget (\`Node3D\`)

        - HeadTarget (\`Node3D\`)

For the arms, the CCIK3D properties are set up as follows:

- Max Iterations: 4

- Min Distance: 0.001

- Angular Delta Limit: 180.0

- Deterministic: true

- Settings

- Target Node: the target (Node3D)

- Root Bone Name: Left Shoulder

- End Bone Name: LeftHand

Works quite nicely. You won’t see my attempts of figuring out how to bend the character knees though, all of them were horrible.

Oh and if you’re curious my `CopyTransformModifier3Ds` were set as follows:

- Amount: 1.0

- Apply Bone Name: LeftHand (in the case of the left arm)

- Reference Type: Node

- Reference Node: The left hand target, a Node3D

- the other properties are left as is, which includes position and rotation, scale being copied.

I can’t seem to wrap my head around how to accomplish this. Any suggestions are welcome!