# sm.physics.applyImpulse

Applies an impulse to a [Shape](../Game-Script-Environment/Userdata/Shape.md), changing its velocity immediately. The impulse is applied to the shape's centerpoint with an optional offset.

**Kind:** Function

**Environments:** Game

## Game

### Overload 1

``` { .lua .api-signature }
sm.physics.applyImpulse( target, impulse, worldSpace?, offset? )
```

[Open the full Game reference](../Game-Script-Environment/Static-Functions/sm.physics.md#applyimpulse-shape-vec3-boolean-optional-vec3-optional)

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `target` | [Shape](../Game-Script-Environment/Userdata/Shape.md) | The object on which the impulse is exerted on. |
| `impulse` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The direction and strength of the impulse. |
| `worldSpace` *(optional)* | boolean | Whether the impulse is applied in world space coordinates. (Defaults to local rotation) |
| `offset` *(optional)* | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The offset from the center point. (Defaults to no offset) |

### Overload 2

``` { .lua .api-signature }
sm.physics.applyImpulse( target, impulse, worldSpace?, offset? )
```

[Open the full Game reference](../Game-Script-Environment/Static-Functions/sm.physics.md#applyimpulse-body-vec3-boolean-optional-vec3-optional)

Applies an impulse to a [Body](../Game-Script-Environment/Userdata/Body.md), changing its velocity immediately. The impulse is applied to the body's center of mass with an optional offset.

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `target` | [Body](../Game-Script-Environment/Userdata/Body.md) | The object on which the impulse is exerted on. |
| `impulse` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The direction and strength of the impulse. |
| `worldSpace` *(optional)* | boolean | Whether the impulse is applied in world space coordinates. (Defaults to local rotation) |
| `offset` *(optional)* | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The offset from the center point. (Defaults to no offset) |

### Overload 3

``` { .lua .api-signature }
sm.physics.applyImpulse( target, impulse )
```

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

Applies an impulse to a [Character](../Game-Script-Environment/Userdata/Character.md), changing its velocity immediately. The impulse is applied to the character's centerpoint.

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `target` | [Character](../Game-Script-Environment/Userdata/Character.md) | The character on which the impulse is exerted on. |
| `impulse` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The direction and strength of the impulse. |
