Exactly where and when does the VRIK solver decide what direction knees bend in?
We're making an avatar system for a VR app, where users can assign different avatars. So we load them from disk and assign them to the user that selected them.
But somehow, it comes out differently the second time someone uses the same avatar compared to the first time. The first time, the knees consistently bend towards the front, like I would want. But for some avatars, the second time anyone uses it, the knees are very bow-legged.
So, where in the VRIK set up process and/or code, does it decide which direction knees bend in? This will help me track down what exactly is different the second time.
EDIT: A possible clue is that the locomotion position also seems to be offset the second time an avatar is assigned. Like, to help the locomotion catch up when you teleport, we have a VRIKPlatform which teleports with you. Again, the first time you assign an avatar is fine, but the second time you assign an avatar, moving the VRIKPlatform to the user's location results in the locomotion being moved past that exactly as far, so the locomotion isn't at 0,0 anymore. (Calling vrik.Reset() does not address this)