68 return localWarpedSpace;
76 return localWarpedRot;
80 return localRectDirection;
84 return localWarpedDirection;
88 return Matrix4x4.TRS(localRectPos, Quaternion.identity, Vector3.one);
92 public static class ITransformerExtensions {
100 public static void WorldSpaceUnwarp(
this ITransformer transformer,
101 Vector3 worldWarpedPosition, Quaternion worldWarpedRotation,
102 out Vector3 worldRectilinearPosition, out Quaternion worldRectilinearRotation) {
103 Transform spaceTransform = transformer.anchor.space.transform;
105 Vector3 anchorLocalWarpedPosition = spaceTransform.InverseTransformPoint(worldWarpedPosition);
106 Quaternion anchorLocalWarpedRotation = spaceTransform.InverseTransformRotation(worldWarpedRotation);
108 Vector3 anchorLocalRectPosition = transformer.InverseTransformPoint(anchorLocalWarpedPosition);
109 worldRectilinearPosition = spaceTransform.TransformPoint(anchorLocalRectPosition);
111 Quaternion anchorLocalRectRotation = transformer.InverseTransformRotation(anchorLocalWarpedPosition, anchorLocalWarpedRotation);
112 worldRectilinearRotation = spaceTransform.TransformRotation(anchorLocalRectRotation);