Python Reference Guide
FBCharacter Class Reference

A character is the link between a motion source and a character model. More...

#include <pyfbsdk_generated.h>

Inheritance diagram for FBCharacter:

Public Member Functions

 FBCharacter (str pName)
 Constructor. More...
 
 AddCharacterExtension (FBCharacterExtension pExt)
 AddCharacterExtension. More...
 
FBCharacter Clone ()
 Clone the character. More...
 
 ConnectControlRig (FBControlSet pControlSet, bool pUpdateLimit, bool pResetHierarchy)
 Connect a Control-Rig to the character. More...
 
 CopyAnimation ()
 Copy the animation from the input character to us. More...
 
bool CreateAuxiliary (FBEffectorId pEffectorId, bool pPivot, float pAuxReachT=100, float pAuxReachR=100)
 Create auxiliary on effector. More...
 
bool CreateCharacterMarkerSet (bool pSetActive)
 Create the Character Marker Set. More...
 
bool CreateControlRig (bool pSetFKIK)
 Create the Control-Rig. More...
 
 CycleAnalysisCurrentCharacter ()
 Run Cycle Analysis on current character. More...
 
 DisconnectControlRig ()
 Disconnect the Control-Rig from the character. More...
 
 FBDelete ()
 Actual Character destructor. More...
 
 GetActiveBodyPart (bool pActivePart)
 Get the active body part array. More...
 
FBCharacterMarkerSet GetCharacterMarkerSet (bool pForce=False)
 Obtain Input CharacterMarkerSet. More...
 
bool GetCharacterize ()
 Get Characterize flag. More...
 
str GetCharacterizeError ()
 Get error message for the previous SetCharacterizeOn operation. More...
 
FBModel GetCtrlRigModel (FBBodyNodeId pBodyNodeId)
 Get the model associated with each body part in the Control Rig of the character. More...
 
FBControlSet GetCurrentControlSet (bool pForce=False)
 Obtain Input ControlSet. More...
 
FBCycleAnalysisNode GetCycleAnalysisNode ()
 Get the Cycle Analysis Node from the current character. More...
 
FBModel GetEffectorModel (FBEffectorId pEffectorId, FBEffectorSetID pEffectorSetID=FBEffectorSetDefault)
 Get the model associated with each effector in the Control Rig of the character. More...
 
FBCharacterSolver GetExternalSolver ()
 Get a pointer to the external solver of a character, or NULL is no external solver is used on the character. More...
 
FBVisibilityState GetFKVisibility ()
 Get the FK visibility state. More...
 
FBModel GetFloorContactModel (FBFloorContactID pMemberIndex)
 Get the model associated with the floor contact ID. More...
 
FBModel GetGoalModel (FBBodyNodeId pBodyNodeId)
 Get the goal model associated with each body part in the Character Marker Set of the character. More...
 
FBVisibilityState GetIKVisibility ()
 Get the IK visibility state. More...
 
FBBodyNodeId GetIndexByModel (FBModel pModel)
 Get the index associated with Given Model. More...
 
FBModel GetModel (FBBodyNodeId pBodyNodeId)
 Get the model associated with each body part of the character. More...
 
 GetParentROffset (FBBodyNodeId pBodyNodeId, FBRVector pRVector)
 
 GetROffset (FBBodyNodeId pBodyNodeId, FBRVector pRVector)
 
 GetSOffset (FBBodyNodeId pBodyNodeId, FBSVector pSVector)
 
FBVisibilityState GetSkeletonVisibility ()
 Get the skeleton visibility state. More...
 
 GetSkinModelList (FBModelList pSkinModelList)
 Get the skin model associated with character bones. More...
 
 GetTOffset (FBBodyNodeId pBodyNodeId, FBTVector pTVector)
 
 GetTransformOffset (FBBodyNodeId pBodyNodeId, FBMatrix pOffsetMatrix)
 
 GoToStancePose (bool pPushUndo=False, bool pIncludeCharacterExtensions=True)
 Set the character in stance pose. More...
 
bool IsParentNodeOffset (FBBodyNodeId pNodeId)
 Check if there is an offset on Parent. More...
 
bool IsRotationPin (FBEffectorId pEffectorIndex)
 Return true if the object is Pinned in Rotation (Manipulation). More...
 
bool IsTranslationPin (FBEffectorId pEffectorIndex)
 Return true if the object is Pinned in Translation (Manipulation). More...
 
bool PlotAnimation (FBCharacterPlotWhere pPlotWhere, FBPlotOptions pPlotOptions)
 Plot the animation of the character. More...
 
