Fix invalid `Skeleton3D` bone pose updates

The issue would cause log spams when trying to update the bone pose position or rotation with an invalid bone index.
This commit is contained in:
Fredia Huya-Kouadio 2024-08-25 17:04:46 -07:00
parent 28a72fa434
commit 039722a341
1 changed files with 5 additions and 0 deletions

View File

@ -207,6 +207,11 @@ void XRHandModifier3D::_process_modification() {
// Apply previous relative transforms if they are stored. // Apply previous relative transforms if they are stored.
for (int joint = 0; joint < XRHandTracker::HAND_JOINT_MAX; joint++) { for (int joint = 0; joint < XRHandTracker::HAND_JOINT_MAX; joint++) {
const int bone = joints[joint].bone;
if (bone == -1) {
continue;
}
if (bone_update == BONE_UPDATE_FULL) { if (bone_update == BONE_UPDATE_FULL) {
skeleton->set_bone_pose_position(joints[joint].bone, previous_relative_transforms[joint].origin); skeleton->set_bone_pose_position(joints[joint].bone, previous_relative_transforms[joint].origin);
} }