/// <summary> /// Subtracts two transforms. /// </summary> /// <param name="left">The first transform to subtract from.</param> /// <param name="right">The second transform to subtract.</param> /// <returns>The difference of the two transforms.</returns> public static Transform Subtract(Transform left, Transform right) { Transform result; Vector3.Subtract(ref left.Translation, ref right.Translation, out result.Translation); Quaternion invRotation = right.Orientation.Conjugated(); Quaternion.Multiply(ref left.Orientation, ref invRotation, out result.Orientation); Float3.Divide(ref left.Scale, ref right.Scale, out result.Scale); return(result); }