///<summary>
/// Transforms a position by a rigid transform's inverse.
///</summary>
///<param name="position">Position to transform.</param>
///<param name="transform">Transform to invert and apply.</param>
///<param name="result">Transformed position.</param>
public static void TransformByInverse(ref Vector3 position, ref RigidTransform transform, out Vector3 result)
{
Quaternion orientation;
Vector3 intermediate;
Vector3.Subtract(ref position, ref transform.Position, out intermediate);
Quaternion.Conjugate(ref transform.Orientation, out orientation);
Vector3.Transform(ref intermediate, ref orientation, out result);
}