bool ReadyForRetarget ()
 Test if character is ready for the Retarget operation (basically, is it in character input ?). More...
 
 RemoveCharacterExtension (FBCharacterExtension pExt)
 Get the model associated with each body part of the character. More...
 
 ResetProperties (FBCharacterResetProperties pType)
 Reset the properties of the character. More...
 
 Retarget (bool pOnBaseLayer)
 Retarget the animation from the input character to us. More...
 
 SelectModels (bool pSelect, bool pApplyToCharacter, bool pApplyToRig, bool pApplyToExtensions)
 Select the objects that make a character. More...
 
 SetCharacterizeOff ()
 Set Characterize flag off. More...
 
bool SetCharacterizeOn (bool pSetAsBiped)
 Set the Characterize flag on. More...
 
 SetExternalSolver (int pIndex)
 Set character external solver. More...
 
 SetExternalSolver (FBCharacterSolver pSolver)
 Set character solver. More...
 
bool SetFKVisibility (bool pState)
 Set the FK visibility state. More...
 
bool SetIKVisibility (bool pState)
 Set the IK visibility state. More...
 
bool SetRotationPin (FBEffectorId pEffectorIndex, bool pValue)
 Set the object Pinned in Rotation (Manipulation) status. More...
 
bool SetSkeletonVisibility (bool pState)
 Set the skeleton visibility state. More...
 
bool SetTranslationPin (FBEffectorId pEffectorIndex, bool pValue)
 Set the object Pinned in Translation (Manipulation) status. More...
 
- Public Member Functions inherited from FBConstraint
 FBConstraint (str pName)
 Constructor. More...
 
FBAnimationNode AnimationNodeInCreate (kReference pUserId, FBModel pModel, str pAttribute)
 
FBAnimationNode AnimationNodeInCreate (kReference pUserId, FBProperty pProperty)
 Animation Node Creations (IN). More...
 
FBAnimationNode AnimationNodeOutCreate (kReference pUserId, FBModel pModel, str pAttribute)
 Animation Node Creations (IN/OUT). More...
 
FBConstraint Clone ()
 Clone the constraint. More...
 
bool DeformerBind (FBModel pModel)
 Bind/Unbind pModel to deformation constraint. More...
 
bool DeformerUnBind (FBModel pModel)
 
bool Disable (FBModel pModel)
 Disable constraint on pModel. More...
 
 FreezeSRT (FBModel pModel, bool pS, bool pR, bool pT)
 Freeze current model state. More...
 
 FreezeSuggested ()
 Suggest 'freeze'. More...
 
bool ReferenceAdd (int pGroupIndex, FBModel pModel)
 Add a reference to a specified group. More...
 
FBModel ReferenceGet (int pGroupIndex, int pItemIndex=0)
 Get a reference. More...
 
int ReferenceGetCount (int pGroupIndex)
 Get number of references in a specified group. More...
 
int ReferenceGroupAdd (str pGroupName, int pMaxItemCount)
 Add a group of references. More...
 
int ReferenceGroupGetCount ()
 Return the number of reference groups. More...
 
int ReferenceGroupGetMaxCount (int pGroupIndex)
 Get the maximum number of items that can exist in the reference group in question. More...
 
str ReferenceGroupGetName (int pGroupIndex)
 Get the name of the reference group. More...
 
bool ReferenceRemove (int pGroupIndex, FBModel pModel)
 Remove a reference to pModel from the group at pGroupIndex. More...
 
 RemoveAllAnimationNodes ()
 Remove animation nodes. More...
 
 RestoreModelState (FBModel pModel)
 Restore the saved model state onto pModel. More...
 
 SaveModelState (FBModel pModel, bool pS, bool pR, bool pT)
 Save current state of pModel. More...
 
 SetupAllAnimationNodes ()
 Setup animation nodes. More...
 
 SnapSuggested ()
 Suggest 'snap'. More...
 
- Public Member Functions inherited from FBBox
 FBBox (str pName)
 Constructor. More...
 
bool AnimationNodeDestroy (FBAnimationNode pAnimationNode)
 Destroy an animation node. More...
 
FBAnimationNode AnimationNodeInGet ()
 Get the (IN/OUT) animation node for this box. More...
 
bool AnimationNodeIsUserData (FBAnimationNode pAnimationNode)
 Is the animation node user data? More...
 
FBAnimationNode AnimationNodeOutGet ()
 
str FbxGetObjectSubType ()
 Returns the class sub type inherited by the class of an object, for example: 'Relations', 'Parent-Child', 'Number to Vector', 'Shot'. More...
 
