# sm.util.smootherstep

An improved version of the [smoothstep](../Game-Script-Environment/Static-Functions/sm.util.md#smoothstep) function which has zero 1st and 2nd order derivatives at `x = edge0` and `x = edge1`.

**Kind:** Function

**Environments:** Game, Terrain

## Game

``` { .lua .api-signature }
sm.util.smootherstep( edge0, edge1, x )
```

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

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `edge0` | number | The value of the lower edge of the Hermite function. |
| `edge1` | number | The value of the upper edge of the Hermite function. |
| `x` | number | The source value for interpolation. |

**Returns:**

| Type | Description |
| --- | --- |
| number | The value. |

## Terrain

``` { .lua .api-signature }
sm.util.smootherstep( edge0, edge1, x )
```

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

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `edge0` | number | The value of the lower edge of the Hermite function. |
| `edge1` | number | The value of the upper edge of the Hermite function. |
| `x` | number | The source value for interpolation. |

**Returns:**

| Type | Description |
| --- | --- |
| number | The value. |
