# Camera Shake

## Camera Shake Asset

The **Camera Shake Asset** exposes the **Position**, **Rotation**, and **FOV** properties (in addition to the common properties outlined in [Shake Settings Asset](/shakefx/core/shake-settings-asset.md)):

<figure><img src="/files/1IZguAGYQAc3bp8XaUao" alt="" width="334"><figcaption></figcaption></figure>

**Position**: The motion to apply on the local position of the camera.

**Rotation**: The motion to apply on the local rotation of the camera.

**FOV**: The motion to apply on the field of view of the camera. A custom [Custom FOV Driver](/shakefx/custom/custom-fov-driver.md) can be specified on components for more control over this process.

### Offsets in local space

{% hint style="info" %}
Position and rotation shake offsets are applied in local object space, so the camera needs to have a parent Transform. This parent defines the camera's Transform in world-space, while the child Transform is used exclusively for shake offsets.
{% endhint %}

<figure><img src="/files/38WNx0zpgW7MdkslDvlu" alt="" width="220"><figcaption></figcaption></figure>

## Camera ShakeFX Listener

If you want to leverage the [Sources & Listeners](/shakefx/core/sources-and-listeners.md) system, then you'll need to add a **Camera ShakeFX Listener** component to the main camera:

<figure><img src="/files/VMHB7OcZKvPxQVT2YWCO" alt="" width="334"><figcaption></figcaption></figure>

**Strength Multiplier**: Intensity multiplier applied to the strength of all active shakes affecting this listener.

**Coordinate Mode**: Specifies which axes are used for distance calculations between listeners and shake sources. Various options are available for 3D and 2D games.

**Motions**: Toggles which properties are affected by shakes.

**Debug**: A list of active shake instances (see [Shake Debug](/shakefx/shakes/shake-debug.md)).

## Camera ShakeFX Source

Place the **Camera ShakeFX Source** component on a GameObject that will emit the shake (the Transform of the object will be taken into account).

<figure><img src="/files/ywNOTZFUqKBEm4OPbbzu" alt="" width="365"><figcaption></figcaption></figure>

**Shake**: The default shake asset used by this component.

**Attenuation**: The asset that controls the distance-based attenuation. See this page for more details: [Sources & Listeners](/shakefx/core/sources-and-listeners.md#attenuation-settings-asset).

## Camera ShakeFX

If you'd like to shake the camera directly without using a **Camera ShakeFX Source** component, then you can use the **Camera ShakeFX** component instead of a **Camera ShakeFX Listener**:

<div data-full-width="true"><figure><img src="/files/aEVXGVWo2lVtvplz5JqC" alt="" width="365"><figcaption></figcaption></figure></div>

**Motions**: Toggles which properties are affected by shakes.

**Shake**: The default shake asset used by this component.

**Debug**: A list of active shake instances (see [Shake Debug](/shakefx/shakes/shake-debug.md)).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fx-engine.gitbook.io/shakefx/shakes/camera-shake.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
