public static bool _FitToPlaneDir( ref Vector3 dir, Vector3 planeDir )
{
float d = Vector3.Dot( dir, planeDir );
if( d <= IKEpsilon && d >= -IKEpsilon ) {
return false;
}
Vector3 tmp = dir - planeDir * d;
if( !SAFBIKVecNormalize( ref tmp ) ) {
return false;
}
dir = tmp;
return true;
}