public Vector3 UnProjectNormalized(Vector2 screenPosition)
{
var pos = new Vector4(screenPosition, 0, 1);
var near = pos.UnProject(TransformInverseMatrix, ViewPort.Position.X, ViewPort.Position.Y, ViewPort.Size.Width, ViewPort.Size.Height);
pos.Z = 1;
var far = pos.UnProject(TransformInverseMatrix, ViewPort.Position.X, ViewPort.Position.Y, ViewPort.Size.Width, ViewPort.Size.Height);
return (far - near).ToVector3().Normalize();
}