# sm.vec3.bezier2

Quadratic Bezier interpolation. Three dimensional bezier curve.

**Kind:** Function

**Environments:** Game, Terrain

## Game

``` { .lua .api-signature }
sm.vec3.bezier2( c0, c1, c2, t )
```

[Open the full Game reference](../Game-Script-Environment/Static-Functions/sm.vec3.md#bezier2)

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `c0` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The start point. |
| `c1` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The control point. |
| `c2` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The end point. |
| `t` | number | The interpolation step. |

**Returns:**

| Type | Description |
| --- | --- |
| [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The interpolated value between two values. |

## Terrain

``` { .lua .api-signature }
sm.vec3.bezier2( c0, c1, c2, t )
```

[Open the full Terrain reference](../Terrain-Script-Environment/Static-Functions/sm.vec3.md#bezier2)

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `c0` | [Vec3](../Terrain-Script-Environment/Userdata/Vec3.md) | The start point. |
| `c1` | [Vec3](../Terrain-Script-Environment/Userdata/Vec3.md) | The control point. |
| `c2` | [Vec3](../Terrain-Script-Environment/Userdata/Vec3.md) | The end point. |
| `t` | number | The interpolation step. |

**Returns:**

| Type | Description |
| --- | --- |
| [Vec3](../Terrain-Script-Environment/Userdata/Vec3.md) | The interpolated value between two values. |
