Overview
Renders a map containing animated tiles into a sprite sheet with every frame. It automatically draws an entire map of rippling water, dancing flames, and other motion at a period that loops correctly.
Usage tips
- The frame count is automatic, based on the least common multiple of animated-tile
periods, so simply connecting the inputs usually produces a matching loop. Mixing
too many unrelated periods can inflate the frame count; cap it with
max_frames. - If you need only one image, such as a thumbnail, the time setting on
rule_renderis enough.
Related nodes
rule_renderâ the single-frame counterpartrule_canvasâ supplies the map to rendersprite_sheet_playbackâ previews the output sheetbatch_exportâ exports the sheet
What this node does
Outputs a map containing animated tiles such as water, flames, and blinking lights as one complete animation. Rule resolution (which tile to place) runs only once; each frame only changes the render time, keeping the process lightweight.
The frame count is determined automatically from the least common multiple of the
periods of the placed animated tiles. For example, 2-frame water with a 200ms
period and 3-frame flames with a 300ms period produce a 600ms period. The requested
FPS is preserved, and output extends to the smallest whole-frame multiple of the
period. Looping tiles use the LCM; non-looping tiles use their completion time. If
max_frames prevents an exact endpoint, output is capped and a non-seamless-loop
warning is emitted.
Key settings
| ID | Name | Description |
|---|---|---|
fps |
FPS | Number of output frames per second (default: 8). |
duration_ms |
Output duration | Set to 0 to determine it automatically from the LCM of animated-tile periods. |
max_frames |
Maximum frames | Truncates and warns when the period exceeds this count (default: 64). |
columns |
Sheet columns | Set to 0 for automatic layout. |
Relationship to still-image rendering
Rule Render also provides Display Time (ms) / Frame Index parameters. Use it
when you need only one image at an arbitrary time. The time can be promoted to a
variable or animation input.
Example wiring
RuleCanvas.canvas -> RuleAnimationRender.canvas
RuleTilePack.tile_set -> RuleAnimationRender.tile_set
RuleSetPreset.rule_set -> RuleAnimationRender.rule_set
RuleAnimationRender.spritesheet -> Sprite sheet export