C# Class SA.FullBodyIK.LimbIK

Show file Open project: Stereoarts/SAFullBodyIK

Public Properties

Property Type Description
_beginToBendingLength float
_beginToBendingLengthSq float
_bendingToEndLength float
_bendingToEndLengthSq float
_limbIKLocation LimbIKLocation

Public Methods

Method Description
IsSolverEnabled ( ) : bool
LimbIK ( FullBodyIK fullBodyIK, LimbIKLocation limbIKLocation ) : UnityEngine
Presolve ( Matrix3x3 &parentBaseBasis, Vector3 &beginPos, Vector3 &solvedBeginToBendingDir, Vector3 &solvedBendingToEndDir ) : bool
PresolveBeinding ( ) : void
PresolveInternal ( Matrix3x3 &parentBaseBasis, Vector3 &beginPos, float &effectorLen, Matrix3x3 &baseBasis, Vector3 &solvedBeginToBendingDir, Vector3 &solvedBendingToEndDir ) : bool
Solve ( ) : bool
_SolveInternal ( ) : bool

Private Methods

Method Description
_ComputeLocalDirXZ ( Vector3 &localDir, Vector3 &localDirXZ ) : void
_ComputeLocalDirYZ ( Vector3 &localDir, Vector3 &localDirYZ ) : void
_EndRotationLimit ( ) : void
_PrefixLegEffectorPos_Circular ( Vector3 &localEffectorTrans, float effectorLength, bool isFar ) : bool
_PrefixLegEffectorPos_Circular_Far ( Vector3 &localEffectorTrans, float effectorLength ) : bool
_PrefixLegEffectorPos_UpperNear ( Vector3 &localEffectorTrans ) : bool
_PrefixLegEffectorPos_Upper_Circular_Far ( Vector3 &localEffectorTrans, float centerPositionZ, float effectorLengthZ, float effectorLengthY ) : bool
_Prepare ( FullBodyIK fullBodyIK ) : void
_PrepareRollBones ( RollBone &rollBones, Bone bones ) : void
_RollInternal ( ) : bool
_SolveBaseBasis ( Matrix3x3 &baseBasis, Matrix3x3 &parentBaseBasis, Vector3 &effectorDir ) : void
_SolveEndRotation ( bool isSolved, Quaternion &bendingBonePrevRotation, Quaternion &endBonePrevRotation ) : bool
_SyncDisplacement ( ) : void
_SyncDisplacement_UpdateArgs ( ) : void
_UpdateArgs ( ) : void

Method Details

IsSolverEnabled() public method

public IsSolverEnabled ( ) : bool
return bool

LimbIK() public method

public LimbIK ( FullBodyIK fullBodyIK, LimbIKLocation limbIKLocation ) : UnityEngine
fullBodyIK FullBodyIK
limbIKLocation LimbIKLocation
return UnityEngine

Presolve() public method

public Presolve ( Matrix3x3 &parentBaseBasis, Vector3 &beginPos, Vector3 &solvedBeginToBendingDir, Vector3 &solvedBendingToEndDir ) : bool
parentBaseBasis Matrix3x3
beginPos UnityEngine.Vector3
solvedBeginToBendingDir UnityEngine.Vector3
solvedBendingToEndDir UnityEngine.Vector3
return bool

PresolveBeinding() public method

public PresolveBeinding ( ) : void
return void

PresolveInternal() public method

public PresolveInternal ( Matrix3x3 &parentBaseBasis, Vector3 &beginPos, float &effectorLen, Matrix3x3 &baseBasis, Vector3 &solvedBeginToBendingDir, Vector3 &solvedBendingToEndDir ) : bool
parentBaseBasis Matrix3x3
beginPos UnityEngine.Vector3
effectorLen float
baseBasis Matrix3x3
solvedBeginToBendingDir UnityEngine.Vector3
solvedBendingToEndDir UnityEngine.Vector3
return bool

Solve() public method

public Solve ( ) : bool
return bool

_SolveInternal() public method

public _SolveInternal ( ) : bool
return bool

Property Details

_beginToBendingLength public property

public float _beginToBendingLength
return float

_beginToBendingLengthSq public property

public float _beginToBendingLengthSq
return float

_bendingToEndLength public property

public float _bendingToEndLength
return float

_bendingToEndLengthSq public property

public float _bendingToEndLengthSq
return float

_limbIKLocation public property

public LimbIKLocation _limbIKLocation
return LimbIKLocation