[Feature Request] Build-in IK / Inverse Kinematic Solver
See original GitHub issueOriginal Content of this post: beside to handle the character foot position, maybe this will be useful for 3rd person shooter game.
Added context from @anan1213095357 in issue #1698 : Is your feature request related to a problem? Please describe. Yes, my feature request is related to a problem. Currently, our software does not include an Inverse Kinematics (IK) solver, which can limit our capabilities in various animation and robotics applications. The lack of an IK solver may increase the complexity and the time needed to calculate the joint parameters that achieve the desired positions of the robotic manipulator or character.
Describe the solution you’d like I would like to have an integrated Inverse Kinematics solver in our software. This solver should include support for different IK algorithms such as CCD, FABRIK, and Jacobian methods. It would be great if the solver could handle both single and multiple end-effectors and constraints.
Describe alternatives you’ve considered An alternative could be to integrate an external IK library into our system, but this could lead to problems with compatibility and maintainability. Having a built-in IK solver will provide more flexibility and control over the feature.
Additional context An IK solver is fundamental in various fields like computer animation, game development, robotics, and even biomechanics. It is essential for calculating joint parameters that would put an end-effector in a desired position.
- What are the usecases? The IK solver can be used in character animation for game development, robotic arm manipulations, posture prediction in biomechanics, etc.
- What kind of options/settings are expected/wanted? Options for different IK algorithms (CCD, FABRIK, Jacobian), single/multiple end-effectors, and constraints.
- What would the (pseudo) code look like? Something like this:
ik_solver.solve(end_effector_position, algorithm='CCD')
- Is the feature affecting behaviour in the editor? Yes, it could come with visual representation of the IK chains and a user-friendly interface for parameter adjustment.
- if so: how should this look in the editor? It could show the IK chains and allow users to select and adjust the parameters interactively.
- Is there a component or datastructure? Yes, the IK solver could be a new component that uses data structures for the kinematic chain, joints, and end-effectors.
- what kind of documentation is needed or needs to be updated? A complete documentation explaining the usage of the new IK solver component and its options, along with updates in the parts where IK solutions are applicable.
- Should there be an example project? Yes, an example project showcasing the usage of the IK solver in different scenarios (robotics, animation) would be beneficial.
Last edit by @Eideren.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:3
- Comments:14 (3 by maintainers)
Top GitHub Comments
@anan1213095357 looks like you’ll want to find a “more mature” engine then. Stride has lots of users (that do think it’s mature enough for them) and they already have lots of needs that are being worked on, so unless anyone has particular passion for this specific feature (there has been no indication as of yet) then it isn’t going to be worked on in the near future. This isn’t me speaking as a Stride dev (because I’m not), this is just the way open source works. Open source and the volunteers therein does not mean the world is going to materialise around you.
“I believe the future of a thriving user community for a game engine still greatly involves newcomers like me. The reason I’m drawn to this game engine is because, compared to others, it offers simplicity and a low learning curve, which is perfect for beginners. However, I do face challenges when certain tools necessary for my projects are not available in the game engine, making it impossible for newcomers like me to achieve certain goals. My hope is that this game engine continues to improve and grow. That’s why I brought up this point.”