IC Python API:Pose Manager

From Reallusion Wiki!
Jump to: navigation, search
Main article: RL Python Samples.

Demo Video


Pose Manager can be used to record a character’s pose for the current frame as snapshots. These pose snapshots can be edited, organized and saved as part of a Pose Library. Pose Manager allows you to load, edit, and overwrite existing Pose Libraries. You can apply these pose snapshots to any other character with compatible rigging. The target character will immediately assume the pose of the snapshot to the best of its abilities.

Feature Rich Interface

The interface is composed of several interface groupings: Library, Pose, Pose List, Masking, Right Hand, and Left Hand.

Ic python api pose manager 01.png

Group Description
Library Contains the name of the pose library, which is the same as the file name. Has the ability to load, save, and create an empty new library.
Pose Contains a 128x128px preview image for the currently selected pose. Also has tools for the current pose such as mirror, mirror Left (Symmetry), mirror Right (Symmetry), and the ability to add poses.
Stored Poses Contains a list of all the added poses. Also has tools to rename, overwrite, and remove poses; as well as the ability to move pose entries up and down the list. The Bone Rotations sections allows one to restrict certain bone rotational axes (x, y, z).
Masking Contains full body masking buttons, excluding the fingers. Also has Tools to clear the current masks or invert the current mask selections including the right and left hands.
Right Hand Contains the right hand finger masking buttons. Includes a button to invert the current right hand finger mask selections.
Left Hand Contains the left hand finger masking buttons. Include a button to invert the current left hand finger mask selections.

Course Prerequisites

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

Link Purpose
List View Learn to create a Qt list view and add functionality to edit list entries.
Icons and Images Learn to deploy icons and images inside a user interface.
Serialize Pose Learn to serialize a character's pose data for file storage.
Screenshotting Take advantage of features in Qt to grab screenshots.
Saving JSON Know how to handle JSON data for file storage.

Takeaway Lessons

  • Read motion bone local transformation data.
  • Save, load, and edit data.
  • Apply motion bone transformation.

Required Files

  • Pose Manager Python script.
  • Characters and props in the iClone scene.
  • Character motions or poses.

You can download this plugin from the Reallusion Marketplace.

To acquire and view the source code, please visit Reallusion GitHub.

Usage Instructions

  1. Clone or download the Reallusion/iClone GitHub.
  2. Copy Pose_Manager folder into the iClone install directory > ...\Bin64\OpenPlugin.
  3. Load the script into the project from the menu: Plugins > Python Samples > Pose Manager.
  4. Load or create a scene with an avatar and pose it as desired.
  5. Load the Pose Manager script and select the avatar.
  6. Click the Add Pose button add an entry to the Pose List.
  7. Load another avatar with compatible rigging.
  8. Double-click on the new Pose List entry to apply the pose to the other avatar.
  9. Feel free to play around with the other Pose Manager settings.

Code Flow

Ic python api pose manager 02.png

APIs Used

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