Nodes · 3D
SplatRead
3Dv1app
Overview
A captured location as millions of soft elliptical blobs, with parallax and view-dependent colour, depth-composited against cards and geometry.
How to
- Point
fileat the.ply/.splat/.spz. - Set
color_spaceto what the trainer baked. - Lower
budgetuntil the viewport is comfortable; the HUD says what was dropped. - Clean the capture with
floater_removalandopacity_floor.
Inputs
| Input | What it takes |
|---|---|
| in | the image this node works on |
Outputs
| Output | Type |
|---|---|
| out | Scene |
Parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
| tx | Float | 0.0 | Translate X — position along the world X axis, metres. |
| ty | Float | 0.0 | Translate Y — position along the world Y axis (up), metres. |
| tz | Float | 0.0 | Translate Z — position along the world Z axis, metres. The camera looks down −Z. |
| rx | Float | 0.0 | Rotate around X, degrees. |
| ry | Float | 0.0 | Rotate around Y (turntable), degrees. |
| rz | Float | 0.0 | Rotate around Z (roll), degrees. |
| sx | Float | 1.0 | Scale along X. 1 = unchanged. |
| sy | Float | 1.0 | Scale along Y. |
| sz | Float | 1.0 | Scale along Z. |
| file | Text | The file on disk — use #### for frame numbers in a sequence. | |
| color_space | Choice | srgb | How the file's colours are stored: srgb (most trainers) is linearised on load, linear is taken as is. Wrong and the whole capture is a stop off. srgblinear |
| orientation | Choice | y-down (3DGS) | Which way the capture's up points: y-down (3DGS) is what the reference trainers write, y-up and z-up for captures already re-oriented. y-upy-down (3DGS)z-up |
| cluster_tolerance | Float | 0.0 | Group splats into clusters within this distance (world units) for the cluster cryptomatte — 0 leaves every splat its own id. |
| budget | Int | 600000 | How many splats to keep on screen. Past it the smallest are dropped and the HUD says the fraction. |
| relight | Choice | off | off grades the capture only (exposure and ambient); lights runs the dynamic Light3D loop per splat — the capture takes the scene's lights. offlights |
| exposure | Float | 0.0 | Brightness in photographic stops: +1 doubles the light. |
| ambient | Float | 1.0 | How much of the capture's own baked light stays: 1 as shot, 0 dims it fully so the added lights do all of it. |
| light_gain | Float | 1.0 | A gain on what the scene's lights add under relight = lights. |
| floater_removal | Float | 0.0 | Remove floaters — stray splats far from any neighbour — with this strength: 0 keeps all, 1 removes aggressively. Verified dropping 83k debris on a real capture. |
| opacity_floor | Float | 0.0 | Drop splats more transparent than this. A small value cleans the haze a trainer leaves around a subject. |
| disabled | Bool | false | Bypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back. |
| label | Text | A note shown under the node in the graph — what this node is FOR. Never affects the render or the cache. | |
| hide_input | Bool | false | Draw the node without its input wire — a tidy graph for a node whose source is obvious (a Dot, a viewer tap). |
Known edges
Loading is off-thread: the box draws dim while streaming. Async depth sorting is on in the viewport and off in renders, so an AOV render stays byte-deterministic.
See also
- The 3D system — How to put geometry, cameras and volumes in the comp — without becoming a 3D application.
- Gaussian splats — How to bring a captured location into the comp — and relight it.