-
-
Notifications
You must be signed in to change notification settings - Fork 21.6k
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
Discussion about 3D features: bones, IK, ragdolls #4018
Comments
All this needs to be implemented together, likely in the Skeleton class.
The gizmo plugin system is now documented, so you can also have a gizmo Obviously you need to know some vector math for this, as you have to If you need any help with this let me know.. also I think there is a good On Fri, Mar 11, 2016 at 5:47 PM, Sergey Lapin notifications@github.com
|
As it is known IK in 3D is underconstrained problem. To make it fully set
About ragdolls - do you think we need a RigidBody per bone - won't this be About constraints - in case of humanoid charcters, for example, we need 2 When I experimented with ragdolls implemented using RigidBodies and Joints About gizmo plugins - can I use it directly from editor in 3D viewport? I On Sat, Mar 12, 2016 at 1:10 AM, Juan Linietsky notifications@github.com
|
I can't see this working properly IMO, Trying to simply satisfy the
The problem is that "rotating in the direction of the pole target" is not a) the process either will be very slow to get to the target or it will There is zero chance of overshoot in an iterative incremental approach How can we avoid that? This IK algorithm came from robot control, probably You have to not only calculate angle but also positions of both bones at
Basically you just have a list of constraints to keep, and then solve every For example imagine you don't have any angular constraints and it's just what you will do is kind of like:
this is super extremely fast even if you iterate a few times, there is not On Fri, Mar 11, 2016 at 8:16 PM, Sergey Lapin notifications@github.com
|
Well, there is still something I don't quite understand. I don't quite see how we fully solve If we solve the constraint for each joint separately, it is possible (how do we handle pole target in this case?), but how to do it for the whole chain? |
I'm not sure how to explain this properly, I wish I could.. you never really reach the full solve, you only approximate towards it By approximating each constraint individually (interpolate the solution a % On Sat, Mar 12, 2016 at 1:06 PM, Sergey Lapin notifications@github.com
|
Well, I use the following as theory reference material: |
I implemented prototype code https://github.com/slapin/godot-3d-ik-playground |
Would be great to have some more user friendly bone transformation editing and animation in the GUI (eg animation bone rotations). I almost feel like in the GUI hierarchy the mesh instance should contain the skeleton, because then the skeleton could contain bones. |
Hey @slapin as far as I know some of your listed points were somehow implemented since the last comment here or are being worked on in #39353 by @TwistedTwigleg. Maybe you could reevaluate what still needs to be done and create a GIP in the proposals repository or add some points to an already existing one like godotengine/godot-proposals#750. |
Closing per @pwab's comment. |
I'm sorry to bother by this things, but I need to make some things clear.
I have the following set of features I need from Godot andI wonder about plans and opinions on
implementing this. I just need comments on how hard to implemnt this and that, ideas on implementation, plans, details, anything. I hope I'm not alone interested in this, but any attempt
to start discussion failed so far, so I'd like to try this way.
and XYZ angles, scale, transform, animation of the fields, from GUI. Being implemented for everything else, it is just natural to have this for bones too. That would allow to animate skeletons from Godot
without having to calculate transformation matrices by hand
Can be done in a way similar to Blender, just rotational constraints with angles, on XYZ and quaternion
coordinates, global and local.
requires 2 targets, the IK target and pole target to be sloved right. This can be implemented in GDScript now, but done this way is messy without having 0.1 and 1.
are available a lot.
My opinion about this is that the start should be with 0. and 1. but I might be wrong here,
as I'm not professional in this field, but I'm really curious and interested, and have an attitude.
Any ideas?
The text was updated successfully, but these errors were encountered: