Some questions about CCDIK3D

Godot Version

v4.6.1.stable.mono.official [14d19694e]

Question

I’m trying to use the CCDIK3D node to simulate leg movement, It’s actually working, but these error repeatedly occurs 18 times when i run the scene:

I ‘ve never set this node in the code btw

E 0:00:01:617   get_bone_rest: Index p_bone = -1 is out of bounds (bone_size = 21).
  <C++ Source>  scene/3d/skeleton_3d.cpp:785 @ get_bone_rest()

Here are the details

()

node structure and Skeleton3D’s bone structure

BL and BR in bone structure are not expanded, but their structures are the same as the bone above(FR and FL)


(Due to Godot’s default settings, FL_4, FR_4, BL_4, and BR_4 in the above image are not displayed)

CCDIK3D Settings

Every time I run the scene, 18 error occurs, and they are the same

If any further information is needed, please comment below. Thank you for your patience

I don’t know the answer but I am getting a similar error message in my IK attempts. My human character was created in Blender using the Rigify armature which gives 2 bones to each upper and lower arm so I have needed to put some limits on the joints so that eg. the upper arm does not bend in the middle. I have a Marker3D node for the target hand placement and another Marker3D for the elbow influence. With no limitations I can place the hand and elbow markers to generate C or M or W shapes for the 4 bones in my arm, none of which are terribly realistic. With a joint limitation between the 2 upper arm bones I can keep the upper arm looking straight. Setup as per the picture below everything works fine with no error messages. While trying various setups to see what worked for me I found that if I change Rotation Axis from All to eg. X on my limited joint then I get 3 instances of the same Index out of range message that you are seeing for each character in my scene. Everything still appears to work fine and my characters’ hands are where I want them.

I am using a FABRIK3D node in Godot 4.7 beta1.

1 Like

I’ve seen similar errors before with other SkeletonModifier3D nodes, and I believe this is an engine level bug (I’ve had it happen with SpringBoneSimulator3D and it was since fixed), you might want to open an issue on Godot’s Github repo, you’ll probably get clearer answers there.

1 Like

Maby 1 bones to each part and use TwoBoneIK3D + AimModifier3D are more suitable for your project cause these 2 Node are born for that