# Play ImageSequence

## Overview

![The Play ImageSequence Node.](https://1553081948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU990HLHWA30dTfELtDUK%2Fuploads%2Fgit-blob-952ef2a9eadd9044d0804b701cae679cb6d68cec%2Fplayimagesequencenode20241.png?alt=media)

The **Play ImageSequence Node** starts and plays through an **ImageSequence** at the specified time frames. The `Start Frame` value must be a smaller number than the `End Frame`value. When \`\`PlayDirection`is set to`Backward\`, the **ImageSequence** will be played in reverse.

[**Scope**](https://docs.incari.com/incari-studio/overview#scopes): **Scene**, **Function**, **Prefab**.

## Attributes

![The Play ImageSequence Node Attributes.](https://1553081948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU990HLHWA30dTfELtDUK%2Fuploads%2Fgit-blob-0043317cc0b0bb2c21a26e1ec3007659bed868ec%2Fplayimagesequenceatts20231.png?alt=media)

| Attribute            | Type                                         | Description                                                                                                                                                                                                                       |
| -------------------- | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Start Frame`        | **Int**                                      | The selected start frame, if none is received in the **Input Socket**. When set to $$-1$$, the start frame is the very first frame of the **ImageSequence**. Note that it should always be set to a lower value than `End Frame`. |
| `End Frame`          | **Int**                                      | The selected end frame, if none is received in the **Input Socket**. When set to $$-1$$, the end frame is the very last frame of the **ImageSequence**. Note that it should always be set to a greater value than `Start Frame`.  |
| `PlayMode`           | **Drop-down**                                | The `PlayMode` type. Can be either *Frames per Second* (frame rate) or *Time* (duration).                                                                                                                                         |
| `FPS`                | **Int** (when `PlayMode` is set to `FPS`)    | The number of *Frames per Second*, if one is not provided in the **Input Socket**.                                                                                                                                                |
| `Duration`           | **Float** (when `PlayMode` is set to `Time`) | The duration, in seconds, of the **ImageSequence**, if one is not provided in the **Input Socket**.                                                                                                                               |
| `Interpolation Mode` | **Drop-down**                                | The `Interpolation Mode` type. Can be either *Constant* or *Linear*.                                                                                                                                                              |
| `Loop Mode`          | **Dropdown**                                 | The looping type, if one is not provided in the **Input Socket**. Can be *Alternate*, *None*, or *Repeat*.                                                                                                                        |
| `PlayDirection`      | **Dropdown**                                 | The direction in which the **ImageSequence** plays, if one is not provided in the **Input Socket**. Can be `Backward` or `Forward`.                                                                                               |

## Inputs

| Input             | Type                                                    | Description                                                                                                                                                                          |
| ----------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| *Pulse Input* (►) | **Pulse**                                               | A standard **Input Pulse**, to trigger the execution of the **Node**.                                                                                                                |
| `Object ID`       | **ObjectID**                                            | The ID of the target **Object**.                                                                                                                                                     |
| `Start Frame`     | **Int**                                                 | The selected start frame. When set to $$-1$$, the start frame is the very first frame of the **ImageSequence**. Note that it should always be set to a lower value than `End Frame`. |
| `End Frame`       | **Int**                                                 | The selected end frame. When set to $$-1$$, the end frame is the very last frame of the **ImageSequence**. Note that it should always be set to a greater value than `Start Frame`.  |
| `Speed`           | **Int** or **Float** (depending on selected `PlayMode`) | The *Frames per Second* if `PlayMode` is set to `FPS`. The duration in seconds if `PlayMode` is set to `Time`.                                                                       |
| `Loop Mode`       | **String**                                              | The looping type. Can be *Alternate*, *None*, or *Repeat*.                                                                                                                           |
| `PlayDirection`   | **String**                                              | The direction in which the **ImageSequence** plays. Can be `Backward` or `Forward`.                                                                                                  |

## Outputs

| Output             | Type      | Description                                                                                                                            |
| ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse** | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |

## See Also

* [**4 Methods of Animation**](https://docs.incari.com/incari-studio/v/2021.4/demo-projects/4-methods-of-animation#3.-image-sequence)
* [**Pause ImageSequence**](https://docs.incari.com/incari-studio/toolbox/incari/imagesequence/pauseimagesequence)
* [**Stop ImageSequence**](https://docs.incari.com/incari-studio/toolbox/incari/imagesequence/stopimagesequence)
* [**Resume ImageSequence**](https://docs.incari.com/incari-studio/toolbox/incari/imagesequence/resumeimagesequence)
