SA.FullBodyIK.BodyIK.SolverInternal._SolveLimbTranslate C# (CSharp) Method

_SolveLimbTranslate() private method

private _SolveLimbTranslate ( Limb limb, Vector3 &origTranslate ) : bool
limb Limb
origTranslate UnityEngine.Vector3
return bool
				bool _SolveLimbTranslate( Limb limb, out Vector3 origTranslate )
				{
					origTranslate = Vector3.zero;

					float lerpRate = (limb == arms) ? _solverCaches.limbArmRate : _solverCaches.limbLegRate;

					if( limb.targetBeginPosEnabled[0] && limb.targetBeginPosEnabled[1] ) {
						origTranslate = Vector3.Lerp( this.origTranslate[0], this.origTranslate[1], lerpRate );
					} else if( limb.targetBeginPosEnabled[0] || limb.targetBeginPosEnabled[1] ) {
						int i0 = limb.targetBeginPosEnabled[0] ? 0 : 1;
						float lerpRate1to0 = limb.targetBeginPosEnabled[0] ? (1.0f - lerpRate) : lerpRate;
						origTranslate = this.origTranslate[i0] * lerpRate1to0;
					}

					return (origTranslate != Vector3.zero);
				}