c4d.modules.character.CAReferencePSD

New in version R19.

Allows to access the PSD referential data and functions. Only used with a point pose in PSD Mode.

Members

CAReferencePSD.SetInterpolationMode(interpMode)

Sets the auto weighting interpolation mode.

Parameters:interpMode (int) –

The interpolation mode to set:

CAMORPH_PSDINTERPOLATION_MODE_AXIS Per joint axis.
CAMORPH_PSDINTERPOLATION_MODE_JOINT Per joint interpolation (joint axis average).
CAMORPH_PSDINTERPOLATION_MODE_GLOBAL Use one global value (joint average).
CAReferencePSD.GetInterpolationMode()

Returns the auto weighting interpolation mode.

Return type:int
Returns:The interpolation mode:
CAMORPH_PSDINTERPOLATION_MODE_AXIS Per joint axis.
CAMORPH_PSDINTERPOLATION_MODE_JOINT Per joint interpolation (joint axis average).
CAMORPH_PSDINTERPOLATION_MODE_GLOBAL Use one global value (joint average).
CAReferencePSD.ForceJointAsDriver(jointIndex, forceDriver)

Forces the joint index to be a driver.

Note

If any of the joints is marked as a forced driver, only those are considered in automatic weighting.

Parameters:
  • jointIndex (int) – The weight tag joint index to use as driver.
  • forceDriver (bool) – True if the joint is used as a driver, otherwise False.
CAReferencePSD.IsJointForcedAsDriver(jointIndex)

Checks if the joint index is a user forced driver.

Note

If any of the joints is marked as a forced driver, only those are considered in automatic weighting.

Parameters:jointIndex (int) – The weight tag joint index to use as driver.
Return type:bool
Returns:True if the joint is forced as a driver, otherwise False.
CAReferencePSD.ClearAllForcedDrivers()

Removes all user defined joint as driver and let the system manage it automatically.

CAReferencePSD.RestoreReferencePose()

Displays skeleton and user defined controller at the reference pose.

CAReferencePSD.UpdateReferencePose()

Updates the current skeleton state as the PSD reference pose.

CAReferencePSD.ClearAllExternalControllers()

Removes all external controllers assigned to the reference pose.

CAReferencePSD.GetExternalControllerCount()

Return the number of external controllers associated with the reference pose.

Return type:int
Returns:The external controller count.
CAReferencePSD.GetExternalController(controllerIndex)

Returns the controller assigned to the given index.

Parameters:controllerIndex (int) – The controller index: 0 <= controllerIndex < GetExternalControllerCount().
Return type:c4d.BaseObject
Returns:The external controller.
CAReferencePSD.GetExternalControllerMatrix(controllerIndex)

Returns the matrix stored at the given index.

Parameters:controllerIndex (int) – The controller index: 0 <= controllerIndex < GetExternalControllerCount().
Return type:c4d.Matrix
Returns:The external controller global matrix, or a default c4d.Matrix() if the function failed.
CAReferencePSD.SetExternalControllerMatrix(controllerIndex, globalMatrix)

Adds or adjusts the given controller global matrix to be part of the reference pose.

Parameters:
Return type:

int

Returns:

The index of the controller, NOTOK/-1 if invalid.

CAReferencePSD.RemoveExternalController(controllerIndex)

Removes the external controller at the given index.

Parameters:controllerIndex (int) – The controller index: 0 <= controllerIndex < GetExternalControllerCount().
Return type:bool
Returns:True if successful, otherwise False.