private void DecomposeVector(out Vector3 normalCompo, out Vector3 tangentCompo, Vector3 outwardDir, Vector3 outwardNormal)
{
outwardNormal = outwardNormal.normalized;
normalCompo = (Vector3) (outwardNormal * Vector3.Dot(outwardDir, outwardNormal));
tangentCompo = outwardDir - normalCompo;
}