The Hand Synthesis algorithm generates hand motion using body motion. Due to self-occlusion, hands are extremely difficult to capture using traditional motion capture techniques. Most modern systems use independent, complicated techniques like gloves or 16-markers to capture hand data and attach it to the capture motion using post-processing. This is very time consuming and can't be used with our fast avatar capture system. This algorithm "infers" hand motion using a database of captured motions. The following document explains how to configure and run the system.
Hand configuration
In order to synthesize hands, a database of body and hand motions needs to be configured. This can be done conveniently using the python API. Please refer to "HandSynthesisDemo.py" for an example. The main steps involved are
- Use the global configuration manager to create a new configuration with a unique name
- Add motions to the configuration. These motions MUST have both body and hand data. The data will be separated automatically
- Multiple configurations can be setup and switched during synthesis
Hand Synthesis
Follow the following steps to synthesize hand motion for a particular character:
- Ensure that 'HandSynthesis.py' script was run
OR - Create a character, setup hand configurations and any retargetting necessary (Refer to the example script for help)
- Select the character, go to the "Hand" attribute group and open it to access the various options
- Use 'hand.config' to select a hand configuration to use (setup in the previous section)
- Use 'hand.debug' to enable printing debug info
- Use 'hand.motionName' to select the motion for which hand data needs to be generated
- Use 'hand.switchConfig' to switch between different configurations (separate from synthesis)
- Use 'hand.init' to initialize the synthesis
- Once hand data has been generated, 'hand.enableBody' and 'hand.enableHand' can be used to enable or disable hand or body data (so they can be viewed separately)
Related articles
-
Page: