-
-
Notifications
You must be signed in to change notification settings - Fork 21.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
All inverse kinematic options in Godot 4 seem broken #69752
Comments
TwoBoneIK seems to swallow the bone before the first IK bone |
Need a woking IK system in Godot 4.0 |
I am investigating this issue. Can this sample project be licensed MIT so I can put it on github as opensource? The blend file is rotated 180 and there are no end bones, so I don't know the location of the hands, legs or the head. Typically there's fingers or a "toe". Bone rolls are not point head to child. |
Outdated, will post new work Having some trouble getting the correct ik targets. 2023-01-04_12-45-30.mp4Note that I haven't correctly defined the constraints on the UpperLeg here, so it jumps. The IK targets in your example are decompose into like multiple position nodes. The solver I'm working on expects rotation and position. Using this animation file. |
Hi @fire, here's the MIT licensed minimal repro project in case you still need it |
See https://godotengine.org/article/release-management-4-0-and-beyond. |
I have regrettably removed the SkeletonModificationStack3D for 4.0 in #71137 because we would not have time to get all the bugs working in time for 4.0. As noted in Calinou's article, this does not imply that the functionality is out of the question for a future 4.x, just that it didn't make the cut for the 4.0 point release itself. I do intend to fix the known issues with SkeletonIK3D (the Node) in time for 4.0 to get it working as well as it was in 3.5 For now, there are modules made for Godot which can provide some IK functionality, including fire's many_bone_ik and RenIK which you can compile into the engine on your own, but we are unable to get them integrated in time for the 4.0 release, since feature freeze has already occurred. Look forward to more IK and skeleton modifications available in Godot 4.1 or later. I know this is hard to hear, but I will be closing this issue: the modification stack as you tested has been removed, and will not return in the same form. That said, I do hope to make sure Godot provides a way of performing these modifications in the future. I have saved your example project and made note of this issue so when the time comes to add this functionality back into Godot, I will try and make sure the usecases in this MRP work. |
Godot version
4.0.beta7.official
System information
Windows 11 22H2, GTX 1650 Mobile, NVIDIA Driver 527.37, Vulkan
Issue description
Each inverse kinematic option in Godot 4 seems broken in its own peculiar way.
Ikissue.Debug.2022-12-08.16-10-10.mp4
CCDIK behaves the best, but at certain angles (when the body is leaning back in the video) it seems unable to integrate towards the target. I am also unable to set joint limits because any values lock up the integration, leaving it snapping at extreme angles.
FABRIK is utterly broken. I cannot even begin to explain what is happening in the video.
TwoBoneIK seems to make the beginning of the chain stuck at the skeleton root/origin. There are rotation issues in the video but I cannot confirm if this is due to the too large distance between chain beginning and IK target or an inherent issue in the integration itself.
Steps to reproduce
Create a basic humanoid rig.
Set up IK chains for its limbs in Skeleton3D. (Skeleton3D -> Modification Stack -> SkeletonModification3DCCDIK/FABRIK/TwoBoneIK)
Enable SkeletonModification while animation is playing.
Minimal reproduction project
IKIssue.zip
Minimal reproduction project includes source .blend file.
The text was updated successfully, but these errors were encountered: