FBIK solver specialized to biped characters. More...
Public Member Functions | |
void | SetChainWeights (FullBodyBipedChain c, float pull, float reach=0f) |
Sets chain weights for the specified chain. More... | |
void | SetEffectorWeights (FullBodyBipedEffector effector, float positionWeight, float rotationWeight) |
Sets effector weights for the specified effector. More... | |
FBIKChain | GetChain (FullBodyBipedChain c) |
Gets the chain of a limb. More... | |
FBIKChain | GetChain (FullBodyBipedEffector effector) |
Gets the chain of the specified effector. More... | |
IKEffector | GetEffector (FullBodyBipedEffector effector) |
Gets the effector of type. More... | |
IKEffector | GetEndEffector (FullBodyBipedChain c) |
Gets the effector of type. More... | |
IKMappingLimb | GetLimbMapping (FullBodyBipedChain chain) |
Gets the limb mapping for the limb. More... | |
IKMappingLimb | GetLimbMapping (FullBodyBipedEffector effector) |
Gets the limb mapping for the effector type. More... | |
IKMappingSpine | GetSpineMapping () |
Gets the spine mapping. More... | |
IKMappingBone | GetHeadMapping () |
Gets the head mapping. More... | |
IKConstraintBend | GetBendConstraint (FullBodyBipedChain limb) |
Gets the bend constraint of a limb. 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... | |
void | SetToReferences (BipedReferences references, Transform rootNode=null) |
Sets up the solver to BipedReferences and reinitiates (if in runtime). More... | |
void | SetLimbOrientations (BipedLimbOrientations o) |
Sets the bend directions of the limbs to the local axes specified by BipedLimbOrientations. More... | |
Public Member Functions inherited from IKSolverFullBody | |
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 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 | |
Transform | rootNode |
The central root node (body). More... | |
float | spineStiffness = 0.5f |
The stiffness of spine constraints. More... | |
float | pullBodyVertical = 0.5f |
Weight of hand effectors pulling the body vertically (relative to root rotation). More... | |
float | pullBodyHorizontal = 0f |
Weight of hand effectors pulling the body horizontally (relative to root rotation). More... | |
Public Attributes inherited from IKSolverFullBody | |
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... | |
Properties | |
IKEffector | bodyEffector [get] |
Gets the body effector. More... | |
IKEffector | leftShoulderEffector [get] |
Gets the left shoulder effector. More... | |
IKEffector | rightShoulderEffector [get] |
Gets the right shoulder effector. More... | |
IKEffector | leftThighEffector [get] |
Gets the left thigh effector. More... | |
IKEffector | rightThighEffector [get] |
Gets the right thigh effector. More... | |
IKEffector | leftHandEffector [get] |
Gets the left hand effector. More... | |
IKEffector | rightHandEffector [get] |
Gets the right hand effector. More... | |
IKEffector | leftFootEffector [get] |
Gets the left foot effector. More... | |
IKEffector | rightFootEffector [get] |
Gets the right foot effector. More... | |
FBIKChain | leftArmChain [get] |
Gets the left arm chain. More... | |
FBIKChain | rightArmChain [get] |
Gets the right arm chain. More... | |
FBIKChain | leftLegChain [get] |
Gets the left leg chain. More... | |
FBIKChain | rightLegChain [get] |
Gets the right leg chain. More... | |
IKMappingLimb | leftArmMapping [get] |
Gets the left arm IK mapping. More... | |
IKMappingLimb | rightArmMapping [get] |
Gets the right arm IK mapping. More... | |
IKMappingLimb | leftLegMapping [get] |
Gets the left leg IK mapping. More... | |
IKMappingLimb | rightLegMapping [get] |
Gets the right leg IK mapping. More... | |
IKMappingBone | headMapping [get] |
Gets the head IK mapping. 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... | |
FBIK solver specialized to biped characters.