Properties¶
Every scene property has a unique string identifier, its USTR. Pass USTRs to the CLI set_property / get_property commands or the Viewer SDK setProperty() / getProperty() methods. The CLI setter infers its node from the USTR prefix; CLI reads and SDK calls take an explicit node.
How it works¶
A property targets a node and a USTR. In the Viewer SDK, and in CLI get_property or legacy set_string, the node is explicit (::globals, ::camera, a layer name, ...). Preferred CLI set_property <ustr> <value> derives the node from the USTR prefix.
Note
CLI set_property and its legacy alias set reach globals_, dressing_, animation_, camera_, and render_pipeline_. Per-layer obj_* properties have no inferable node, so old CLI scripts must continue to use explicit-node set_string.
Value encoding¶
All values travel as strings and are parsed according to the property's type:
| Type | Format | Example |
|---|---|---|
| bool | 0 or 1 (also lowercase on / off, yes / no, or true / false) | 1 |
| int | decimal integer | 1920 |
| float | decimal number | 45.0 |
| color | r,g,b in 0.0 to 1.0 | 0.8,0.2,0.1 |
| enum | dropdown choice as a decimal integer: the position of the chosen option in the list, counting from zero (each enum property has its options listed below) | 2 |
| string | UTF-8 text | My Scene |
| void | Editor button action; not a general public property type | — |
Availability¶
| Label | Meaning |
|---|---|
| standard | Exposed in the editor UI. Safe, supported surface. |
| pro | Standard, but tied to a PRO feature (branding, spinner, interactive export). |
| virtual | Reads and writes the live on-screen camera directly. |
Globals (::globals)¶
| USTR | Type | Description | |
|---|---|---|---|
globals_resolution_preset | enum | standard | Resolution preset: 0 Custom, 1 Instagram (square), 2 Instagram (portrait), 3 YouTube. |
globals_resolution_w | int | standard | Render width in pixels. |
globals_resolution_h | int | standard | Render height in pixels. |
globals_ground_scale | float | standard | Ground plane scale. |
globals_ground_angle | float | standard | Ground plane rotation, degrees. |
globals_ibl_angle | float | standard | Environment rotation, degrees. |
globals_ibl_shadows_gamma | float | standard | Shadow gamma correction. |
globals_floor_mirror_enable | bool | standard | Enable floor mirror reflection. |
globals_floor_mirror_weight | float | standard | Mirror reflection weight. |
globals_floor_gi_see_through | color | standard | Floor see-through color. |
globals_backplate_color | color | standard | Background color. |
globals_pose_id | enum | standard | Active pose preset. Setting it applies the pose: 0 Vertical, 1 Resting Left, 2 Resting Right, 3 Horizontal Left, 4 Horizontal Right. |
globals_pose_yaw | float | standard | Model yaw rotation, degrees. |
globals_pose_pos_z | float | standard | Model vertical offset. |
globals_viewer_title | string | standard | Viewer title string. |
globals_viewer_nocontrols | bool | standard | Hide viewer controls. |
globals_viewer_nolabels | bool | standard | Hide material group labels. |
globals_viewer_autospin | bool | standard | Viewer starts with auto-spin enabled. |
globals_atlas_layout | enum | standard | Atlas contact sheet layout: 0 2 x 2, 1 2 x 1, 2 4 x 1, 3 1 x 2, 4 1 x 4, 5 Big + 4, 6 4 + Big, 7 Big : 4, 8 4 : Big. |
globals_atlas_slot_0_viewpoint_id ... globals_atlas_slot_4_viewpoint_id | enum | standard | Viewpoint assigned to each atlas slot: 0 Looking Down, 1 Perspective, 2 Through, 3 Side View, 4 Current View. |
globals_branding_frontplate_enable | bool | pro | Enable the branding frontplate overlay. |
globals_branding_frontplate_alignment | enum | pro | Frontplate alignment (the intro and outro alignments share these options): 0 Top-Left, 1 Top-Center, 2 Top-Right, 3 Center-Left, 4 Center, 5 Center-Right, 6 Bottom-Left, 7 Bottom-Center, 8 Bottom-Right. |
globals_branding_frontplate_margin | float | pro | Frontplate margin. |
globals_branding_frontplate_scale | float | pro | Frontplate scale. |
globals_branding_frontplate_color_map | string | pro | Frontplate image, as an https:// URL. |
globals_branding_intro_enable | bool | pro | Enable the intro branding sequence. |
globals_branding_intro_color | color | pro | Intro veil color. |
globals_branding_intro_color_map | string | pro | Intro logo image, as an https:// URL. |
globals_branding_intro_scale | float | pro | Intro logo scale. |
globals_branding_intro_veil_hold | float | pro | Intro veil hold time. |
globals_branding_intro_logo_hold | float | pro | Intro logo hold time. |
globals_branding_outro_* | mixed | pro | Outro counterparts of the intro set above. |
Camera (::camera)¶
| USTR | Type | Description | |
|---|---|---|---|
camera_hfov | float | standard | Horizontal field of view, degrees. |
camera_dof_enable | bool | standard | Enable depth of field. |
camera_focus | float | standard | Focus distance, millimeters. |
camera_dof_max_radius | float | standard | Maximum blur radius. |
camera_center_view | void | standard | Use SDK viewer.commands.centerView() or CLI center_view. |
camera_theta / camera_phi | float | standard | Orbit azimuth and elevation, degrees. |
camera_dolly | float | standard | Camera distance, in normalized scene units: 0.01 (closest) to 0.5. |
camera_pan_x / camera_pan_y | float | standard | Screen space pan, in scene-relative units. |
The framing attributes above belong to the scene's camera definition: the framing a scene ships with, and the one render actions use. How they relate to the live, on-screen camera depends on where you are:
- In the CLI,
set_property camera_theta 70and friends reframe the live view directly, so they are the natural way to frame a shot before atake_picture. - In the embedded viewer, the on-screen camera follows the user's orbiting and ignores these attributes. To read or move it from JavaScript, use the
tracker_cam_*virtual properties below.
Live camera (virtual)¶
These names are handled specially on ::camera: they read and write the live on-screen camera, so they always reflect what is on screen.
| USTR | Type | Description | |
|---|---|---|---|
tracker_cam_theta | float | virtual | Orbit azimuth, degrees. |
tracker_cam_phi | float | virtual | Orbit elevation, degrees. |
tracker_cam_dolly | float | virtual | Camera distance, in normalized scene units: 0.01 (closest) to 1 (farthest). |
tracker_cam_pan_x / tracker_cam_pan_y | float | virtual | Screen space pan, in scene-relative units. |
tracker_cam_hfov | float | virtual | Live horizontal field of view, degrees. |
Render pipeline (::render_pipeline)¶
| USTR | Type | Description | |
|---|---|---|---|
render_pipeline_glare_enable | bool | standard | Enable glare. |
render_pipeline_glare_strength | float | standard | Glare intensity. |
render_pipeline_ssr_re_enable | bool | standard | Enable round edges. |
render_pipeline_ssr_re_radius | float | standard | Round edges radius. |
render_pipeline_sharpen_enable | bool | standard | Enable sharpening. |
render_pipeline_sharpen_strength | float | standard | Sharpen intensity. |
Animation (::animation)¶
| USTR | Type | Description | |
|---|---|---|---|
animation_bitrate | int | standard | Video bitrate. |
animation_speed | enum | standard | Animation speed: 0 Very fast (3 s), 1 Fast (6 s), 2 Normal (12 s, the default), 3 Slow (18 s), 4 Very slow (26 s). |
animation_easing | enum | standard | Easing function: 0 Constant, 1 Ease In/Out. |
animation_subject | enum | standard | What the animation drives: 0 Camera, 1 Pose (slow). |
animation_rotate | float | standard | Rotation amount, degrees (45 to 360). |
animation_rotate_flip | bool | standard | Flip rotation direction. |
animation_boomerang_enable | bool | standard | Boomerang (ping-pong) playback. |
animation_motion_blur_enable | bool | standard | Motion blur. |
Objects and materials (per layer)¶
Object properties live on layers. Address them with the layer name or its id: set_string "Metal Band" obj_visible 0 in the CLI, or viewer.setProperty('Metal Band', 'obj_visible', '0') in JavaScript.
| USTR | Type | Description | |
|---|---|---|---|
obj_visible | bool | standard | Layer visibility. |
The most useful material controls per family:
| USTR | Type | Family | Description |
|---|---|---|---|
obj_mtl_absorption | float | gemstone | Light absorption (color depth). |
obj_mtl_scs_amplitude | float | gemstone | Clarity. |
obj_mtl_roughness | float | metal, pearl | Surface roughness. |
obj_mtl_coating_weight | float | pearl, plastic | Luster (pearl) or glossiness (plastic). |
obj_mtl_coating_roughness | float | opal, plastic | Coating roughness. |
Found a mistake?
We do our best to keep this reference accurate and in step with the product, but mistakes and omissions can slip through, and they are never intentional. If anything here looks wrong, incomplete, or unclear, please contact us and we will gladly fix it.