str FbxGetObjectType ()
 Returns the class type inherited by the class of an object, for example: 'Box', 'Constraint', 'TimelineXTrack'. More...
 
FBAnimationNode GetInConnector (int pIndex)
 Get the animation node input associated with the given index. More...
 
int GetInConnectorCount ()
 Get the number of animation node inputs for this box. More...
 
FBAnimationNode GetOutConnector (int pIndex)
 Get the animation node output associated with the given index. More...
 
int GetOutConnectorCount ()
 Get the number of animation node outputs for this box. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent ()
 Constructor. More...
 
str ClassName ()
 Get the class name. More...
 
 DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags. More...
 
 EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags. More...
 
bool FBCreate ()
 Open Reality Creation function. More...
 
 FBDelete ()
 Open Reality deletion function. More...
 
 FBDestroy ()
 Open Reality destruction function. More...
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated). More...
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled. More...
 
FBFileReference GetOwnerFileReference (p0)
 Get the owner FileReference object. More...
 
 HardSelect ()
 HardSelect. More...
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled. More...
 
bool Is (int pTypeId)
 Returns true if object is of type TypeId. More...
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, str pNamespaceName, str pReplaceTo=None, bool pAddRight=True)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, str pNamespaceName, str pReplaceTo=None, bool pAddRight=True)
 ProcessObjectNamespace. More...
 
int PropertyAdd (FBProperty pProperty)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBProperty pReferenceProperty)
 Add a reference property to the component's property manager. More...
 
