IC Python API:Hand Gestures Puppeteering

From Reallusion Wiki!
Revision as of 20:07, 19 October 2020 by Chuck (RL) (Talk | contribs)

Jump to: navigation, search
Main article: Various Lessons.

Demo Video

Descripton

The ability to customize and create new tools to facilitate character animation is one of the main draws of the iClone Python API. This example demonstrates the use of an intuitive graphical user interface to drive the hand gestures of a character. Once the script is applied, a Hand Gestures Puppeteering dialog window will appear with 6 quadrant gesture controls. The user can drag the dot within the interface to blend the hand gestures in midst of the 6 quadrants making for a smooth transition every time.

Convenient hotkeys are provided so the mouse can remain pre-occupied with controlling the blend position:

  • [P] starts and stops the preview mode. Under this mode, the user can test out various blend styles without having to actually record the motion into the timeline.
  • [Space] starts and stops the recording. Use this to record the motions to the timeline to preserve it for playback.
  • [B] for switching between the two blend modes, see below for more information.

Two blending options are available:

  • 2-Point Blend allows for blending of the nearest two points to the control point.
  • Multi-Point Blend allows for blending of all 6 quadrants from any position within the control wheel.

Course Prerequisites

You should familiarize yourself with the following fundamental articles before you proceed:

Link Purpose
Using Temp Data Learn to read/write temporary data.
Embedding QML A soft introduction to creating QML ui and embedding it into iClone.

Takeaway Lessons

  • Simulate Mocap device to control Character motion.
  • Create UI using QML.

Required Files

  • Hand Gestures Python script -included in Python samples (main.py)
  • Hand Rig Python script (handrigger.py)
  • User interface Python script (KeyData.py)
  • Bone data required by the hand rigger script (BoneData.py)
  • User interface markup language file for QT (resource/qml folder)

You can download this plugin from the Reallusion Marketplace. To acquire and view the source code, please visit Reallusion GitHub.

Usage Instructions

  1. Inside iClone, load a standard or non-standard character.
  2. Initiate the Hand Gestures Puppeteering script (Plugins > Python Samples > Hand Gestures Puppeteering).
  3. Press [P] to start the preview process; Which does not record actual animation.
  4. Drag the dot within the Hand Gestures Puppeteering window and watch as the hands begin to move and blend between the 6 different poses.
  5. Switch between 2-Point and Multi-Point Blend to try out the different blending options by pressing [B] so you won't need to let go of the mouse button.
  6. Hit the space-bar at any point to start recording the animation in the timeline.
  7. Finish the recording by pressing the space-bar again and play the timeline to review the recorded animation.

APIs Used

You can research the following references for the APIs deployed in this code.

main.py

handrigger.py