3DGS WebTools — Help

Editor shortcuts, Web AR guides · Public Beta 1.4.0 · 2026

PDF ← Editor
Shortcuts
F1Open help in a new browser tab
F2Rename the selected Outliner item
Middle-dragOutliner: drag a Group or node onto Scene or another Group to regroup; drag a splat onto a mesh joint/locator to attach (follows animation)
W E RGizmo mode: Move / Rotate / Scale. Click the mode chip on the handle to cycle. Move: axis arrows, XY/YZ/XZ plane pads, yellow center = free drag. Scale: axis cubes; orange center = uniform scale (respects Scale lock in Model Info)
+ / −Scale transform handle up / down (also = / Numpad ±). Default length = one grid cell
Mode / Space chipsOn the transform handle: top chip cycles Move → Rot → Scale; bottom chip toggles Wld ↔ Obj axis space
1 / 3 / 7 / 5Viewport (Blender-style): Front / Right / Top / Perspective — Numpad or number row
Ctrl+Numpad 1/3/7 · Shift+1/3/7Opposite ortho: Back / Left / Bottom
9Flip to the opposite orthographic view
FFrame selected object(s) — also Display → Frame Selected (works in Perspective and ortho)
DragOrbit camera (Perspective only — locked in ortho views)
ScrollZoom viewport — ortho views (Front / Top / Side / …) use camera zoom in Layout and in Splat / Object / Lighting / Animation edit; Perspective dollies
Right-dragPan camera
ScrollZoom
EscClose panels, menus, or help; stop or close screen record; clear edit selection
DeleteDelete selected object · gaussians (Splat Edit) · mesh (Object Edit) · light (Lighting Edit) · camera (Animation Edit)
I or SAnimation: insert keyframe at the playhead — transform or Material track for the selected object; audio volume when a timeline audio clip is selected (pick the clip in Graph → Volume or Tracks → Audio)
Alt+IAnimation: delete keyframe at the playhead
SpaceAnimation: play / pause the Timeline
Numpad 0Look through the selected (or first) scene camera — toggle to exit. Orbit / pan / zoom moves that camera (Lock Camera to View). Resolution menu sets the passepartout frame
Ctrl+ZUndo last scene change (gizmo / Transform panel including Freeze & Reset Pivot, group/ungroup) · in Splat Edit: undo splat selection/delete
Ctrl/Cmd+N / O / S / Shift+SFile shortcuts: New · Open · Save · Save As
Ctrl+C / V / DCopy / Paste / Duplicate the selected node
Ctrl+G / Ctrl+Shift+GGroup / Ungroup (multi-select supported for mesh objects)
Shift+click / Ctrl+clickOutliner / viewport: add to selection · toggle selection (mesh objects)
Ctrl holdSplat Edit: subtract from selection while dragging
Shift+LMBSplat Edit: invert selection in the box / lasso / brush stroke (selected ↔ unselected inside the region)
Alt holdSplat Edit: orbit / pan without leaving edit mode
[ / ]Splat Edit: decrease / increase brush size
File menu
NewClear the scene and start empty — closes all open Windows-menu panels (Tools Window, Timeline, 3DGS Simplify Tool, Scene Analyze, Log, Performance, AR Experience)
Open…Replace the scene with a scene zip from this app (named from the top-bar project: {name}.zip with {name}.glb + {name}.js and sidecar media; older *_scene.zip still opens), a Scene GLB, mesh GLB / glTF, mesh FBX (.fbx — static meshes, skinning, joints, textures, animation), or splat (.ply / .splat / .ksplat / .spz / .sog). Drag-drop onto the viewport uses the same formats. With 3DGS Simplify Tool open, splat Open/Import goes into that tool’s Original preview instead. Same window close behavior as New
SaveQuick-save Scene (zip) — same package as before ({name}.zip with {name}.glb + {name}.js, lights, HDR, shaders, sidecar media). Overwrites the zip you opened or last saved when the browser allows writing that file; otherwise opens the native Save as picker on the same click
Save As…Save Scene zip to a new name or folder (native Save as when supported; download fallback otherwise)
Save Selection…Opens the resizable save window for the selected splat or mesh — pick format, then confirm the file name. Optional Overwrite when saving back to a known zip stem. Formats that do not apply are greyed out. Mesh selection can export .glb, embedded .gltf, a zip with separate glTF textures, or binary FBX (.fbx) — when textures are connected, FBX downloads as a zip with the .fbx, textures/ PNG sidecars (slot suffixes in filenames), and a {name}_texture_links.txt relink guide; UV V is flipped for typical DCC import. Splat format conversion works on static web hosts (in-browser) as well as with python run.py. Drag the title to move; edges/corners to resize (size remembered)
Import…Add another splat or mesh (GLB, glTF, or FBX) without replacing the scene. FBX import uses the same mesh / skin / animation pipeline as GLB. With Simplify Tool open, splat files load into Original
Export as HTML zip…Downloads {name}.zip from the top-bar project name — a flat zip (no extra folder) with the offline viewer HTML plus sidecar media (see HTML export zip below). Includes meshes, materials (Standard / Phong / Basic / Movie / Shadow Catcher / Occlusion), Outliner lights & shadows, studio/HDR lighting, sky/background, viewport post-processing, and splats. When splats are present, a Splat file format dialog runs first (same choices as AR export)
Export AR zip…Builds a mobile AR package ({name}-ar.zip) with index.html, scene.glb, scene.json (includes Default / On-start, touch gesture Actions, and LINK BUTTON HUD when authored), splat sidecars, Movie video sidecars, and bundled runtime. When splats are present, pick their export format in the dialog before packing. When a Movie uses a non-web-safe video (e.g. iPhone .mov), a second dialog offers Optimize movies for web (H.264 MP4) (on by default). Same layout and relative scale as Preview 3D in the AR panel. Requires HTTPS to host. See Web AR overview / World placement AR / Image-target AR help tabs
Save file confirm
When it appearsAfter you pick a format in Save Selection, or when an export finishes packing (mesh/splat download, Export as HTML zip, Export AR zip, screen capture, and similar writes). File → Save for Scene zip skips this step when overwriting an opened zip; it uses the native picker directly when a new path is needed
File nameEdit the suggested name; invalid characters are replaced. If you remove the extension, the original suffix is restored (including .compressed.ply). Enter or Save… continues; Cancel aborts the write
Save…Opens the browser’s native Save as dialog when supported (pick folder + name). Otherwise the file downloads with the confirmed name — use the browser’s “Ask where to save each file” setting to choose a folder on each download
HTML export zip
PackageZip is flat (no extra folder): {name}.html plus sidecar files next to it. Name comes from the top-bar project
MeshesAll meshes pack into one GLB named from the top-bar project ({name}.glb). Model textures (albedo, normal, roughness, alpha, …) are embedded in that GLB — no separate texture files. The viewer loads it once and places each mesh by name
Lighting / skyMesh IBL HDR/EXR is a separate file. Background photo or LDR sky is a separate image. When env and background share the same HDR, only one HDR is written (plus an LDR sky.jpg plate for reliable display)
SplatsWhen the scene includes splats, the exporter asks for a sidecar format (.compressed.ply default, or .ply / .sog / .spz / .splat / .ksplat / splat .glb). The viewer uses the same Spark path as the editor so silhouettes stay tight. Meshes render underneath; Shadow Catcher shadows depth-test against splats and draw on top
Post-processingTools Window → Scene Settings → Post-Processing Filters (Bloom, FXAA, depth of field, pixelation, color grading / LUT) export with the scene and apply in the offline HTML viewer
MoviesVideo files stay as separate files next to the HTML (not inlined). Movie materials play video + audio; if the browser blocks unmuted autoplay, the first click or keypress unlocks sound
Open / shareFully unzip — do not open the HTML from inside the zip. Keep {name}.html, {name}.glb, HDR/sky/background, splat sidecars, and any movie files together. Model textures are already inside the GLB. Open the .html from that folder (double-click or a local static server)
Edit menu
UndoUndo the last scene change — transform (gizmo / Model Info, including Freeze Transform & Reset Pivot to World) or group/ungroup. In Splat Edit, undoes splat selection/delete (Ctrl+Z)
CopyCopy the selected splat, glTF object, or mesh part
PastePaste from the editor clipboard (slightly offset)
DuplicateCopy and paste the selected node in one step (not a Group)
DeleteRemove the selected object, light, or (in Splat Edit) selected gaussians
GroupWrap selected mesh objects, nest splats and/or whole meshes under a shared parent Group (children inherit its transform). Shift/Ctrl+click to multi-select. Objects are not auto-grouped on open
UngroupDissolve the selected group(s) — mesh Group, splat parent Group, or splat virtual group
Freeze TransformZero Position / Rotation / Scale without moving the object — bakes the current pose into the geometry / hierarchy. Works for splats, meshes, nodes, and Group folders
Reset Pivot to WorldMove only the selected model's pivot to the world / grid center (0,0,0). Clears Position to 0; rotation and scale stay; the object stays put
Edit Mode menu
LayoutDefault — select and transform in the Outliner / viewport; no edit toolbars
Splat EditToolbar appears below the top bar — box / lasso / brush select, delete floaters, undo. Shift+LMB inverts splats inside the stroke; Ctrl/Cmd subtracts. Scroll zooms the viewport (ortho axis views included). Hold Alt to orbit without leaving edit mode
Object EditToolbar below the top bar — add Primitives (box, sphere, …) and delete mesh objects
Lighting EditToolbar below the top bar — Add Light (Directional / Point / Ambient / Hemisphere) under Scene → light_grp. Click a light helper or Outliner row to select. Directional: amber orbit = az/el (aims at world origin), cyan = distance. Point / hemisphere use the normal gizmo; ambient has no transform. Color, power, Cast shadow, Softness (0–200), Quality (Low–Ultra), and aim live in Model Info → Selected Light (drag ⠿ to reorder sections)
Animation EditToolbar below the top bar — Add Render Cam, insert keyframes, Auto Key vs Manual, Camera View (Numpad 0), camera resolution (passepartout), and Timeline. In Camera View, orbit/pan/zoom moves the camera (Lock Camera to View). Keyframe any Outliner node except the Scene root (meshes, joints, groups, lights, splats, cameras). Interpolation: Auto Smooth / Linear / Constant / Ease
Top bar icons
GridToggle world grid and axes at the origin. Line colors follow the light / dark UI theme (RGB axis colors unchanged). Sized to the scene; one cell = default transform-handle length. In ortho views the grid plane aligns to the viewport (axes stay world XYZ)
PerformanceSpeedometer icon — open the monitor or toggle the compact HUD. When closed, opens the full window; when the full window is open, minimizes to the HUD; when the HUD is showing, restores the full window
ViewportCamera — Perspective (free orbit), or ortho Front / Back / Right / Left / Top / Bottom (pan & scroll zoom; orbit locked). Scroll wheel zooms in Layout and all edit modes. Shortcuts like Blender: 1/3/7/5; opposite with Ctrl+Numpad or Shift+number; 9 flips. Returning to Perspective restores the previous orbit pose (avoids Top-view Z-up leaking into free orbit)
Transform HandleMaya-style manipulator — Move: RGB arrows + plane squares + yellow center; Rotate: RGB rings + outer yellow view ring; Scale: axis cubes + plane squares + yellow uniform center. W / E / R or click the mode chip; space chip toggles Wld ↔ Obj. Default length = one grid cell; + / − scale the handle
OrientCycle camera up orientation
CaptureCamera icon opens the screen record frame — save and record controls are on the frame toolbar
ThemeToggle UI chrome dark / light (editor opens in light theme by default). Opening or importing a mesh applies a matching solid viewport plate (light → white, dark → black) unless you already set a custom image, HDR, or gradient
HelpOpen this help window (also F1 or Windows → Help…)
FullscreenToggle fullscreen. When Performance is minimized, its compact HUD appears immediately to the right of this icon
Capture & screen record
Save imageImage icon — dropdown with JPEG, PNG, or PNG transparent. Captures the crop region at output resolution
FormatDropdown — WebM or MP4 (MP4 when your browser supports it; otherwise WebM)
RecordRed film-strip icon — starts recording; icon switches to a stop square while recording
Close× icon or Esc — closes the frame (Esc stops an active recording first)
Custom sizeChoose Custom in Preset — type width × height in px; the crop frame becomes exactly that size on screen (1:1 with output). Drag the corner to scale freely instead
Screen record
OpenCamera icon → Screen record — a crop frame appears over the viewport with the rest of the screen dimmed
PresetDropdown on the frame toolbar — 1080p (1920×1080), phone portrait / landscape, tablet portrait / landscape. Pick one to set the starting output size
ResolutionMonospace label on the toolbar shows output pixels (e.g. 1920 × 1080). Updates live while you drag the resize handle
ResizeDrag the bottom-right corner marker to set any frame size. Preset switches to Custom when dimensions no longer match a preset
FormatFormat dropdown — WebM (widest support) or MP4 (Safari and some Chromium builds). Unsupported options are disabled
RecordRed film-strip icon starts capture; it switches to a stop square while recording — click again to stop and choose where to save the WebM/MP4. Gizmo, grid, and helpers hide during recording. Timer shows elapsed time
CloseClose or Esc — closes setup; Esc while recording stops and saves
Move frameDrag the toolbar (empty area or labels) to reposition the crop window. Preset, resolution label, and buttons are not drag handles
View cameraOrbit, pan, and zoom work as usual — drag inside the crop area or on the dimmed viewport outside the frame
TipFrame the shot inside the crop area before Record — custom typed resolution captures that region 1:1; corner-drag resize scales output to match the frame size
Display menu
GreyMeshes: toggle — clay grey material, textures off. Combines with Wireframe and No Light
ColorMeshes: toggle ON by default — lit shaded materials with textures. Turn OFF for flat material color only (maps removed). Mutually exclusive with Grey. Combines with Wireframe and No Light
WireframeMeshes: toggle — dark neutral edge overlay. With Color (or Grey) on, shows the textured or grey surface plus dark wires. Wireframe alone (Color and Grey off) shows edges only
No LightMeshes: toggle — unlit shading; studio lights + env IBL off. Combines with Grey and Wireframe
GaussianSplats: default full 3D Gaussian rendering with view-dependent shading
Point CloudSplats: each splat as a screen-space dot — a Dot size bar appears under the top menu (0.25×–30×) for editing floaters
Flat ColorSplats: base albedo only (SH degree 0), no view-dependent highlights
2D SurfSplats: SurfSplatting-style flattened ellipsoids (mutually exclusive — pick one splat display mode)
Frame SelectedMove the camera to frame the selected object(s) — splat, mesh, node, or Group folder. Also F. In ortho, re-aims the current axis view at the selection
Show JointsToggle thin color-coded bone lines in the viewport (drawn over meshes)
Show LightsToggle light helpers (Outliner lights, glTF lights, studio key). Tint follows each light’s color with a deep contrast remap + solid core marker so helpers stay readable on both dark and light viewport plates (including white lights)
Show CamerasToggle render-camera frustum helpers in the viewport (from Animation Edit → Add Render Cam). On by default; helpers hide while looking through a camera (Numpad 0)
Camera NameIn Camera View (Numpad 0), show the active camera name at the bottom of the resolution frame. On by default
Windows menu
Tools WindowOpen or close the floating Tools window (Model Info + Scene Settings tabs). Drag the title bar to move, edges/corners to resize. Header ≡ three-step collapse; drag ⠿ on a section header to reorder cards. Opens by default when the editor starts
TimelineFloating animation window — Windows → Timeline or the top-bar Timeline button. Four tabs: Dope Sheet (key diamonds — drag to retime), Graph Editor (transform curves + lower Volume pane for audio level keys), Material (opacity / emissive / UV animation curves), and Tracks Editor (glTF clip strips + audio strips). See Timeline & animation below
3DGS Simplify ToolWorkbench to reduce splat count — see section below. Opens large under the top bar
Scene AnalyzeMetadata report — overview, HDR/environment lighting, meshes, materials, textures (size / VRAM), animations, splats. Refresh updates live stats
PerformanceLive FPS gauge, frame time, GPU load estimate, renderer stats (draw calls, triangles, …), scene splat/mesh counts, and JS heap when available. Drag title to move; edges/corners to resize (size remembered). Header ↓ minimizes to a compact HUD in the top bar (right of Fullscreen). Click the HUD expand icon or the top-bar Performance icon to restore the full window. HUD on/off preference is remembered
AR ExperienceFloating AR panel — Preview 3D on desktop (webcam composite) or Start AR on mobile (World Placement / Image Target tabs). Author Default / On start, gesture Actions (clip + movie + audio), and optional LINK BUTTON HUD links (up to 8). On mobile, Start AR / Export AR zip… pin to the bottom of the scrollable body. Export AR zip from here or File → Export AR zip…. See Web AR help tabs below
Help…This large centered help window (also F1) — drag title to move, edges/corners to resize; size is remembered
Guided tour…Step-by-step coach overlay for empty-start samples — Help → Guided tour… (mobile: choose Character animation or Video screen). Highlights targets with a dim mask; you can still click the UI underneath. Back / Next navigate; × ends the tour. Don’t show again on step 1 only. Video flow: VideoScreen_Rise → Tools Window (VideoScreen_geo, Transform Landscape/Portrait, UV Rotate 90°, movie material, Albedo video) → AR Experience → Start AR. Robo flow: robo_touchGesture → Windows → AR Experience → Preview 3D
Guided tour (coach overlay)
When it startsFirst visit to ?empty=1 (unless you checked Don’t show again on step 1). Restart anytime from Help → Guided tour…
Mobile shellPick Character animation (robo_touchGesture) or Video screen (VideoScreen_Rise) before the numbered steps
NavigationNext advances (and on action steps can perform the highlighted control). Back returns to the previous step; from step 1 on mobile, Back returns to the flow picker. Last step shows Done
Video screen tipsStep 5 explains Landscape vs Portrait (Rotation Z). Portrait videos can skip the UV step. Step 8 highlights the Albedo texture icon to assign your own video
AR panelOn mobile, Start AR and Export AR zip… stay visible at the bottom of the AR Experience panel while you scroll long Default / On-start lists
Timeline & animation
OpenWindows → Timeline, the top-bar Timeline button, or Edit Mode → Animation Edit. Drag the title bar to move; edges/corners to resize
PlaybackToolbar: Play / Pause (Space), step frames, jump to start/end, Frame / Start / End / FPS. Loop button cycles Loop → Once → Ping-Pong. Bottom scrub bar drags the playhead
Dope SheetKeyframe diamonds per track — click to select, drag horizontally to retime, marquee-select multiple keys. Layer column: expand Tran / Rot / Scale to show per-axis rows; eye toggles filter which channels draw. When a timeline audio clip is selected, the lower Volume row shows volume keys (same data as Graph). Insert (I or S) / delete keys. Interp (Auto Smooth / Linear / Constant / Ease) and Tangent (Auto / Free) apply to the selected key; All Keys applies to the whole track
Graph EditorUpper pane: channel curves for Tran / Rot / Scale — drag keys and Bezier handles. Same layer expand + per-axis visibility as Dope Sheet. Right-click a transform key → Edit Value (or double-click / mobile double-tap) to type frame + TRS numbers. Lower Volume pane: audio button places the selected Model Info clip on the timeline; click a clip in the Volume column list to select it. With a clip selected, insert volume keys (I / S / Insert Key), edit the curve and tangents, and use Edit Value for numeric level (0–2). Prev/next key and interp toolbar follow the volume track while that clip is selected. Deselect timeline audio (empty Tracks background) to key transforms again in the upper pane
Material (timeline)Timeline → Material tab — key Opacity, Emissive Int, and UV Off U / V / Rotate on the mesh tied to the active material in Model Info (select a material card first). Curves behave like Graph Editor; context menu Edit Value edits the scalar at that key. Material keys export in scene.json and play in the editor, AR Preview 3D, and exported AR zip (alongside Tracks / Default Action clips)
Tracks EditorTimeline → Tracks Editor tab — Anim and Audio sections. Drop glTF clips from Model Info onto a character’s Anim lanes; drop scene audio onto Audio lanes. Each clip gets its own stacked row (Maya-style layers). Overlapping clips on the timeline crossfade smoothly during playback (scrub or Play)
Active (per character)Checkbox on each character row in the Tracks layer column. On — Timeline / Tracks drives that mesh in the viewport (overlap blend, timeline Play). Off — Model Info → Animation drives the mesh (full clip list, Play / Pause / Stop, scrub). Timeline and Model Info sliders stay independent. Turning Active off restores panel playback for that character
Export AnimTimeline toolbar Export Anim — one dialog to export the selected character’s baked animation over the timeline Start–End range as GLB, glTF, or FBX (mesh TRS + morph; material keys stay in timeline sidecar for AR). Pick format in the dialog; target mesh comes from the current Tracks selection / layer (including grouped / non-skinned entries when selected)
Import animation…Model Info → Animation — append clips from another FBX/GLB/glTF onto the selected character (matched by name/hierarchy). Works on skinned rigs and on grouped / non-skinned mesh entries when the import maps to the same content root
Animation clipsWhen a mesh has clips (glTF / GLB / FBX), Model Info lists them under Animation — reorder, rename, Play / Pause / Stop, scrub. Use Import animation… to add more takes. Drag a clip row to Tracks Editor to place a strip. With character Active off, all clips remain playable from Model Info without Tracks
Retime clipsIn Tracks Editor, drag a strip horizontally to change its start frame. Trim edges or Ctrl/Cmd-drag edges to retime. Use timeline Start / End / FPS for the overall range. There is no separate Record button on Tracks — use timeline Play / scrub for preview
Scene audioAdd audio files in Model Info → Audio (play / loop / clear). Place clips on the timeline via Tracks Editor → Audio (drag-drop or audio button) or Graph Editor → Volume → audio. Select a strip in Tracks or the Graph Volume list, then key volume on the Dope / Graph volume pane. Trim and start frame stay in Tracks Editor. Waveform preview on each strip
Auto KeyWhen enabled, gizmo / Transform panel edits at the playhead automatically insert keyframes on keyed tracks
What can be keyedAny Outliner node except the Scene root — meshes, joints, groups, lights, splats, cameras. Custom camera resolution (W×H) is supported on render cameras
Mesh clips (simple)Model Info ▶ Play / Pause / Stop runs the selected clip (multi-clip FBX/glTF). When character Active is on, Tracks overlap blend drives the viewport instead. Timeline Play runs keyed tracks plus Active Tracks strips together
Saved in exportsTimeline data (transform keys, material keys, audio volume keys, Tracks Editor strips, audio library) is saved in Scene (zip) and included in AR / HTML exports as scene.json timeline + audio sidecar files
Performance monitor
OpenWindows → Performance, or the speedometer icon in the top bar (opens the full resizable window when closed)
Full windowSemicircle FPS gauge (60 FPS = full arc), frame-time bar, estimated GPU load, renderer table, and scene load (splats, gaussians, mesh verts/tris). Updates live while open
MinimizeHeader ↓ — saves window size/position and docks a pill HUD after the Fullscreen icon: FPS arc + label, frame ms, expand icon
RestoreHUD expand icon (four corners), top-bar Performance icon, or Windows → Performance — returns to the last full-window size and position
Top bar cycleSpeedometer: closed → full window → HUD → full window
3DGS Simplify Tool
OpenWindows → 3DGS Simplify Tool. Opaque workbench under the top bar; Original | Simplified previews stay side-by-side
Load OriginalDrop a splat on Original, click Browse…, or Import from the scene list when splats are loaded. File → Open / Import with the tool open also feeds Original
Formats.ply · .compressed.ply · .splat · .ksplat · .spz · .sog (same splat family as the editor)
SplitDrag the vertical divider between Original and Simplified to resize the previews
Suggest from TargetEnter a desired final splat count (or use Mobile AR / Half / Keep 75%). Suggest fills Ratio, Merge Cap, KNN, optional opacity/SOR, and SH so Simplify lands near that count. Mobile AR targets ~150K for smoother phone SLAM
RatioFraction of splats to keep after merging (higher = less reduction)
KNN NeighborsHow many nearby splats are considered when building the merge graph
Merge CapMaximum share of splats that may be removed by merging (safety limit)
Opacity PruneDrop splats dimmer than this opacity before merging (0 = off)
Target SH DegreeTruncate spherical harmonics — Keep preserves input; lower degrees shrink file size
SOR FilterStatistical outlier removal for floating isolated splats. Std Ratio 0 disables SOR; Neighbors sets local density sample size
SimplifyRuns opacity → SOR → kNN merge → SH. Uses the local Python API when available (`python run.py`); otherwise runs entirely in the browser (static web hosting / GitLab Pages). Progress shows in Parameters
ResultShows original vs simplified counts, splat/data reduction, and SH change
SSIM QualityCalculate SSIM compares Original vs Simplified from the same camera. View-dependent — recalculate after orbiting (note appears when the camera moves)
Replace in sceneSwap the imported scene splat with the simplified model (keeps pose / hierarchy). Enabled only when source was Import from scene
Place as newAdd the simplified splat to the scene (offset slightly when sourced from a scene splat)
ExportDownload the simplified model (PLY) to disk
Scene Settings
Color BackgroundSolid (Color A) or Gradient; Color B, tightness, and position are used only in Gradient
Image BackgroundSample photo presets (Warm Evening, Kitchen, Restaurant, Camping, …) plus upload jpg/png/webp or equirectangular HDR/EXR sky, then Cover / Contain / Stretch, Behind color, Scale / Pos / Blur / Rotate. Brightness (0.1–5×) and Exposure (−2…5 EV) adjust the plate look only — they do not change mesh IBL lighting. Background HDR is a sky plate only — it does not light meshes
Background RotateYaw for the photo plate or HDR sky — slider in Image Background (0–360°)
Background BlurSoft-focus blur on photo plates and HDR/EXR skies (0–40 px). Saved in Scene GLB and HTML export
Lighting — MeshStudio lights + HDR environment lighting for glTF / GLB meshes (separate from splat Relight). Apply Lighting writes mesh studio settings onto the default Outliner lights; custom Outliner lights disable this panel.
Apply LightingApply presets, Ambient, Soft Fill, Key, and Exposure to the default Outliner directional + ambient lights. HDR import/rotate and Reflections update live.
Add / Remove Default LightsToggle studio ambient, soft fill, and key. When off, HDR / env can still light meshes. Add also restores the studio room env if HDR lighting was removed
Environment MapImport equirectangular HDR / EXR for image-based lighting (PBR). Lights meshes even when studio lights are off
Env Map RotateYaw for HDR / environment IBL — slider under the Environment Map thumbnail (0–360°). Independent of Background Rotate
Remove HDR LightClear the environment map so it no longer lights meshes (studio / Outliner lights can still light them)
Exposure / ReflectionsMaster brightness and IBL strength for mesh lighting (Reflections = how strongly the HDR lights the mesh). HDR lighting exposure goes up to 10 EV. Image-background plate tone uses separate Brightness / Exposure sliders under Image Background (up to 5× / 5 EV).
Sliders / numbersMost controls accept type-in values (Enter or blur to apply), including FOV, color grade, and lighting
Post-Processing FiltersBloom (strength / radius / threshold), FXAA antialiasing, depth of field (auto focus on orbit target or manual focus distance, aperture, max blur), pixelation, and color grading — built-in looks plus Load LUT… (.cube) with intensity. Saved in the scene; applied in the editor viewport, Export as HTML zip, Export AR zip, and AR Preview 3D
Panel collapseHeader ≡ — (1) collapse all sections, (2) shrink to title bar only so the panel stays narrow at the side of the viewport, (3) restore. Same behavior as Model Info
Outliner (Model Info)
SelectClick a row — or click a splat / mesh / light helper in the viewport (meshes in front of a splat win the click). Empty space clears selection
VisibilityEye icon on each row — hide/show that node. Hidden lights stop lighting the scene; splat Group hide cascades to children
FilterMulti-select types to show: Meshes, Joints, Lights, Splats, Groups. Matching nodes still appear when a parent type is unchecked (children are promoted)
RenameDouble-click the name, or press F2
RegroupMiddle-drag a Group or node onto Scene or another Group
ResizeDrag the divider under the tree — details (anim, transforms) scroll underneath
Rotate animAdd rotate anim / Stop rotation on a mesh node, splat Group, or Group folder · Axis X/Y/Z/−X/−Y/−Z · Loop seconds — saved in Scene GLB and HTML export
Animation (mesh)glTF / GLB / FBX clips list under Model Info → Animation (multiple takes supported). Click a name to select; Play / Pause / Stop and scrub. Import animation… appends clips from another FBX/GLB/glTF onto the selected character. Clips stick through material edits and child deletes — remove only via clip Delete or deleting the asset. Optional: drag a clip to Timeline → Tracks Editor. Bind clip names to AR gesture Actions in the AR Experience panel
ShadowsSelected object (top) and Whole scene (bottom): Cast / Receive. Softness of the penumbra is set per light (Selected Light), not on the material
Selected LightModel Info section when an Outliner light is selected — Color, Power, Cast shadow, Softness (0–200; 0 = hard edge), Quality (Low–Ultra map resolution for smoother penumbra), Reset. Directional also has Azimuth / Elevation / Distance (aims at world origin). Collapse with the section header; drag ⠿ to reorder alongside Selection, Transform, etc.
Selected CameraModel Info section when a render camera is selected — FOV (degrees), same range as Scene Settings → Perspective Camera. Updates the frustum helper and Camera View when looking through that camera
Transform (Model Info)
Position / Rotation / ScaleEdit the selected splat, mesh, node, or Group folder — Local Position, Local Rotation, and Local Scale (parent-relative). Sliders + number boxes stay in sync with the gizmo. Undo with Ctrl+Z
Scale lockPadlock to the right of Scale — locked (blue) keeps X, Y, and Z proportional when editing one axis or dragging a single scale handle; unlock for independent axes
Reset TransformSet Position / Rotation / Scale back to identity (moves the object back). Also clears a custom pivot bake so identity is a true origin reset
Freeze TransformZero Position / Rotation / Scale without moving the object — bakes the current pose into the geometry / hierarchy. Same as Edit → Freeze Transform
Reset Pivot to WorldMove only the selected model's pivot to the world / grid center (0,0,0). Clears Position to 0; rotation and scale stay; the object stays put. Same as Edit → Reset Pivot to World
Material (Model Info)
MaterialsOne section in Model Info: material library cards, then Shader / Sides / properties below when a card is selected. Create new material, Select from viewport, and list view toggles sit above the grid. No mesh selection required to edit a library or draft material — Apply to selected geometry still needs a mesh. Physical shader: Refraction group (Transmission + Thickness + IOR — not Opacity; Dispersion for chromatic split; HDR/env required, enabled when Transmission > 0). Clearcoat & Specular and a collapsed Physical Advanced group (sheen, iridescence, anisotropy). New Physical drafts start with the glass preset.
ShaderStandard (PBR), Phong, Basic, Movie (video + audio), Shadow Catcher, or Occlusion — switching keeps compatible maps when possible
Import — Maya / BlenderOn glTF / GLB import, materials normalize to Standard (PBR). Maya aiStandardSurface and Blender Principled BSDF map base color, metalness, roughness, normal, emissive, and opacity. Clearcoat, transmission, and specular extensions are baked into roughness / opacity where Standard cannot represent them. Packed ORM maps: use Channel R/G/B on AO / Rough / Metal (Maya glTF: R=AO, G=Rough, B=Metal)
Import limitsSubsurface, true glass refraction, anisotropy, and separate clearcoat layers are not in Standard (PBR) — those channels are approximated or dropped. Re-export from Maya / Blender with metallic-roughness PBR for best match
MoviePlayback section above Textures (Play/Pause, Stop, Loop, Mute, scrubber). Texture slots accept image or video; sound follows the material’s audio slot (usually Albedo). Saved in Scene zip; HTML zip keeps videos as sidecar files next to the viewer
AudioModel Info section between UV Edit/Anim and Shadows — choose a scene audio file (play / loop / clear). Included in screen recordings with Movie material audio
SidesSingle-sided (front faces), Single-sided reverse (back faces), or Double-sided
TexturesEach slot: bold name · thumbnail to add/replace · UV1/UV2 · Tile on/off (repeat vs clamp) · × to clear. Data maps have Channel RGB/R/G/B. UV / Tile choices are saved in Scene GLB and HTML export
Standard slotsAlbedo (+ Color) · Normal (Intensity 0–5) · Bump (Scale) · Height (Scale / Bias) · Rough · Metal · Emit (Color + Power) · AO · Light · Alpha
Phong slotsAlbedo · Normal · Bump · Height · Spec map · Emit · AO · Light · Alpha — plus Specular color / Shininess below
Basic slotsAlbedo · AO · Light · Alpha
AO / LightIntensity sliders; default to UV2 when assigned — use the UV button to switch sets per slot
HeightVertex displacement — needs dense geometry to look smooth
AlphaOpacity mask; enables transparency when a map is assigned
OpacityOverall material opacity (below the texture blocks). Can be animated on the Timeline → Material tab
Shadow CatcherTransparent surface that only shows shadows from other meshes — including over 3D Gaussian splats in mixed scenes (shadows depth-test against splat geometry, not only flat compositing). Enable Cast shadow on casters; set Softness on the light. Controls: Shadow color and Opacity. Same behavior in the editor, Export as HTML zip, and AR Preview / exported AR zip
OcclusionInvisible depth mask — hides splats and meshes behind or inside it
Transparency Sorting (Model Info)
ScopeApplies to the whole scene, not just the selected mesh. Use it when overlapping transparent surfaces sort incorrectly.
Disable Depth WritingKeeps depth testing on, but turns depth writing off for transparent materials so later transparent surfaces are less likely to punch holes into each other. Good first fix for glass, decals, and layered alpha.
Use Alpha TestingTurns cutout-style transparency into a binary mask. Pixels above the threshold draw fully; pixels below it are discarded. Best for leaves, fences, labels, and hard-edged opacity maps.
Manual Render OrderBuilds a scene-wide list of likely transparent meshes and lets you set each object’s renderOrder manually. Higher values draw later, so they usually appear on top of lower values.
Enable Alpha HashingUses hash-based alpha coverage on supported materials instead of standard transparency blending. This can reduce sorting artifacts while keeping soft transparency, but it may introduce fine dithering or noise.
Per object render orderShown only in Manual Render Order mode. The list includes transparent-looking scene meshes and skips editor helpers such as occlusion and shadow-catcher helpers.
Help buttonThe ? button next to Mode jumps directly to this help section.

Tip: menus are File · Edit · Edit Mode · Display · Windows. Mesh formats include glTF / GLB / FBX (multi-clip; Tracks Editor with overlap blend, Material timeline, Export Anim). AR Experience: World / Image Target, gesture Actions, material timeline in Preview + AR zip, multi LINK BUTTON HUD — see Web AR tabs. Exports and Save Selection use Save file confirm before disk write; File → Save quick-overwrites Scene zip when allowed. Scene Settings → Post-Processing Filters export with HTML/AR. New in 1.4.0: physics (DYN_ / COL_, per-object settings, skinned colliders, hit triggers) and particles — see the Dynamic & Particle tab; Scene zip hand-off for developers — see the Engineer: Scene zip tab; audio exports as MP3. Splattic Public Beta 1.4.0 · 2026 · Changelog · Legal. For sharing: Export as HTML zip… or Export AR zip… (HTTPS host).