# InverseTransformVectors

> Transforms the vector x, y, z from world space to local space writing the transformed positions to a possibly different location. The opposite of Transform.TransformVector.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.6/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

## InverseTransformVectors(ReadOnlySpan\<Vector3>, Span\<Vector3>)

Transforms the vector `x`, `y`, `z` from world space to local space writing the transformed positions to a possibly different location. The opposite of [Transform.TransformVector](/engine/6000.6/script-reference/unityengine/transform/transformvector.md).

```csharp
public void InverseTransformVectors(ReadOnlySpan<Vector3> vectors, Span<Vector3> transformedVectors)
```

### Parameters

**** (\[ReadOnlySpan\<Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): The vectors to be transformed, these vectors are not modified by the function unless the `transformedVectors` span overlaps.**** (\[Span\<Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.span-1)): Receives the transformed vectors, must be the same length as `vectors` otherwise an exception will be thrown.  If this span overlaps `vectors` other than representing the exact same elements the behaviour is undefined.

### Remarks

This operation is not affected by position of the transform but it is affected by scale.The transformed vectors may have different lengths than the originals.

Additional Resources:[Transform.TransformVectors](/engine/6000.6/script-reference/unityengine/transform/transformvectors.md), [Transform.InverseTransformVector](/engine/6000.6/script-reference/unityengine/transform/inversetransformvector.md), [Transform.InverseTransformPoint](/engine/6000.6/script-reference/unityengine/transform/inversetransformpoint.md), [Transform.InverseTransformDirection](/engine/6000.6/script-reference/unityengine/transform/inversetransformdirection.md).

## InverseTransformVectors(Span\<Vector3>)

Transforms multiple vectors from world space to local space overwriting each original position with the transformed version. The opposite of [Transform.TransformVectors](/engine/6000.6/script-reference/unityengine/transform/transformvectors.md).

```csharp
public void InverseTransformVectors(Span<Vector3> vectors)
```

### Parameters

**** (\[Span\<Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.span-1)): The vectors to be transformed, each is replaced by the transformed version.

### Remarks

This operation is not affected by position of the transform but it is affected by scale. The transformed vectors may have different lengths than the originals.

Additional Resources:[Transform.TransformVectors](/engine/6000.6/script-reference/unityengine/transform/transformvectors.md), [Transform.InverseTransformVector](/engine/6000.6/script-reference/unityengine/transform/inversetransformvector.md), [Transform.InverseTransformPoint](/engine/6000.6/script-reference/unityengine/transform/inversetransformpoint.md), [Transform.InverseTransformDirection](/engine/6000.6/script-reference/unityengine/transform/inversetransformdirection.md).
