Render Manager
Intro
The Render Manager is the place to output scenes to files. The window consists of two sections – the Header and the Render Queue. The Header at the top contains a few simple controls for submitting renders and the Render Queue at the bottom is where you can drag in Compositions to create Render Queue Items.
- Adding Compositions to the Render Queue creates Render Queue Items. This can be done by either using the
+ Current Composition
button at the top of the window or by dragging a Composition from the Assets Window into the Render Queue. - Render Queue Items are saved with the Scene.
- Any unchecked Render Queue Items will not render.
Format Features
Selecting a Format to render to will depend on the requirements of the project:
Format | Type | Alpha | Audio |
---|---|---|---|
APNG | Image | ✔️ | |
Audio Only | Audio | ✔️ | |
GIF | Image | ||
JPEG | Image | ||
Lottie | Vector/Code | ✔️ | |
MP4 | Video | ✔️ | |
PNG | Image | ✔️ | |
QuickTime | Video | ✔️¹ | ✔️ |
SVG | Vector/Code | ✔️ | |
Sprite Sheet | Image | ✔️ | |
WebM | Video | ✔️ | ✔️ |
WebP | Image | ✔️ |
¹ The ProRes 4444 and ProRes 4444 XQ codecs support alpha.
In order to render with Alpha, don't forget to set the Composition's Background Alpha to 0 via the Composition Settings.
Rendering to H.264/MP4 is restricted to a maximum of 9,437,184 pixels. Any aspect ratio can be rendered but if the of a Composition exceeds this value then it will be scaled down proportionally to the maximum supported resolution when rendering.
More Information
The summary above is a slight simplification. Rendering to H.264/MP4 is restricted to a resolution which contains a maximum of 36,864 macro-blocks.
A macro-block is 16 x 16px so the number of macro-blocks a Composition includes can be calculated as .
For example, the maximum 16:9 resolution that can be rendered is 4096 x 2304px because .
UI
Header
+ Current Composition
- Add the currently active composition to the Render Queue.
Progress Bar - An indication of how complete the entire Render Queue is.
Render All
- Start rendering all active Render Queue Items (RQIs) in the Render Queue
Background Rendering - When checked, rendering will be sent to a second process. A temporary copy of the scene file is saved so that it's possible to continue working in Cavalry while the render processes. Assets (except video) are saved to RAM so any changes to these will not affect the final render. Video assets should not be moved or updated during a background render.
Once a Background Render has been launched, the render's status will appear in the Message Bar every 5 seconds plus a final message to confirm when the render has completed.
Dynamic Index - This value can be passed to any other attributes and iterates on a 'per render' basis. e.g. if you have Render Range under the Dynamic tab set to 3 this attribute will pass a value of 0 on the first render, 1 on the second and 2 on the third. See Dynamic Rendering.
Dynamic Index Offset - Offset the Dynamic Index which can be used to preview renders.
Render Queue Item
Header
Expand/collapse - Expand or collapse the Render Queue Item.
Enable/disable - When checked, the Render Queue Item is included in the Render Queue.
Name - A preview of the Render Queue Item's File Name.
Tag - A visual indication of the Render Queue Item's File Format.
Presets - Save, apply or delete a Preset.
If a Preset has been set to 'Set as Default Settings' then the File Format defined by the Preset will be used when creating new RQIs. Otherwise the last used File Format will be used.
Delete - Delete the Render Queue Item.
- Output
- Format
- Dynamic
- Compositions
- Scripts
- Advanced
File Name - Set the output file name.
If you include slash /
(macOS) or forward slash \
(Windows) slashes in the File Name, a new directory will be created (if one doesn't exist) on the file system. e.g. MyFolder/Composition1
will output the filename Composition1 in the MyFolder directory.
Frame Range Mode - Select the frame range mode:
- Composition Start/End - Output the full composition length.
- Playback Start/End - Output the frames within the Playback Range.
- Custom... - Set a custom frame range.
Frame Range - Set the Custom frame range.
Use Composition Playback Step - When checked, the Composition's Playback Step will be respected. When unchecked, the default Playback Step of 1
(every frame) will be used.
Padding - Set the frame number padding (e.g. 3 will output image.001.png).
Path - Set the directory to save the output to.
Resolution Scale - A multiplier for the resolution.
Render Quality - Set which Viewport features are rendered. This can be useful for speeding up test renders:
- High - Full quality using standard anti-aliasing.
- Balanced (macOS only) - Use multisample anti-aliasing (MSAA). This setting balances performance with quality.
- Low - Removes Anti-aliasing and any Image Filtering (see Image Shader).
- Lowest - As per Low but also removes any Filters and Shaders.
Respect Viewport Filtering - When checked, any Layers that have been hidden from the Viewport via Tags will not be rendered. This includes soloing via the Composition > Solo Selection in Viewport
command which also uses the tagging system.
File Format - Select a file format to output to. Note that the File Format will be set based on the last RQI added unless there is a default Preset set.
- APNG - Output an animated png.
- Looping - When checked, the APNG will auto-loop.
- Audio Only - Output an
.aac
audio only file.- Container - Select a file format to output to:
- AAC - Output an MPEG-4 AAC encoded
.aac
audio file. - AIFF - Output a lossless Linear PCM encoded
.aiff
audio file. - Wav - Output a lossless Linear PCM
.wav
audio file.
- AAC - Output an MPEG-4 AAC encoded
- Audio Quality - Select the bitrate for the audio. A higher bitrate is indicative of better audio quality but may result in larger-sized files.
- Audio Sample Rate - Select the sample rate to export audio at.
- Container - Select a file format to output to:
- GIF - Output a
.gif
file.- Quality - Set the bit depth for the image.
- Dithering - When checked, create the illusion of a higher color depth in images using a limited color palette so create smaller file sizes.
- Alpha - When checked, pixels with transparency below the Alpha Threshold will be exported as fully transparent pixels.
- Alpha Threshold - Pixels with an alpha value less than this value will be treated as transparent.
- JPEG - Output a
.jpg
image sequence.- Quality - Set the quality. A lower value will create a smaller file size at the cost of image quality.
- Lottie - Output a
.json
Lottie file. - MP4 - Output an
.mp4
video file.- Quality - Set the quality for the resulting file. A lower bitrate will result in smaller file sizes.
- Custom Bitrate - Set a custom bitrate. Bitrate must be set to Custom....
- Export Audio - When checked, any audio in the Composition will be exported.
- Audio Quality - Select the bitrate for the audio. A higher bitrate is indicative of better audio quality but may result in larger-sized files.
- Audio Sample Rate - Select the sample rate to export audio at.
- PNG - Output a
.png
image sequence.- Compression - Set the compression (0 is uncompressed).
- PNG Filter -
- None -
- Fast -
- Best -
- QuickTime - Output a
QuickTime
movie.- Codec - Select the codec:
- Motion JPEG
- Uncompressed 422
- ProRes
- ProRes Codec
- ProRes 422 HQ
- ProRes 422
- ProRes 422 LT
- ProRes 422 Proxy
- ProRes 4444 (supports alpha)
- ProRes 4444 XQ (supports alpha)
- Jpeg Quality - Set the quality for the Motion JPEG codec. A lower value will create a smaller file size at the cost of image quality.
- Export Audio - When checked, any audio in the Composition will be exported.
- Audio Format - Select an audio format to export:
- AAC - Export AAC audio.
- Linear PCM - Export Linear PCM (16-bit Little Endian, Uncompressed).
- Audio Quality - Select the bitrate for the AAC audio. A higher bitrate is indicative of better audio quality but may result in larger-sized files.
- Audio Sample Rate - Select the sample rate to export audio at.
- Codec - Select the codec:
- SVG - Output an
.svg
. This outputs a sequence of SVGs, not an animated SVG.- Include Background - When checked, the Composition Background will be included as a Shape in the SVG.
- Sprite Sheet - Output each frame of the Composition to a single, tiled contact sheet.
- Compression - Set the compression (0 is uncompressed).
- PNG Filter -
- None -
- Fast -
- Best -
- Maximum Size - Set the maximum dimensions for the resulting sprite sheet. The final image size is the Composition's Resolution multiplied by the grid's rows/columns plus the Sheet Margin and Cell Gaps. If all the frames exceed the Maximum Size then the cells/tiles will be scaled down to fit within it.
- Sheet Margin - Set a margin between the edges of the sheet and the cells/tiles.
- Cell Gap - Add padding to each cell/tile. This can be used to prevent the cells/tiles bleeding into one another.
- JSON Metadata - When checked, a JSON dictionary of each tile's size and position is output. This can be used in a game engine to reference the correct cell.
- WebM - Output a
.webm
video file. Note - alpha is not currently supported.- Codec - Select the codec:
- VP8
- VP9
- Quality - Set the quality for the resulting file. A lower bitrate will result in smaller file sizes.
- Custom Bitrate - Set a custom bitrate. Bitrate must be set to Custom....
- Export Audio - When checked, any audio in the Composition will be exported.
- Audio Quality - Select the bitrate for the audio. A higher bitrate is indicative of better audio quality but may result in larger-sized files.
- Audio Sample Rate - Select the sample rate to export audio at.
- Codec - Select the codec:
- WebP - Output a
.webp
image file.- Quality - Set the quality. A lower value will create a smaller file size at the cost of image quality.
Dynamic Render - Check to enable Dynamic Rendering.
Render Range - Set an inclusive range of values to determine how many times to iterate through a sequence. For example, a range of 0..5 will result in 6 renders (0,1,2,3,4,5).
Ensure Unique File Names - Set a unique File Name/Path for each Dynamic Render to prevent one overwriting another during the same render session. When checked, each dynamic render will be added to a folder and its file name will be suffixed with its Dynamic Index. Note - if a File Name includes the <Dynamic>
Render Token, renders will not be added to separate folders. Unchecking this option means file names must be managed manually. For example, via a Formatted String String Generator connected to the File Name.
Compositions - Drag and drop compositions from the Assets Window.
The Compositions tab can be used to render multiple Compositions sharing the same Output/ Format/ Dynamic Render settings.
Cog - Click the cog icon to open a popover window with options to re-time the Composition at render time:
- Retime Render - When checked, the render will be retimed to the New Composition Length.
- New Composition Length - Enter a timecode (MINUTE:SECOND:FRAME) to set the duration of the render. For example, a 25fps Composition with a duration of 100 frames (4secs) can be retimed to 6secs by entering
00:06:00
.
- While it's possible to reduce the length of a Composition, it's best practice to use this feature to extend the duration. This reduces the chance of important frames (e.g. the moment a bouncing ball touches the ground) being removed.
- When extending Compositions, it's important to understand that while animation curves can be stretched at render time, stepped animation that occurs on frame integers (e.g. an image sequence/video) will result in duplicated frames.
- Where animation occurs over 1 frame, ensure the animation curve's interpolation is set to Stepped to prevent the result being stretched during retiming.
Pro features are only available with a Professional licence. To upgrade, visit cavalry.scenegroup.co.
Setup Render Script - Add a script that runs before any render setup begins and so can be used to affect the Render Queue Item itself.
Pre-Render Script - Add a script to run before the Render Queue Item starts.
Post-Render Script - Add a script to run after the Render Queue Item completes.
See Render Scripts and Scripting for more information.
Upload - When checked, renders will be uploaded to an online location defined in the the Upload Preset.
Upload Preset - Pick a preset to send uploads to. Use the Upload Preset Manager to create and edit upload locations.
Cancelling a render will also cancel any uploads in the queue but any 'in progress' uploads will continue.
Enable Metadata - When checked, metadata files will be exported along with the render(s).
Format - Select the formatting used for the metadata:
- JSON - Export the metadata as a JSON dictionary.
- Simple Traits JSON - Export the metadata formatted for use as a traits file. An 'image' key with the file name is included automatically.
- NFT Traits JSON - Export ERC-1155 compliant metadata for use with sites such as NFT.Storage.
+Add
- Add a new key-value pair.
- Key - An identifying name for the value. Use a dot (
.
) to group keys into their own dictionaries inside the JSON. For example,attributes.colour
will put the keycolour
inside a dictionary calledattributes
. - Value - Connect a Layer's attribute to be used as the value. Typically, the attribute will be set up as part of a Dynamic Render in order for it to update for each render.
It's not currently possible to connect the Id (or output) connection of a layer directly into the Value of a key-value pair. To work around this, it's possible to go via another layer. For example, create a Random and a Value Behaviour then connect Random.Id
to Value.Value
and then connect Value.Value
to the metadata's Value.
Metadata files are automatically created per rendered video, still or image sequence.
{
"Key": "Value"
}
{
"image": "Simple Traits Image",
"properties": [
{
"trait_type": "first",
"value": "Cavalry"
}
]
}
{
"image": "NFT Traits Image",
"properties": {
"rich_property": [
0,
1,
3,
4
],
"simple_property": "Cavalry"
}
}
It's possible to generate dictionaries with a key-value pair. Typing Dictionary
into the Key and connecting a String of [1,2,3,4] into the Value will result in:
{
"Dictionary": [
1,
2,
3,
4
]
}
Strings must be wrapped in quotes (""
). For example, a Value of ["string",2,3,4] will result in:
{
"Dictionary": [
"string",
2,
3,
4
]
}
Path Preview - Preview the absolute output path.