0 votes
asked in CCDIK by

I am using CCDIK to move a chain of 7 bones with RotationLimitAngle. Sometimes, the chain jitters or some bones teleport themselves to another configuration (I think it happens when the algorithm hesitates between several configurations to reach the end effector, so it alternates between 2 configurations). Is there a way to not have the bones teleporting or jittering, and always have a smooth transition between 2 configurations ?

Thanks in advance

Edit : I also have LookAtIK and LookAtController on a grandparent of my chains with CCDIK. When I desactivate both LookAtIK and LookAtController, it seems jittering/teleporting issues on the CCDIK chains go away (I also have decrease weight values on CCDIK components). Maybe, sometimes there is a conflict between the LookAtIK/LookAtController in one hand, and CCDIK as children in the other hand.

The hierarchy is as following :

- Parent with LookAtIK and LookAtController components
----- Armature
------------- Head (set as "head" in LookAtController components above)

------------- Body

------------------------ Arm 1 (with a CCDIK of 7 bones)

------------------------ Arm 2 (same as Arm 1)

----------------------- etc. (others arms)

(it is not a humanoid creature)

It works well except for the jittering/teleporting issue of my arms under certain circunstances (I think it is when there are too many bends between the bones of an arm) ; and for the moment I don't reproduce this issue when I desactivate the LookAtIK/LookAtController (but I need it in order to move the head and then the body follows).

1 Answer

0 votes
answered by (22.7k points)
Best answer

That is a problem with the nature of the CCD algorithm, I'm afraid. If it always starts from the same pose and the target moves, the results can be snappy, as different target positions can be reached by completely different ways, especially when there are limits on the bones.

If you don't have animation playing on the arms, you can make CCD work continuously, I mean start from the last solved pose, not the default pose, by just disabling "Fix Transforms" in the CCD component.


commented by
Disabling "Fix Transforms" is exactly what I was looking for, there is no teleportation anymore, thank you very much !

Sorry, when I read the description for this attribute in the documentation the first time, I didn't understand it. Now it is very clear for me with your answer. :)

Welcome to RootMotion Q&A, where you can ask questions and receive answers from the developer of Final IK and PuppetMaster and other members of the community.

Post as a guest, create an account or login via Facebook.

Please use the correct category when you post your questions.