All Classes Namespaces Functions Variables Enumerations Properties Pages
Public Member Functions | Public Attributes | List of all members
IKSolverFullBody Class Reference

Generic FBIK solver. In each solver update, IKSolverFullBody first reads the character's pose, then solves the IK and writes the solved pose back to the character via IKMapping. More...

Inheritance diagram for IKSolverFullBody:
Inheritance graph
[legend]
Collaboration diagram for IKSolverFullBody:
Collaboration graph
[legend]

Public Member Functions

IKEffector GetEffector (Transform t)
 Gets the effector of the specified Transform. More...
 
FBIKChain GetChain (Transform transform)
 Gets the chain that contains the specified Transform. More...
 
int GetChainIndex (Transform transform)
 Gets the index of the chain (in the IKSolverFullBody.chain array) that contains the specified Transform. More...
 
override IKSolver.Point[] GetPoints ()
 Gets all the points used by the solver. More...
 
override IKSolver.Point GetPoint (Transform transform)
 Gets the point with the specified Transform. More...
 
override bool IsValid (ref string message)
 Determines whether this instance is valid or not. If returns false, also fills in an error message. More...
 
override void StoreDefaultLocalState ()
 Stores the default local state for the bones used by the solver. More...
 
override void FixTransforms ()
 Fixes all the Transforms used by the solver to their initial state. More...
 
- Public Member Functions inherited from IKSolver
bool IsValid ()
 Determines whether this instance is valid or not. More...
 
void Initiate (Transform root)
 Initiate the solver with specified root Transform. Use only if this IKSolver is not a member of an IK component. More...
 
void Update ()
 Updates the IK solver. Use only if this IKSolver is not a member of an IK component or the IK component has been disabled and you intend to manually control the updating. More...
 
virtual Vector3 GetIKPosition ()
 Gets the IK position. NOTE: You are welcome to read IKPosition directly, this method is here only to match the Unity's built in IK API. More...
 
void SetIKPosition (Vector3 position)
 Sets the IK position. NOTE: You are welcome to set IKPosition directly, this method is here only to match the Unity's built in IK API. More...
 
float GetIKPositionWeight ()
 Gets the IK position weight. NOTE: You are welcome to read IKPositionWeight directly, this method is here only to match the Unity's built in IK API. More...
 
void SetIKPositionWeight (float weight)
 Sets the IK position weight. NOTE: You are welcome to set IKPositionWeight directly, this method is here only to match the Unity's built in IK API. More...
 
Transform GetRoot ()
 Gets the root Transform. More...
 
delegate void UpdateDelegate ()
 Delegates solver update events. More...
 
delegate void IterationDelegate (int i)
 Delegates solver iteration events. More...
 

Public Attributes

int iterations = 4
 Number of solver iterations. More...
 
FBIKChain[] chain = new FBIKChain[0]
 The root node chain. More...
 
IKEffector[] effectors = new IKEffector[0]
 The effectors. More...
 
IKMappingSpine spineMapping = new IKMappingSpine()
 Mapping spine bones to the solver. More...
 
IKMappingBone[] boneMappings = new IKMappingBone[0]
 Mapping individual bones to the solver More...
 
IKMappingLimb[] limbMappings = new IKMappingLimb[0]
 Mapping 3 segment limbs to the solver More...
 
bool FABRIKPass = true
 If false, will not solve a FABRIK pass and the arms/legs will not be able to pull the body. More...
 
UpdateDelegate OnPreRead
 Called before reading the pose More...
 
UpdateDelegate OnPreSolve
 Called before solving. More...
 
IterationDelegate OnPreIteration
 Called before each iteration More...
 
IterationDelegate OnPostIteration
 Called after each iteration More...
 
UpdateDelegate OnPreBend
 Called before applying bend constraints. More...
 
UpdateDelegate OnPostSolve
 Called after updating the solver More...
 
UpdateDelegate OnStoreDefaultLocalState
 Called when storing default local state (the state that FixTransforms will reset the hierarchy to). More...
 
UpdateDelegate OnFixTransforms
 Called when the bones used by the solver will reset to the default local state. More...
 
- Public Attributes inherited from IKSolver
Vector3 IKPosition
 The IK position. More...
 
float IKPositionWeight = 1f
 The IK position weight or the master weight of the solver. More...
 
UpdateDelegate OnPreInitiate
 Called before initiating the solver. More...
 
UpdateDelegate OnPostInitiate
 Called after initiating the solver. More...
 
UpdateDelegate OnPreUpdate
 Called before updating. More...
 
UpdateDelegate OnPostUpdate
 Called after writing the solved pose More...
 

Additional Inherited Members

- Static Public Member Functions inherited from IKSolver
static Transform ContainsDuplicateBone (Bone[] bones)
 Checks if an array of objects contains any duplicates. More...
 
- Properties inherited from IKSolver
bool initiated [get, set]
 Gets a value indicating whether this IKSolver has successfully initiated. More...
 

Detailed Description

Generic FBIK solver. In each solver update, IKSolverFullBody first reads the character's pose, then solves the IK and writes the solved pose back to the character via IKMapping.