-
-
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
Solve skeletal inverse kinematic poses with constraints #70887
Conversation
Wanted to sense the mood on the enhancement and if it's positive, try moving the custom code parts into the core. |
1b7bdee
to
7d6f1e9
Compare
How is this supposed to work related to #63588? Will eventually both get merged at different times or will one supercede the other? |
638a5e0
to
9f02c41
Compare
We use quaternion axis angle because it is normalized.
Special thanks to cole dingo.
… ids." This reverts commit 1c2169f64fa3cddb0beb1f3342da452bef6ad2b7.
This reverts commit 4a98037d79d21cc32361a2e77f25b64d784c968b.
This reverts commit 41b4d8a.
Seems to me like this implementation is completely superior to the skeleton modification one, so it would probably supercede the skeleton modification system entirely. I'm a bit sad that IK 3D wasn't given higher priority for 4.0's (and 4.1's) release, you can't really make a proper modern 3D game without inverse kinematics, it serves many critical roles. Yet 4.0 released with nothing but a completely broken SkeletonIK3D node implementation (thing cannot be used at all, it is broken beyond any sort of usability in 4.0.1, if they removed skeleton modification because it was broken, they should do the same for skeletonik3d, cuz it's broken too in just about every way. Hell, u even get an error just from adding the node, an actual error!) I really wish this pull request would go through soon. I'm very new to the engine, and one of the contributing factors for me choosing godot was because I saw some very good IK implementations in videos about godot, but then I install the engine, start learning it and find out that IK is actually completely broken? It was very disappointing for me, it's critical for my project. |
If you really need it, you can include this module into your project, however it's kind of hard to use without any documentation. You could also try an IK add on named Twisted IK 2 which you can find on itch.io. It's paid but you can download a demo to try it out before buying it. |
I accidentally deleted the branch as we're reworking in https://github.com/V-Sekai/many_bone_ik. We have this idea of moving inverse kinematics to the animation tree. Still working on a proposal. https://gist.github.com/fire/1953bd6bb0e9cc3b964796317d23c702 has a draft for splitting the work into defining a standard approach for inverse kinematics in Godot Engine and implementing the many bone ik animation tree functionality. This proposal has consensus among the animation team that it is a better approach than the IK scene tree node. |
#77469 has a fix for the broken IK node in godot engine 4.0 |
Main work will be in https://github.com/V-Sekai/many_bone_ik
Proposal for Godot Engine 4.x
Fixes: godotengine/godot-proposals#6039
Adds another option to #69752
Supersedes #63588
Part of V-Sekai https://github.com/v-sekai/v-sekai-game
A list of todos
Delay painfulness parameter, but call it something else.