New IK method
Hi All,
I am researcher in the area of robotics and I came up with a computationally efficient and singularity robust
method for inverse kinematics, IK. Some animations on using this method for motion retargeting are included
here http://www.vimeo.com/2251629
For the 69 dof caharcter in the animation it takes around 1000 multiplications/additions per iteration
to calculate the solution. Typically 6-8 iterations are needed per frame. The method can be also used in
dynamic simulations and essentially the method can replace the damped least squares method (DLS).
The complexity for the inversion is proportional linearly to the degrees of freedom, i.e. O(n), rather than O(n^2) as
in DLS, so the full jacobian could be used in the solution in real time which would simplify the task, I believe.
Since I am not an expert in the gaming area I was wondering whether IK or the inversion anywhere in the loop (if dynamics) is really a bottleneck in interactive games?
IK certainly can be a bottleneck. Really, anything related to animation, physics, etc., can be a bottleneck. Just like you, game developers seek to minimize algorithm cost. For example, using CCD vs. Jacobian Inverse or Jacobian Transpose for IK.
One thing that is always done when developing a commercial game is to balance the content such that the cost of the different aspects of the simulation (physics, AI, networking, input processing, audio, etc.) don't use more than some allocated fraction of a frame time. This is necessary even when a fast algorithm exists, e.g., content for interactive games could always grow to exceed the "interactive" capacity of any algorithm. I emphasize that the content is balanced, e.g., the developers may wish to have more content, more complex game worlds, but they may have to reduce complexity so that everything is balanced.
One thing that is always done when developing a commercial game is to balance the content such that the cost of the different aspects of the simulation (physics, AI, networking, input processing, audio, etc.) don't use more than some allocated fraction of a frame time. This is necessary even when a fast algorithm exists, e.g., content for interactive games could always grow to exceed the "interactive" capacity of any algorithm. I emphasize that the content is balanced, e.g., the developers may wish to have more content, more complex game worlds, but they may have to reduce complexity so that everything is balanced.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement