# Breath

> **Idle animations** refer to [animations](https://en.wikipedia.org/wiki/Animation%20%E2%80%9CAnimation%E2%80%9D) within [video games](https://en.wikipedia.org/wiki/Video_game%20%E2%80%9CVideo%20game%E2%80%9D) that occur when the [player character](https://en.wikipedia.org/wiki/Player_character%20%E2%80%9CPlayer%20character%E2%80%9D) does not do any action (hence being [idle](https://en.wikipedia.org/wiki/Idle)).

## Description

The purpose this component has is to add a breathing effect to the object, to imitate an **idle** animation.

## How does it work?

Every frame a `sin()` function is used to determine the position and rotation of the object; we multiply the [Wave Data](../../data/wave-data) by the result to allow you greater control over it.

## Tweaking the effect

The _Breath_ component has two fields that can customize what the motion does. They have the following names: `positionWave` and `rotationWave`.

These are both [Wave Data](../../data/wave-data), so they present the developer with an amplitude, and a rate.

The amplitude decides **what** directions the objects moves in, and the rate decides **how** fast that happens.

{% hint style="info" %}
The [State Data](../../data/state-data) for the player’s current state has a multiplier for this effect.
{% endhint %}
