SA.FullBodyIK._LerpRotateBasis C# (CSharp) Method

_LerpRotateBasis() static private method

static private _LerpRotateBasis ( Matrix3x3 &basis, Vector3 &axis, float cos, float rate ) : void
basis Matrix3x3
axis Vector3
cos float
rate float
return void
		static void _LerpRotateBasis( out Matrix3x3 basis, ref Vector3 axis, float cos, float rate )
		{
			if( rate <= IKEpsilon ) {
				basis = Matrix3x3.identity;
				return;
			}

			if( rate <= 1.0f - IKEpsilon ) {
				float acos = (cos >= 1.0f - IKEpsilon) ? 0.0f : ((cos <= -1.0f - IKEpsilon) ? (180.0f * Mathf.Deg2Rad) : (float)System.Math.Acos( (float)cos ));
				cos = (float)System.Math.Cos( (float)(acos * rate) );
			}

			SAFBIKMatSetAxisAngle( out basis, ref axis, cos );
		}
FullBodyIK