0 votes
asked in VRIK by (140 points)
edited by
Hello-- I have 2 related questions:

1. How do I set up VRIK so I can control other character models/avatars? I essentially want to "puppeteer" other characters in the scene with my body movement.

2. Adding to the above-- is it possible to introduce slight variability in the movements of the other characters? For example, can I add tiny amounts of lag to each or otherwise tweak the animation/IK functionality (excuse my ignorance of correct terminology) so they're not all 100% in sync? The outcome I'm trying to achieve is giving the impression they're "real" individuals and not robots operating 100% flawlessly in sync.

Thank you!

1 Answer

0 votes
answered by (8.5k points)

1. Yes, you should add a VRIK to each of the characters, but the IK targets you assign to it would need to be parented not directly to the HMD and hand controllers, but proxy objects that follow the HMD and hand controller local positions/rotations by script. Basically just transform.localPosition = targetTransform.localPosition; and the same for the localRotation. Using local space here so you could offset the proxies to the position of each character.

2. You could play around with some VRIK settings to change the appearance a bit, but about the lag, you could write that into the script above that updates the proxies, I mean you could use transform.localPosition = Vector3.Lerp(transform.localPosition, targetTransform.localPosition, Time.deltaTime * speed); and have the speed parameter vary between the characters to make some lazier or slower or apply positional offset to the hands or whatever.



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.