solidly render
solidly render <file-or-folder> [options]
solidly -r <file-or-folder> [options]Renders one image per model using the same renderer the application uses, with no window and no user interaction.
Examples
Render every supported model under a folder from the front:
solidly render ~/Models --output ~/Renders --preset front --resolution 3840x2160Render one glTF with a transparent background:
solidly render ~/Models/Chair/chair.gltf --output ~/Renders --preset isometric --transparent --format pngPlace the camera exactly:
solidly render ~/Models/chair.gltf --output ~/Renders --camera-position 2,1.5,3 --camera-target 0,0,0 --fov 35 --resolution 2400x1600A complete production invocation:
solidly -r ~/Models/Chair/chair.gltf -o ~/Renders --resolution 3840x2160 --preset isometric --anti-aliasing 4 --tone-mapping pbr-neutral --light-direction 0.25,-1,-0.4 --light-color '#ffffff' --light-intensity 2.2 --ambient-sky-color '#ffffff' --ambient-ground-color '#8c8c8c' --ambient-intensity 0.35 --bloom true --bloom-intensity 0.15 --exposure 0.5 --contrast 1 --saturation 1 --gamma 1Every option is optional. An option that is not given takes the default shown, and the defaults are the same on every Mac except where the table says otherwise. Progress is written to standard output, one line per model loaded and per image saved.
Output
| Option | Description | Default |
|---|---|---|
--output, -o <folder> | Output folder, created if it does not exist | The current directory |
--resolution <WIDTHxHEIGHT> | Output dimensions, for example 1920x1080 | 1920x1080 |
--width <pixels> | Output width. Overrides the width of --resolution when both are given | 1920 |
--height <pixels> | Output height. Overrides the height of --resolution when both are given | 1080 |
--format <format> | png, jpg, heic, or tiff | png |
--transparent cannot be combined with --format jpg, since JPEG has no alpha channel.
Camera
| Option | Description | Default |
|---|---|---|
--preset <name> | front, back, left, right, top, bottom, or isometric | isometric |
--fov <degrees> | Perspective vertical field of view, greater than or equal to 1 and less than 175 | 50 |
--orthographic | Use an orthographic camera | Perspective |
--ortho-height <value> | Orthographic vertical size, in normalized scene units | Fitted to the model |
--camera-position <x,y,z> | Exact camera position | From the preset |
--camera-target <x,y,z> | Exact look-at target | The centre of the model |
--camera-yaw <degrees> | Orbit camera yaw | From the preset |
--camera-pitch <degrees> | Orbit camera pitch | From the preset |
--camera-distance <value> | Orbit camera distance | Fitted to the model |
--camera-index <index> | Use an authored camera by zero-based index instead of an orbit camera | Not used |
--padding <value> | Space left around the model when the camera is fitted to it | 1.08 |
--near <distance> | Manual near clipping plane | Automatic |
--far <distance> | Manual far clipping plane | Automatic |
Depth of field
| Option | Description | Default |
|---|---|---|
--dof <true|false> | Enable or disable depth of field | false |
--focus-distance <value> | Manual focus distance | 3 |
--aperture <value> | Aperture | 5.6 |
Background and environment
| Option | Description | Default |
|---|---|---|
--transparent | Transparent background, with the skybox disabled | Off |
--background <#RRGGBB> | Solid background colour | #FFFFFF |
--skybox <name|off> | Draw a named environment behind the model: Studio, Glass House, or Sky. off draws the background colour | off |
--image-based-lighting <true|false> | Light the model with the environment image | true |
Without --skybox, the environment still lights the model but is not drawn behind it. The environment used for lighting is the one the model authors, such as a USD dome light, and Studio when the model authors none.
Lighting
| Option | Description | Default |
|---|---|---|
--light-direction <x,y,z> | Directional light vector | 0,-1,0 |
--light-color <#RRGGBB> | Directional light colour | #FFFFFF |
--light-intensity <value> | Directional light intensity | 2.2 |
--ambient-sky-color <#RRGGBB> | Ambient sky colour | #FFFFFF |
--ambient-ground-color <#RRGGBB> | Ambient ground colour | #8C8C8C |
--ambient-intensity <value> | Ambient light intensity | 0.35 |
Image quality and grading
| Option | Description | Default |
|---|---|---|
--anti-aliasing <samples> | 1, 2, 4, or 8 | 4 |
--post-processing <true|false> | Post-processing master switch | true |
--dither <true|false> | Output dithering | true |
--tone-mapping <mode> | linear, reinhard, aces, filmic, or pbr-neutral | reinhard |
--bloom <true|false> | Bloom master switch | true |
--bloom-threshold <value> | Bloom brightness threshold | 0 |
--bloom-soft-knee <0…1> | Bloom transition softness | 0.5 |
--bloom-intensity <value> | Bloom strength | 0.15 |
--bloom-radius <0…1> | Bloom spread | 0.5 |
--exposure <value> | Colour-grading exposure | 0.5 |
--contrast <value> | Colour-grading contrast | 1 |
--saturation <value> | Colour-grading saturation | 1 |
--vibrance <value> | Colour-grading vibrance | 0 |
--gamma <value> | Colour-grading gamma | 1 |
Material features
Each of these switches one contribution on or off, in the same way the Render tab's channel switches do. All of them are on by default.
| Option | Description |
|---|---|
--normal-maps <true|false> | Normal maps |
--clearcoat <true|false> | Clearcoat materials |
--sheen <true|false> | Sheen materials |
--transmission <true|false> | Transmission materials |
--volume <true|false> | Volume materials |
--iridescence <true|false> | Iridescence materials |
--anisotropy <true|false> | Anisotropy materials |
--specular <true|false> | Specular materials |
--diffuse-transmission <true|false> | Diffuse-transmission materials |
USD and animation
| Option | Description | Default |
|---|---|---|
--complexity, -c <level> | Subdivision complexity: auto, low, medium, high, or veryhigh | The value set in Settings ▸ USD |
--payloads <policy> | Payload loading: automatic, all, top-level, or none | automatic |
--animation-time <seconds> | Seek the active animation to this time before capturing | The first frame |
When a stage subdivides, each model's progress line reports the complexity that was applied. If the face budget for the Mac lowered the requested level, the line names both levels and the budget. See Subdivision.
--complexity applies to USD only. STEP and IGES files are rendered at the level Auto chooses; see Complexity.
Output file names
For a single file, the name is the model's own with its format appended, followed by the camera preset:
chair-gltf-isometric.pngFor a folder, the name is the model's path relative to the folder, with / replaced by __:
Furniture__Chair__chair-gltf-front.png
Vehicles__Car__car-glb-front.pngKeeping the source format in the name stops a sibling model.usda and model.usdz overwriting each other during one folder render.
Exit status and errors
Each model is rendered independently. A model that fails to load or render is reported on standard error, together with the same load diagnostics the application would show, and the run continues with the next model. The exception is a model that exceeds the import memory limit while it is loading, which stops the run with exit status 78; see The solidly command.
The command exits with a success status when every model rendered, and with a failure status when any did not, after reporting how many failed.
If Solidly is locked on the Mac, the command renders nothing, reports the reason on standard error, and exits with a failure status. See Trial and purchase.