-
-
Notifications
You must be signed in to change notification settings - Fork 98
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
IK and Physical Bone Improvements #750
Comments
@NHodgesVFX are you on Discord, was wondering if we can chat about what is possible in Godot Engine? |
Yes i am on discord, i also messaged you back in irc :) |
For anyone working on this feature, here is my code for FABRIK Constraints (Ball And Socket type)
this work is done by reading its implementation from this repo it is in c# so someone will need to translate it to cpp and do it directly in Godot and he will probably need to add bone type feature so user can choose if they want (Ball And Socket Constraints) or hinge constraints, though I didn't do hinge constraints here is how it is integrated in FABRIK iteration :
yes it should be in Backward iteration and no it doesn't need to be added to forward iteration (For this type of constraints only Ball And Socket) this work was tested using the TwistedIK Plugin for Godot 3.x Here is the Result : |
Was this integrated in any branch of 4.0 at some point? Otherwise I will try and give a go since I need it. |
This was implemented by godotengine/godot#51368 to an extent, but PhysicalBone hasn't changed much in 4.0 to my knowledge. |
I added the code proposed by @ywmaa in a new branch here: https://github.com/KaruroChori/godot/tree/ballhead-ik |
@KaruroChori When U test it, it would be great if others can too if you provide a simple example to test |
@NHodgesVFX |
I did a lot of stuff with ragdoll death animations on LawBreakers using UE4, and being able to use animations to drive the physics with motors is huge. Even a simple death pose can go a long way in making the death ragdolls look convincing vs. looking like a sack of potatoes. I was going to open a proposal for that, but I see this one pretty much covers it. |
Godot 4.3 beta many fundamental change in Animation API We need your expertise to upgrade old not working iK and ragdoll examples to the new and more unify Animation API |
Describe the project you are working on:
3D game that makes use IK and PhysicalBones
Describe the problem or limitation you are having in your project:
IK in Godot is standalone and as such doesn't really integrate with the animation tree. In addition its missing some features such as full body IK and constraints.
Physical Bones also suffer from not being integrated into the animation tree. In addition it would be great for physical bones to work while the animation is playing.
Describe the feature / enhancement and how it helps to overcome the problem or limitation:
IK in godot uses the Fabric algorithm, an extension to the base paper extends the algorithm for support of constraints. So, it shouldn't be to much work to add constraints or full body IK.
Full body support basically just needs constraints and a method to specify multiple targets per IK systems. There might be more needed but it seems the current IK solver can solve an arbitrary amount of bones.
The other issue is that IK needs to work with the animation tree somehow. Maybe IK could have its own node in the animation tree that can then be blended with other animations. For blending it should support a Mix Mode and a Add mode at least.
A Minor improvement to the IK system would be to support directly using a node for the magnet position.
Physical Bones should be able to calculate physics on top of an animation. This way if you punch a character the physics system can respond to the impact. In UE4 this is accomplished by converting animation data to physics motors.
Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams:
I sorta explained this above so, Ill use this to show other implementations of IK
Full Body IK and Additive Blending: https://www.youtube.com/watch?v=mNvtZCboy7w
Full Body IK: https://www.youtube.com/watch?v=n6iLQSbnUyA
Physical Animation: https://youtu.be/r40PJ6r_P4c?t=2134
If this enhancement will not be used often, can it be worked around with a few lines of script?:
Animation blending for IK is used frequently in games and full body IK is very popular for VR games. Physical Animation is useful to add more interactivity and realism to characters. It can not be worked around with a few lines of script.
Is there a reason why this should be core and not an add-on in the asset library?:
IK, PhysicalBone, and the animation tree are in core already.
The text was updated successfully, but these errors were encountered: