Vector3 ProjectVectorOnPlane(Vector3 planeNormal, Vector3 v ) { planeNormal.Normalize(); var distance = -Vector3.Dot(planeNormal.normalized, v); return v + planeNormal * distance; }