CC5 HD: Read and reconstruct final evaluated facial morph weights with Python

Hi,

I am using a CC5 HD character in iClone 8 and would like to build an OpenPlugin that samples the character’s facial state at the current timeline time, exports the values to JSON, and later reconstructs the animation as expression keys.

I found these RIFaceComponent methods:

  • GetExpressionSetUid()
  • GetExpressionNames("", False)
  • GetExpressionWeights(time, [])
  • AddExpressionKeys(...)

Could you please clarify:

  1. Does GetExpressionWeights() return the final evaluated/blended facial state at that time, including Face Key expressions, Quick Set presets, expression clips and AccuFACE data?
  2. Does it include the active viseme/AccuLIPS contribution, or must visemes be read separately through RIVisemeComponent?
  3. Are all CC5 HD controls exposed, including jaw, tongue, facial bones and custom expressions?
  4. Can AddExpressionKeys() write all those CC5 HD controls back by name?
  5. Are values limited to 0–1, or are negative and greater-than-one values supported?
  6. Is there an API for enumerating or applying Quick Set expressions such as A1_Happy, or should we apply them manually and sample their evaluated weights?
  7. What UID should GetExpressionSetUid() return for a CC5 HD facial profile?
  8. Could you provide a minimal current CC5 HD example?

The eventual purpose is to build reusable viseme, emotion and character-persona JSON recipes for automated dialogue animation.