ImageSequence
Fill a stack of frames from code or a render, play it back as a clip, and ask for any frame in between, made by following how things move.
seq:SetFrame(i, image) copies a picture in, seq:GetFrame(i) hands frame i back as an ImageContent, and seq:OpticalFlow(2.5) makes the frame halfway from 2 to 3 by optical flow instead of a cross-fade. Frames are lossless files in a folder on disk, never pixels in the project file; one shared cache holds recent frames and reads ahead while a VideoTrack plays them. A render In project writes into one.
Properties
Sequence
| Name | Type | Default | Description |
|---|---|---|---|
| FrameCount | number | 0 0 to 100000 | How many frames it holds; raising it adds blank frames, lowering it cuts them. |
| Size | Vector2 | 256, 256 | Every frame is kept at this size; changing it resamples every frame. |
| FramesOnDisk | read-only text | Properties window only | |
| Folder | read-only text | Properties window only | Shows the folder of the sequence's frames; with no frames yet, where they will go. |
Frame cache (all sequences)
| FrameCacheMB | number | 2048 Properties window only; 256 to 65536 | The memory cap of the one frame cache every sequence shares; an app setting. |
| FrameCacheInMemory | read-only text | Properties window only |
Methods
| Name | Arguments | Returns | Description |
|---|---|---|---|
| GetFrame | (index: number, into: ImageContent?) | ImageContent | Puts frame i into the given image, or into one image the sequence keeps, and returns it. |
| OpticalFlow | (position: number, into: ImageContent?) | ImageContent | Gives the in-between at a fractional frame: 2.5 is halfway from frame 2 to 3, and a whole number is that frame. |
| SetFrame | (index: number, image: ImageContent) | () | Copies an image into frame i, resampled to Size; FrameCount + 1 appends a new frame. |
