# SlerpUnclamped

> Spherically interpolates between two vectors.

## Definition

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

## SlerpUnclamped(Vector3, Vector3, float)

Spherically interpolates between two vectors.

```csharp
public static Vector3 SlerpUnclamped(Vector3 a, Vector3 b, float t)
```

### Parameters

**** (\[Vector3]\(/engine/6000.7/script-reference/unityengine/vector3)): The first vector to interpolate between.**** (\[Vector3]\(/engine/6000.7/script-reference/unityengine/vector3)): The second vector to interpolate between.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount to interpolate.

### Returns

| Type                                                              | Description                                                                                                                     |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| [Vector3](/engine/6000.7/script-reference/unityengine/vector3.md) | The spherically interpolated vector between `a` and `b`. Values of `t` outside the range \[0, 1] extrapolate beyond `a` or `b`. |

### Remarks

Interpolates between `a` and `b` by amount `t`. The difference between this and linear interpolation (aka, "lerp") is that the vectors are treated as directions rather than points in space. The direction of the returned vector is interpolated by the angle and its [Vector3.magnitude](/engine/6000.7/script-reference/unityengine/vector3/magnitude.md) is interpolated between the magnitudes of `a` and `b`.

**Note:** This static method can slerp beyond the `a` and `b` vectors.  This means `t` can be less than zero or greater than one.

Additional Resources: [Vector3.Slerp](/engine/6000.7/script-reference/unityengine/vector3/slerp.md).

## SlerpUnclamped(Vector3, Vector3, float)

Spherically interpolates between two vectors.

```csharp
public static Vector3 SlerpUnclamped(in Vector3 a, in Vector3 b, float t)
```

### Parameters

**** (\[Vector3]\(/engine/6000.7/script-reference/unityengine/vector3)): The first vector to interpolate between.**** (\[Vector3]\(/engine/6000.7/script-reference/unityengine/vector3)): The second vector to interpolate between.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The amount to interpolate.

### Returns

| Type                                                              | Description                                                                                                                     |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| [Vector3](/engine/6000.7/script-reference/unityengine/vector3.md) | The spherically interpolated vector between `a` and `b`. Values of `t` outside the range \[0, 1] extrapolate beyond `a` or `b`. |

### Remarks

Interpolates between `a` and `b` by amount `t`. The difference between this and linear interpolation (aka, "lerp") is that the vectors are treated as directions rather than points in space. The direction of the returned vector is interpolated by the angle and its [Vector3.magnitude](/engine/6000.7/script-reference/unityengine/vector3/magnitude.md) is interpolated between the magnitudes of `a` and `b`.

**Note:** This static method can slerp beyond the `a` and `b` vectors.  This means `t` can be less than zero or greater than one.

Additional Resources: [Vector3.Slerp](/engine/6000.7/script-reference/unityengine/vector3/slerp.md).
