Jump to content
Hash, Inc. - Animation:Master

What is IK Damping?


robcat2075

Recommended Posts

  • Replies 10
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

  • Hash Fellow

Here's an old CGTalk thread that suggests it has something to do with the "pop" that happens when an IK chain is pulled straight but they don't explain much about it.

 

http://forums.cgsociety.org/archive/index.php/t-115396.html

 

 

Here's an old paper that uses "damped" in connection with the various formulas for solving IK positions, but it's overly technical.

 

http://www.google.com/url?sa=t&rct=j&a...5djZsMMZOheoHxA

Link to comment
Share on other sites

  • Hash Fellow
I myself have long been trying to understand it. And also see that when the parameter Ik dumping occurs more chaos

 

IK_DAMPING2.prj

 

But the difference can be seen. Let us try to understand why this is

 

 

So far, I guess I'm not missing much by not using it. :D

Link to comment
Share on other sites

From the Technical Manual:

 

Damping

Visible: Sometimes, Advanced, Default: 5, Min: 0, Max: 1e+008. Damping controls the motion of the chain. It damps the springs that force the chain towards its target. The faster the spring tries to pull, the more the damping resists the motion. A higher number slows the oscillations more. Stiffer springs require higher damping values.

 

I haven't rigged anything where this proved useful. Although I'm sure there are times when it would be.

 

As for controlling "IK Pop", the tutorial on Exponential Decay might help...I posted it a few weeks ago.

 

Hope that helps.

Link to comment
Share on other sites

  • Hash Fellow
From the Technical Manual:

 

Damping

Visible: Sometimes, Advanced, Default: 5, Min: 0, Max: 1e+008. Damping controls the motion of the chain...

 

 

 

Where does this numerical parameter show up? i have Show Advanced Properties ON and I haven't seen it.

Link to comment
Share on other sites

LOL! I screwed up, Robert. I just did a quick search in the Technical Reference for "damping"....that was for hair, unfortunately.

 

Here's the actual entry for IK damping:

 

IK Damping

Default: 180°, Angle. Damping controls the way a kinematic constraint finds

its solution when set to support limits and damping. The normal way for the

solver to operate is to prioritize the movement of the bones at the end of the

chain first. This is normally the most natural way. However, sometimes it is

preferred to have the last joint of a chain to behave rather stiffly, forcing the

solver to prefer to move the next bone up. Damping allows this to be

accomplished. By setting the damping on the last bone to a small number it

will make the last joint stiffer. The damping value represents the number of

degrees the bone is allowed to rotate in one iteration of the solver. So small

values resist movement more, and large numbers resist movement less. By

default damping is set to 180, which is totally free movement

 

Sorry about that, I did that too quickly the first time.

Link to comment
Share on other sites

And here's the entry that I think explains it (from the Technical Manual):

 

Kinematic Constraint Limits tab

The kinematic constraint can be set to support angular limits on the bones

within the chain. To do this check ”Support limits and damping” on the Limits

page. When checked the software will enforce the limits at each step of the

solving process. In this way if the goal may be reached with the limits

enforced, it will succeed. If not checked the limits are only enforced after a

solution that meets the goal is found. This often results in the goal not being

reached even though a solution may be possible.

Damping can be set on any angular limit. That includes “spherical limits”

and the “euler limits”. The normal way for the solver to operate is to prioritize

the movement the bones at the end of the chain first. This is normally the

most natural way. However, sometimes it is preferred to have the last joint

of a chain to behave rather stiffly, forcing the solver to prefer to move the

next bone up. Damping allows this to be accomplished. By setting the

damping on the last bone to a small number it will make the last joint stiffer.

The damping value represents the number of degrees the bone is allowed

to rotate in one iteration of the solver. So small values resist movement

more, and large numbers resist movement less. By default damping is set to

180, which is totally free movement.

When limits and damping are supported, the solver can also compute roll.

Do this by checking “Compute Roll” on the limits page. Computing roll on a

bone can help accomplish a kinematic solution that may not be possible

without either the option or by setting the roll by hand. This can be useful in

mechanisms such as the human elbow where it is preferable to roll the

bicep rather than allowing the elbow to rotate sideways against the direction

of the natural hinge joint of the elbow. This can be accomplished by placing

angular limits on the forearm to restrict its movement naturally, then allow

the kinematic solver to compute the roll on the chain, which can roll the

bicep within its roll limits to accomplish the requested goal.

 

----------------------------

EDIT

----------------------------

 

As I said, I've never had a need to use it, but I'm sure it would be useful in some situations.

Link to comment
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...