[Closed] IK chains & max crashes
Well, i’m writing a script which manages 4 ik hi chains and i need to read rotations of objects involved in chains and also set rotation of chains last bone.
Of course trying to read and set rotations with chains alive produces an horrible result; i tried to disable chains (<chain>.controller.enabled = 0) but the situation didn’t improve. The only secure way i found to perform the aforementioned operations is to delete (and then rebuild ) chains every time i need it. It works but because of my particular implementation this delete/rebuild system makes things very complicated.
So i found in maxscipt documentation that startJoint and endJoint pointers can be changed on the fly via <chain>.controller.startJoint and <chain>.controller.endJoint methods (ie: assign them to stub objects to leave the relevant objects temporarily free from any overriding) but sadly found that after a couple of switches max crashes with an assertion error in the ikmanager.cpp module
My 2 questions are:
- is there a way to read rotations of all bones (ie upperarm, forearm, hand) and set rotation of last bone (hand) correctly without killing/rebuliding the ik chains?
- Did i miss something or is max horribly bugged when it comes to switch startJoint and endJoint pointers?