I am experiencing what I think is incorrect behavior with IK. If a chain is defined as IK With Twist Effector, the member bones do not respect their angle limits. However when the same chain is changed in CHOPS to have IK With Constrainsts, the chain does respect angle limits.
This can be confirmed by following.
Create a four bone chain with Twist Effecttor.
Set all angle limits to rest angles, or just zero.
Move the chain_goal. You will see that chain transforms.
Now go to CHOPS and change the CHOP for that chain to IK With Constrainsts. Move the chain_goal, and bones respect the limits.
Is this normal behavior?
David Rindner
IK with Twist Effector not respecting bone angle limits.
5177 3 0- Dave_ah
- Member
- 436 posts
- Joined: 7月 2005
- Offline
- edward
- Member
- 7717 posts
- Joined: 7月 2005
- Offline
Currently, only the the IK with Constraints option will use the bone constraint angles.
Edit: You might consider limiting the movement of the twist affector relative to the end affector. You could also always do a hard limit on the rotation values but that will violate your end affector constraint which I assume you will never want.
Edit: You might consider limiting the movement of the twist affector relative to the end affector. You could also always do a hard limit on the rotation values but that will violate your end affector constraint which I assume you will never want.
- Dave_ah
- Member
- 436 posts
- Joined: 7月 2005
- Offline
- EigenAlex
- Member
- 639 posts
- Joined: 7月 2005
- Offline
Hi David,
I understand that this might actually involve a bit more time and set up, but couldn't you use as many Delete CHOP to separate out different rotation channel and use Limit CHOP to actually apply the bone's rotation limits? I tested it on a simple IK and that seems to work fine for me. There are also various simple trick that you can employ to make cut down the repetitive tasks by using opdigits() and opname() and such so that you won't have to deal with all the naming issues.
Cheers,
Alex
I understand that this might actually involve a bit more time and set up, but couldn't you use as many Delete CHOP to separate out different rotation channel and use Limit CHOP to actually apply the bone's rotation limits? I tested it on a simple IK and that seems to work fine for me. There are also various simple trick that you can employ to make cut down the repetitive tasks by using opdigits() and opname() and such so that you won't have to deal with all the naming issues.
Cheers,
Alex
-
- Quick Links