- Home /
Inverse Kinematics By Dogzer: transition apart from 0 and 1 give srange results
Hi!
I do not have Unity Pro and I am trying to make IK for hands. I am using the script by Dogzer (but I also made my own version, both work fine). The problem I am having is when I am in transition and I want to switch in IK for hands. Both start end and IK resolved rotations for upper and forehand are calculated correctly. Then, they are combined using weight:
upperArm.rotation = Quaternion.Slerp(upperArmRotation, upperArm.rotation, transition); forearm.rotation = Quaternion.Slerp(forearmRotation, forearm.rotation, transition);
This results is flashing (quick up down movements, like it cant decide between solutions) hand movement. I also tried fixing the transition to value like 0.5 and flashing is still present, however a little bit more limited to the "correct" position. The only reasonable explaination for this behaviour I find is that animator sometimes updates bone position before LateUpdate() is called and sometimes it doesn't affect it at all (and previous frame position is used). Is is somehow possible to synhronize this behaviour? (e.g. I have to guarantie that animator will exectute and write all data before LateUpdate() is called on IKLimb)
Your answer
Follow this Question
Related Questions
2D Animation does not start 1 Answer
Why is my Ik not working 0 Answers
Modifying animation in Late Update not working 1 Answer
IK for hands 0 Answers
ik target isn't being reset 0 Answers