0 votes
asked in LimbIK by
Hi,

I'm using the limb IK on a VR project. Currently i'm able to grab an anchor point and the ik system work near perfectly. The only problem is I can pull the limb pass humanly possible limit.

I tried using rotation limit component without success before reading that it doesn't support the limbik system.

Is there a way for me to add a limit without having to create collider that will force the limb to stay in a specified zone ?

I would like in the end that the upper arm rotation stay between -90 and 15 in Y and -90 and 10 in Z

Thank you in advance for the help

1 Answer

0 votes
answered by (19.5k points)

Hey,

No way to add limits to LimbIK, sorry. You could try FABRIK or CCDIK instead though.

It is possible to apply rotation limits on top of LimbIK, but that means your solver is not guaranteed to reach the target when those limits are exceeded. To do that, you'd have to add the limits to the bones, then use this script to disable the limits and update them post-LimbIK:

public LimbIK ik;

public RotationLimit[] limits;

void Start() {

ik.solver.OnPostUpdate += OnPostUpdate;

foreach (RotationLimit limit in limits) {

limit.enabled = false;

}

}

void OnPostUpdate() {

foreach (RotationLimit limit in limits) {

limit.Apply();

}

}

Best,

Pärtel 

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.

...