Rasagar/Library/PackageCache/com.unity.visualeffectgraph/Documentation~/Operator-SineWave.md

50 lines
2.9 KiB
Markdown
Raw Normal View History

2024-08-26 13:07:20 -07:00
# Sine Wave
Menu Path : **Operator > Math > Wave > Sine Wave**
The **Sine Wave** Operator evaluates an input to generate a value which smoothly oscillates between a minimum and a maximum value. This Operator also includes a frequency value which changes the rate at which the output value oscillates.
![](Images/Operator-SineWaveAnimation.gif)
If you set **Frequency** to **1**, the output value goes from **Min** to **Max** and back to **Min** as the **Input** changes from **0** to **1**.
You can use this Operator to smoothly move between any two values, for example moving particles up and down. If you set **Min** to **0** and **Max** to **1**, you can use this alongside the [Lerp](Operator-Lerp.md) Operator to interpolate between any two values, like positions or colors.
## Operator properties
| **Input** | **Type** | **Description** |
| ------------- | --------------------------------------- | ------------------------------------------------------------ |
| **Input** | [Configurable](#operator-configuration) | The value this Operator evaluates to generate the output value. |
| **Frequency** | [Configurable](#operator-configuration) | The rate at which the **Input** value moves between **Min** and **Max**. Larger values make the wave repeat itself more. |
| **Min** | [Configurable](#operator-configuration) | The minimum value that **Out** can be. |
| **Max** | [Configurable](#operator-configuration) | The maximum value that **Out** can be. |
| **Output** | **Type** | **Description** |
| ---------- | ----------------- | ------------------------------------------------------------ |
| **Out** | Matches **Input** | The value this Operator generates between **Min** and **Max** based the **Input** and **Frequency**. |
## Operator configuration
To view the Operator's configuration, click the **cog** icon in the Operator's header.
| **Property** | **Description** |
| ------------- | ------------------------------------------------------------ |
| **Input** | The value type for the **Input** port. For the list of types this property supports, see [Available types](#available-types). |
| **Frequency** | The value type for the **Frequency** port. For the list of types this property supports, see [Available types](#available-types). |
| **Min** | The value type for the **Min** port. For the list of types this property supports, see [Available types](#available-types). |
| **Max** | The value type for the **Max** Port. For the list of types this property supports, see [Available types](#available-types). |
### Available types
You can use the following types for your **Input**, **Min**, and **Max** ports:
- **float**
- **Vector**
- **Vector2**
- **Vector3**
- **Vector4**
- **Position**
- **Direction**