Skip to content

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

  1. Point file at the .ply / .splat / .spz.
  2. Set color_space to what the trainer baked.
  3. Lower budget until the viewport is comfortable; the HUD says what was dropped.
  4. Clean the capture with floater_removal and opacity_floor.

Inputs

InputWhat it takes
inthe image this node works on

Outputs

OutputType
outScene

Parameters

ParameterTypeDefaultWhat it does
txFloat0.0Translate X — position along the world X axis, metres.
tyFloat0.0Translate Y — position along the world Y axis (up), metres.
tzFloat0.0Translate Z — position along the world Z axis, metres. The camera looks down −Z.
rxFloat0.0Rotate around X, degrees.
ryFloat0.0Rotate around Y (turntable), degrees.
rzFloat0.0Rotate around Z (roll), degrees.
sxFloat1.0Scale along X. 1 = unchanged.
syFloat1.0Scale along Y.
szFloat1.0Scale along Z.
fileTextThe file on disk — use #### for frame numbers in a sequence.
color_spaceChoicesrgbHow 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
orientationChoicey-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_toleranceFloat0.0Group splats into clusters within this distance (world units) for the cluster cryptomatte — 0 leaves every splat its own id.
budgetInt600000How many splats to keep on screen. Past it the smallest are dropped and the HUD says the fraction.
relightChoiceoffoff grades the capture only (exposure and ambient); lights runs the dynamic Light3D loop per splat — the capture takes the scene's lights. offlights
exposureFloat0.0Brightness in photographic stops: +1 doubles the light.
ambientFloat1.0How 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_gainFloat1.0A gain on what the scene's lights add under relight = lights.
floater_removalFloat0.0Remove 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_floorFloat0.0Drop splats more transparent than this. A small value cleans the haze a trainer leaves around a subject.
disabledBoolfalseBypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back.
labelTextA note shown under the node in the graph — what this node is FOR. Never affects the render or the cache.
hide_inputBoolfalseDraw 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.