Inverse kinematics has especially important applications for VR, I think, as we want to accurately render humanoid models when we only know the positions of the user's hands and head. I've seen games that do it well and it works fantastically, really immersing you in the character, and I've seen games that do it badly, and it completely breaks you out of the experience.
InfinityAxiom
Here's a really cool GDC talk about how Lone Echo, a polished VR game, uses Inverse Kinematics to simulate arms: https://twvideo01.ubm-us.net/o1/vault/gdc2017/Presentations/Copenhaver_Jacob_ItsAllIn.pdf. The key points are:
Estimate chest facing using a weighted blend of head direction and the directions from head to hands.
Estimate arm extension by matching hand in game to controller position IRL, "faking" the length of the arm if need be.
Estimate shoulder position by assuming it always points toward the hand.
Estimate elbow pole vector by blending between a base rest pose and wrist drection
Use an inverse kinematic solver a two link chain (https://mrl.nyu.edu/~perlin/gdc/ik/ik.java.html)
kim
Adding on for another interesting overview and breakdown of inverse kinematics:
https://medium.com/unity3danimation/overview-of-inverse-kinematics-9769a43ba956
adampahlavan
Are these reverse kinematic solvers always solving linear equations with linear restraints, or are we dealing with higher order polynomials here?
brijeshp
Here's an interesting paper about robotic movement in "danger space," basically a place where a robot can, but is not desired to move to: https://www.mdpi.com/2079-9292/8/2/201
Inverse kinematics has especially important applications for VR, I think, as we want to accurately render humanoid models when we only know the positions of the user's hands and head. I've seen games that do it well and it works fantastically, really immersing you in the character, and I've seen games that do it badly, and it completely breaks you out of the experience.
Here's a really cool GDC talk about how Lone Echo, a polished VR game, uses Inverse Kinematics to simulate arms: https://twvideo01.ubm-us.net/o1/vault/gdc2017/Presentations/Copenhaver_Jacob_ItsAllIn.pdf. The key points are:
Estimate chest facing using a weighted blend of head direction and the directions from head to hands.
Estimate arm extension by matching hand in game to controller position IRL, "faking" the length of the arm if need be.
Estimate shoulder position by assuming it always points toward the hand.
Estimate elbow pole vector by blending between a base rest pose and wrist drection
Use an inverse kinematic solver a two link chain (https://mrl.nyu.edu/~perlin/gdc/ik/ik.java.html)
Adding on for another interesting overview and breakdown of inverse kinematics: https://medium.com/unity3danimation/overview-of-inverse-kinematics-9769a43ba956
Are these reverse kinematic solvers always solving linear equations with linear restraints, or are we dealing with higher order polynomials here?
Here's an interesting paper about robotic movement in "danger space," basically a place where a robot can, but is not desired to move to: https://www.mdpi.com/2079-9292/8/2/201