FBProperty PropertyCreate (str pName, FBType pType, str pDataType, bool pAnimatable, bool pIsUser=False, FBProperty pReferenceSource=None)
 Create user or dynamic property. More...
 
 PropertyGetModifiedList (FBArrayTemplate< FB > pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading. More...
 
 PropertyRemove (FBProperty pProperty)
 Remove a Property from the component's Property manager. More...
 
 SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags. More...
 
 SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status. More...
 

Public Attributes

bool ActiveInput
 Read Write Property: Is the character input active?
More...
 
FBListCharacterExtension CharacterExtensions
 List: Character Extensions in the character.
More...
 
FBCharacterContactBehaviour ContactBehaviour
 Read Write Property: Contact Behavior selection.
More...
 
FBAnimatableDouble FKFingerMultiplier
 Read Write Property: Used to augment the amount of FK propagation for unmarkered intermediate finger phalanges.
More...
 
FBAnimatableDouble FKFingerTipMultiplier
 Read Write Property: Used to augment the amount of FK propagation for unmarkered finger tip phalanges.
More...
 
FBAnimatableDouble FKThumbTipMultiplier
 Read Write Property: Used to augment the amount of FK propagation for unmarkered thumb tip phalanges.
More...
 
FBCharacterHipsTranslationMode HipsTranslationMode
 Read Write Property: Hips Translation Mode.
More...
 
FBAnimatableBool HumanFingerLimits
 Read Write Property: Enables/Disables human finger limits during actor solve.
More...
 
FBActor InputActor
 Read Write Property: The index of the actor used for the input.
More...
 
FBCharacter InputCharacter
 Read Write Property: The index of the character used for the input.
More...
 
FBCharacterInputType InputType
 Read Write Property: The input type for the character (ex: Actor).
More...
 
bool InverseLeftElbow
 Read Write Property: Is left elbow inverted.
More...
 
bool InverseLeftKnee
 Read Write Property: Is left knee inverted.
More...
 
bool InverseRightElbow
 Read Write Property: Is right elbow inverted.
More...
 
bool InverseRightKnee
 Read Write Property: Is right knee inverted.
More...
 
FBCharacterKeyingMode KeyingMode
 Read Write Property: The current keying mode.
More...
 
bool LeftElbowKillPitch
 Read Write Property: is Pitch used for Left elbow.
More...
 
FBAnimatableDouble LeftHandIndexIndex
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandIndexMiddle
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandIndexPinky
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandIndexRing
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandMiddleIndex
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandMiddleMiddle
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandMiddlePinky
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandMiddleRing
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandPinkyIndex
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandPinkyMiddle
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandPinkyPinky
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandPinkyRing
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandRingIndex
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandRingMiddle
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandRingPinky
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble LeftHandRingRing
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
bool LeftKneeKillPitch
 Read Write Property: is Pitch used for Left knee.
More...
 
bool LockX
 Read Write Property: Lock character skeleton in place on X axis.
More...
 
bool LockY
 Read Write Property: Lock character skeleton in place on Y axis.
More...
 
bool LockZ
 Read Write Property: Lock character skeleton in place on Z axis.
More...
 
bool MirrorMode
 Read Write Property: is in mirror mode.
More...
 
bool RightElbowKillPitch
 Read Write Property: is Pitch used for Right elbow.
More...
 
FBAnimatableDouble RightHandIndexIndex
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandIndexMiddle
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandIndexPinky
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandIndexRing
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandMiddleIndex
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandMiddleMiddle
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandMiddlePinky
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandMiddleRing
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandPinkyIndex
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandPinkyMiddle
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandPinkyPinky
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandPinkyRing
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandRingIndex
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandRingMiddle
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandRingPinky
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
FBAnimatableDouble RightHandRingRing
 Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.
More...
 
bool RightKneeKillPitch
 Read Write Property: is Pitch used for Right knee.
More...
 
FBCharacterRollSolver RollSolver
 Read Write Property: Roll Solver selection.
More...
 
FBAnimatableDouble ShoulderCorrection
 Read Write Property: shoulder correction values.
More...
 
bool SyncMode
 Read Write Property: is character in sync mode.
More...
 
bool WriteReference
 Read Write Property: are we writing back on reference.
More...
 
- Public Attributes inherited from FBConstraint
bool Active
 Read Write Property: Active state.
More...
 
bool Deformer
 Read Write Property: Is a deformer constraint?
More...
 
str Description
 Read Write Property: Long description of constraint.
More...
 
bool HasLayout
 Read Write Property: Does the constraint have a layout?
More...
 
bool Lock
 Read Write Property: Lock state.
More...
 
FBAction Snap
 Function Property: Snap constraint.
More...
 
FBAnimatableDouble Weight
 Read Write Property: Weight of constraint.
More...
 
- Public Attributes inherited from FBBox
bool Animatable
 Read Write Property: Is the box animatable.
More...
 
bool Live
 Read Write Property: Is live?
More...
 
bool RecordMode
 Read Write Property: Is recording?
More...
 
str UniqueName
 internal Unique name.
More...
 
- Public Attributes inherited from FBComponent
FBListComponent Components
 List: List of components.
More...
 
str LongName
 Read Write Property: Name and namespace for object.
More...
 
str Name
 Read Write Property: Unique name of object. See sample: RemoveSuffixFromNameOfSceneElements.py. More...
 
FBListComponent Parents
 List: Parents.
More...
 
FBManager PropertyList
 Read Only Property: Manages all of the properties for the component.
More...
 
bool Selected
 Read Write Property: Selected property.
More...
 
int TypeInfo
 Contains the Type information of the object.
More...
 
- Public Attributes inherited from FBPlug
str ClassGroupName
 ClassGroupName of the object.
More...
 
int TypeInfo
 TypeInfo.
More...
 

Detailed Description

A character is the link between a motion source and a character model.


These classes are under development and may change dramatically between versions. This class exposes part of the functionality associated with a Character. A character can possess a number of potential sources at the same time, such as an actor and another character, but with only one active at any given time. Before setting the InputType to the desired value, one must make sure to have previously set either the InputCharacter or the InputActor.To obtain the list of characters present in a scene, you need to create an instance of class FBSystem, to obtain the current scene. The FBScene object holds the list of characters in the property Characters.

FBSystem lSystem;
FBScene* lScene = lSystem.Scene;
for( int lIdx = 0; lIdx < lScene->Characters.GetCount(); ++lIdx )
{
FBTrace( "Character[%d]: '%s'\n", lIdx, (char*)lScene->Characters[lIdx] );
}
Access to the MotionBuilder scene.
Definition: pyfbsdk_generated.h:16616
FBListCharacter Characters
List: Characters in scene.
Definition: pyfbsdk_generated.h:16827
Provides access to the underlying system, and the MotionBuilder scene.
Definition: pyfbsdk_generated.h:18748
FBScene Scene
Read Only Property: Scene.
Definition: pyfbsdk_generated.h:18861
FBTrace(str pFormatString,... p1)
This function prints useful debugging strings in the console with kFBNORMAL_TRACE output detailed lev...

The current character selected in the Character tool can be obtained via the FBApplication object.

FBApplication lApplication;
FBCharacter* lCharacter = lApplication.CurrentCharacter;
if( lCharacter )
{
FBTrace( "Current character is: '%s'\n", (char*)lCharacter->Name );
}
else
{
FBTrace( "No character currently selected\n" );
}
FBApplication is used mainly to manage files.
Definition: pyfbsdk_generated.h:801
FBCharacter CurrentCharacter
Read Write Property: Indicate the current character, as used by the character tool....
Definition: pyfbsdk_generated.h:1121
A character is the link between a motion source and a character model.
Definition: pyfbsdk_generated.h:3083
str Name
Read Write Property: Unique name of object. See sample: RemoveSuffixFromNameOfSceneElements....
Definition: pyfbsdk_generated.h:4709

See samples: CharacterMarkerSet.py, EnableGameModeOnSelectedCharacters_Z.py, MirrorPoseOverTime.py, PlotNonSelectedCharStoryTracks.py, PlotSelectedCharStoryTracks.py.

Constructor & Destructor Documentation

◆ FBCharacter()

FBCharacter ( str  pName)

Constructor.

Parameters
pNameName of new character.

Member Function Documentation

◆ AddCharacterExtension()

AddCharacterExtension ( FBCharacterExtension  pExt)

AddCharacterExtension.

Parameters
pExtextension to be added to the character.

◆ Clone()

FBCharacter Clone ( )

Clone the character.

◆ ConnectControlRig()

ConnectControlRig ( FBControlSet  pControlSet,
bool  pUpdateLimit,
bool  pResetHierarchy 
)

Connect a Control-Rig to the character.

Parameters
pControlSetThe control set to connect. NULL will disconnect the Control-Rig from the character.
pUpdateLimitWhether to update the models' limit for a character. E.g. the Pre rotation and post rotation.
pResetHierarchyWhether to reset hierarchy for a character.

◆ CopyAnimation()

CopyAnimation ( )

Copy the animation from the input character to us.

◆ CreateAuxiliary()

bool CreateAuxiliary ( FBEffectorId  pEffectorId,
bool  pPivot,
float  pAuxReachT = 100,
float  pAuxReachR = 100 
)

Create auxiliary on effector.

Parameters
pEffectorIdThe effector ID.
pPivotCreate effector or pivot (pivot offset should be set on IKPivot property, at creation default values are set).
pAuxReachTDefault auxiliary effector reach for translation (IK Blend T since MotionBuilder 2013).
pAuxReachRDefault auxiliary effector reach for rotation (IK Blend R since MotionBuilder 2013).
Returns
True if auxiliary was created (can fail if FBLastEffectorSetIndex limit reached).

◆ CreateCharacterMarkerSet()

bool CreateCharacterMarkerSet ( bool  pSetActive)

Create the Character Marker Set.

Parameters
pSetActiveTrue when new input should be set and active.
Returns
True when marker got created and connected to character.

◆ CreateControlRig()

bool CreateControlRig ( bool  pSetFKIK)

Create the Control-Rig.

Parameters
pSetFKIKtrue to use FK/IK or false to use IK only.
Returns
current state of the flag after the operation (true if it did succeed).

◆ CycleAnalysisCurrentCharacter()

CycleAnalysisCurrentCharacter ( )

Run Cycle Analysis on current character.

◆ DisconnectControlRig()

DisconnectControlRig ( )

Disconnect the Control-Rig from the character.

◆ FBDelete()

FBDelete ( )

Actual Character destructor.

This method is used to delete the actual character object represented by an instance of FBCharacter.

See sample: DeleteHierarchy.py.

◆ GetActiveBodyPart()

GetActiveBodyPart ( bool  pActivePart)

Get the active body part array.

Parameters
pActivePartA pointer to an array of bool. On return, the index with a "true" value are active part.

◆ GetCharacterize()

bool GetCharacterize ( )

Get Characterize flag.

Returns
Current state of the Characterize flag.

◆ GetCharacterizeError()

str GetCharacterizeError ( )

Get error message for the previous SetCharacterizeOn operation.

Returns
The string containing all errors and warnings.

◆ GetCharacterMarkerSet()

FBCharacterMarkerSet GetCharacterMarkerSet ( bool  pForce = False)

Obtain Input CharacterMarkerSet.

Parameters
pForceIf True, will return the current CharacterMarkerSet even if the character is not in CharacterMarkerSet Input.
Returns
Return current Active CharacterMarkerSet, NULL if none.

◆ GetCtrlRigModel()

FBModel GetCtrlRigModel ( FBBodyNodeId  pBodyNodeId)

Get the model associated with each body part in the Control Rig of the character.

Returns
The model in the Control Rig corresponding to the specified body part.

◆ GetCurrentControlSet()

FBControlSet GetCurrentControlSet ( bool  pForce = False)

Obtain Input ControlSet.

Parameters
pForceIf True, will return the current ControlSet even if the character is not in ControlSet Input.
Returns
Return current Active ControlSet, NULL if none.

◆ GetCycleAnalysisNode()

FBCycleAnalysisNode GetCycleAnalysisNode ( )

Get the Cycle Analysis Node from the current character.

Returns
Cycle Analysis Node linked to the current character, or create a new node

◆ GetEffectorModel()

FBModel GetEffectorModel ( FBEffectorId  pEffectorId,
FBEffectorSetID  pEffectorSetID = FBEffectorSetDefault 
)

Get the model associated with each effector in the Control Rig of the character.

Parameters
pEffectorIdThe effector ID.
pEffectorSetIDId of the ControlSet to obtain, if not specified the current one is taken.
Returns
The model in the Control Rig corresponding to the specified Effector.

◆ GetExternalSolver()

FBCharacterSolver GetExternalSolver ( )

Get a pointer to the external solver of a character, or NULL is no external solver is used on the character.

Returns
The pointer of the current External Solver, NULL if it's the internal solver.

◆ GetFKVisibility()

FBVisibilityState GetFKVisibility ( )

Get the FK visibility state.

Returns
The FK visibility state.

◆ GetFloorContactModel()

FBModel GetFloorContactModel ( FBFloorContactID  pMemberIndex)

Get the model associated with the floor contact ID.

Parameters
pMemberIndexId of the floor contact
Returns
The model associated with the floor contact ID

◆ GetGoalModel()

FBModel GetGoalModel ( FBBodyNodeId  pBodyNodeId)

Get the goal model associated with each body part in the Character Marker Set of the character.

Returns
The model in the Character Marker Set corresponding to the specified body part.

◆ GetIKVisibility()

FBVisibilityState GetIKVisibility ( )

Get the IK visibility state.

Returns
The IK visibility state.

◆ GetIndexByModel()

FBBodyNodeId GetIndexByModel ( FBModel  pModel)

Get the index associated with Given Model.

Returns
The model linked to the specified body part.

◆ GetModel()

FBModel GetModel ( FBBodyNodeId  pBodyNodeId)

Get the model associated with each body part of the character.

Returns
The model linked to the specified body part.

◆ GetParentROffset()

GetParentROffset ( FBBodyNodeId  pBodyNodeId,
FBRVector  pRVector 
)

◆ GetROffset()

GetROffset ( FBBodyNodeId  pBodyNodeId,
FBRVector  pRVector 
)

◆ GetSkeletonVisibility()

FBVisibilityState GetSkeletonVisibility ( )

Get the skeleton visibility state.

Returns
The skeleton visibility state.

◆ GetSkinModelList()

GetSkinModelList ( FBModelList  pSkinModelList)

Get the skin model associated with character bones.

Could be deformable model connected to bone via cluster, or non deformable model parented directly under the bones.

Parameters
pSkinModelListList to be filled up. (will not be cleared)

◆ GetSOffset()

GetSOffset ( FBBodyNodeId  pBodyNodeId,
FBSVector  pSVector 
)

◆ GetTOffset()

GetTOffset ( FBBodyNodeId  pBodyNodeId,
FBTVector  pTVector 
)

◆ GetTransformOffset()

GetTransformOffset ( FBBodyNodeId  pBodyNodeId,
FBMatrix  pOffsetMatrix 
)

◆ GoToStancePose()

GoToStancePose ( bool  pPushUndo = False,
bool  pIncludeCharacterExtensions = True 
)

Set the character in stance pose.

Parameters
pPushUndoShould we push an undo transaction on the undo stack? Don't push undo in non UI thread.
pIncludeCharacterExtensionsShould the character extensions go to stance pose too?

◆ IsParentNodeOffset()

bool IsParentNodeOffset ( FBBodyNodeId  pNodeId)

Check if there is an offset on Parent.

Parameters
pNodeIdNode Id to Check.
Returns
True if there is an offset on Parent.

◆ IsRotationPin()

bool IsRotationPin ( FBEffectorId  pEffectorIndex)

Return true if the object is Pinned in Rotation (Manipulation).

Parameters
pEffectorIndexGiven Index to obtain Model
Returns
True if the effector is pinned in Rotation

◆ IsTranslationPin()

bool IsTranslationPin ( FBEffectorId  pEffectorIndex)

Return true if the object is Pinned in Translation (Manipulation).

Parameters
pEffectorIndexGiven Index to obtain Model
Returns
True if the effector is pinned in Translation

◆ PlotAnimation()

bool PlotAnimation ( FBCharacterPlotWhere  pPlotWhere,
FBPlotOptions  pPlotOptions 
)

Plot the animation of the character.

When plotting onto Control Rig while the Control Rig being the source of the Character, only the selected properties, based on the active keying group, will be plotted.

Parameters
pPlotWhereWhere to plot a character, control rig or Skeleton
pPlotOptionsOption parameters for plotting
Returns
True if the operation completed successfully.

◆ ReadyForRetarget()

bool ReadyForRetarget ( )

Test if character is ready for the Retarget operation (basically, is it in character input ?).

Returns
True if the character is ready.

◆ RemoveCharacterExtension()

RemoveCharacterExtension ( FBCharacterExtension  pExt)

Get the model associated with each body part of the character.

Parameters
pExtextension to be removed to the character.

◆ ResetProperties()

ResetProperties ( FBCharacterResetProperties  pType)

Reset the properties of the character.

Parameters
pTypeSpeficy which properties will be reset.

◆ Retarget()

Retarget ( bool  pOnBaseLayer)

Retarget the animation from the input character to us.

Parameters
pOnBaseLayerif true, keys corrections will be made on base layer; else they will be made on another layer.

◆ SelectModels()

SelectModels ( bool  pSelect,
bool  pApplyToCharacter,
bool  pApplyToRig,
bool  pApplyToExtensions 
)

Select the objects that make a character.

Parameters
pSelectTrue to select, false to deselect.
pApplyToCharacterShould the character constraint be selected ?
pApplyToRigshould The rig (and its children) be selected ?
pApplyToExtensionsShould the character extensions (and their children) be selected ?

◆ SetCharacterizeOff()

SetCharacterizeOff ( )

Set Characterize flag off.

◆ SetCharacterizeOn()

bool SetCharacterizeOn ( bool  pSetAsBiped)

Set the Characterize flag on.

Parameters
pSetAsBipedtrue to use biped characterization or false to use quadruped.
Returns
current state of the flag after the operation (true if it did succeed).

See sample: 3dsMaxBipedTemplate.py.

◆ SetExternalSolver() [1/2]

SetExternalSolver ( FBCharacterSolver  pSolver)

Set character solver.

Parameters
pSolverCharacter solver that will be used by the character.

◆ SetExternalSolver() [2/2]

SetExternalSolver ( int  pIndex)

Set character external solver.

Parameters
pIndexIndex of external solver.

◆ SetFKVisibility()

bool SetFKVisibility ( bool  pState)

Set the FK visibility state.

Parameters
pStateThe FK visibility state.
Returns
True if the operation is successful, false otherwise.

◆ SetIKVisibility()

bool SetIKVisibility ( bool  pState)

Set the IK visibility state.

Parameters
pStateThe IK visibility state.
Returns
True if the operation is successful, false otherwise.

◆ SetRotationPin()

bool SetRotationPin ( FBEffectorId  pEffectorIndex,
bool  pValue 
)

Set the object Pinned in Rotation (Manipulation) status.

Parameters
pEffectorIndexGiven Index to obtain Model.
pValueThe object Pinned in Rotation status.
Returns
True if the operation is successful, false otherwise.

◆ SetSkeletonVisibility()

bool SetSkeletonVisibility ( bool  pState)

Set the skeleton visibility state.

Parameters
pStateThe skeleton visibility state.
Returns
True if the operation is successful, false otherwise.

◆ SetTranslationPin()

bool SetTranslationPin ( FBEffectorId  pEffectorIndex,
bool  pValue 
)

Set the object Pinned in Translation (Manipulation) status.

Parameters
pEffectorIndexGiven Index to obtain Model
pValueThe object Pinned in Translation status.
Returns
True if the operation is successful, false otherwise.

Member Data Documentation

◆ ActiveInput

bool ActiveInput

Read Write Property: Is the character input active?

◆ CharacterExtensions

FBListCharacterExtension CharacterExtensions

List: Character Extensions in the character.

◆ ContactBehaviour

FBCharacterContactBehaviour ContactBehaviour

Read Write Property: Contact Behavior selection.

◆ FKFingerMultiplier

FBAnimatableDouble FKFingerMultiplier

Read Write Property: Used to augment the amount of FK propagation for unmarkered intermediate finger phalanges.

◆ FKFingerTipMultiplier

FBAnimatableDouble FKFingerTipMultiplier

Read Write Property: Used to augment the amount of FK propagation for unmarkered finger tip phalanges.

◆ FKThumbTipMultiplier

FBAnimatableDouble FKThumbTipMultiplier

Read Write Property: Used to augment the amount of FK propagation for unmarkered thumb tip phalanges.

◆ HipsTranslationMode

FBCharacterHipsTranslationMode HipsTranslationMode

Read Write Property: Hips Translation Mode.

◆ HumanFingerLimits

FBAnimatableBool HumanFingerLimits

Read Write Property: Enables/Disables human finger limits during actor solve.

◆ InputActor

FBActor InputActor

Read Write Property: The index of the actor used for the input.

◆ InputCharacter

FBCharacter InputCharacter

Read Write Property: The index of the character used for the input.

◆ InputType

Read Write Property: The input type for the character (ex: Actor).

◆ InverseLeftElbow

bool InverseLeftElbow

Read Write Property: Is left elbow inverted.

◆ InverseLeftKnee

bool InverseLeftKnee

Read Write Property: Is left knee inverted.

◆ InverseRightElbow

bool InverseRightElbow

Read Write Property: Is right elbow inverted.

◆ InverseRightKnee

bool InverseRightKnee

Read Write Property: Is right knee inverted.

◆ KeyingMode

Read Write Property: The current keying mode.

◆ LeftElbowKillPitch

bool LeftElbowKillPitch

Read Write Property: is Pitch used for Left elbow.

◆ LeftHandIndexIndex

FBAnimatableDouble LeftHandIndexIndex

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandIndexMiddle

FBAnimatableDouble LeftHandIndexMiddle

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandIndexPinky

FBAnimatableDouble LeftHandIndexPinky

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandIndexRing

FBAnimatableDouble LeftHandIndexRing

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandMiddleIndex

FBAnimatableDouble LeftHandMiddleIndex

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandMiddleMiddle

FBAnimatableDouble LeftHandMiddleMiddle

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandMiddlePinky

FBAnimatableDouble LeftHandMiddlePinky

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandMiddleRing

FBAnimatableDouble LeftHandMiddleRing

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandPinkyIndex

FBAnimatableDouble LeftHandPinkyIndex

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandPinkyMiddle

FBAnimatableDouble LeftHandPinkyMiddle

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandPinkyPinky

FBAnimatableDouble LeftHandPinkyPinky

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandPinkyRing

FBAnimatableDouble LeftHandPinkyRing

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandRingIndex

FBAnimatableDouble LeftHandRingIndex

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandRingMiddle

FBAnimatableDouble LeftHandRingMiddle

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandRingPinky

FBAnimatableDouble LeftHandRingPinky

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftHandRingRing

FBAnimatableDouble LeftHandRingRing

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ LeftKneeKillPitch

bool LeftKneeKillPitch

Read Write Property: is Pitch used for Left knee.

◆ LockX

bool LockX

Read Write Property: Lock character skeleton in place on X axis.

◆ LockY

bool LockY

Read Write Property: Lock character skeleton in place on Y axis.

◆ LockZ

bool LockZ

Read Write Property: Lock character skeleton in place on Z axis.

◆ MirrorMode

bool MirrorMode

Read Write Property: is in mirror mode.

◆ RightElbowKillPitch

bool RightElbowKillPitch

Read Write Property: is Pitch used for Right elbow.

◆ RightHandIndexIndex

FBAnimatableDouble RightHandIndexIndex

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandIndexMiddle

FBAnimatableDouble RightHandIndexMiddle

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandIndexPinky

FBAnimatableDouble RightHandIndexPinky

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandIndexRing

FBAnimatableDouble RightHandIndexRing

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandMiddleIndex

FBAnimatableDouble RightHandMiddleIndex

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandMiddleMiddle

FBAnimatableDouble RightHandMiddleMiddle

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandMiddlePinky

FBAnimatableDouble RightHandMiddlePinky

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandMiddleRing

FBAnimatableDouble RightHandMiddleRing

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandPinkyIndex

FBAnimatableDouble RightHandPinkyIndex

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandPinkyMiddle

FBAnimatableDouble RightHandPinkyMiddle

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandPinkyPinky

FBAnimatableDouble RightHandPinkyPinky

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandPinkyRing

FBAnimatableDouble RightHandPinkyRing

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandRingIndex

FBAnimatableDouble RightHandRingIndex

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandRingMiddle

FBAnimatableDouble RightHandRingMiddle

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandRingPinky

FBAnimatableDouble RightHandRingPinky

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightHandRingRing

FBAnimatableDouble RightHandRingRing

Read Write Property: Used to set blending coefficients. Each of the 4 fingers can be a blend of the 4 finger. This is not available for thumbs.

◆ RightKneeKillPitch

bool RightKneeKillPitch

Read Write Property: is Pitch used for Right knee.

◆ RollSolver

Read Write Property: Roll Solver selection.

◆ ShoulderCorrection

FBAnimatableDouble ShoulderCorrection

Read Write Property: shoulder correction values.

◆ SyncMode

bool SyncMode

Read Write Property: is character in sync mode.

◆ WriteReference

bool WriteReference

Read Write Property: are we writing back on reference.