Model 3D

Load 3D model files: OBJ, GLTF, FBX, STL, or PLY.

What it does

Model 3D loads a 3D model file from disk (OBJ, glTF/GLB, FBX, STL, or PLY) as geometry that transforms, shades and renders like any other shape. Point-cloud files, a PLY without faces, come in as points instead, each carrying its own colour, and the node reports which kind it loaded.

It also reports mesh and vertex/triangle counts, mesh names and bounding-box size, and pulls out the first albedo texture as an image for reuse in a 2D compositing chain.

When to use it

ParameterTypeDefaultWhat it does
file_pathString"String::new()"Path to 3D model file
positionVec3(0, 0, 0)Translation offset
rotationVec3(0, 0, 0)Rotation in degrees (Euler XYZ)
scaleNumber1Uniform scale factor
up_axisString"Auto"Source coordinate system (Auto detects from file metadata). One of: Auto, Y-Up, Z-Up.
unit_scaleString"Auto"Source file unit scale. One of: Auto, Millimeters, Centimeters, Meters, Inches.
recompute_normalsBooleantrueRecalculate vertex normals (smooth shading)
flip_facesBooleanfalseFlip winding order (fixes inside-out meshes)
weld_verticesBooleantrueMerge duplicate vertices within epsilon distance
weld_epsilonNumber0.000Distance threshold for vertex welding
preserve_hierarchyBooleanfalseKeep the file's object tree: the Hierarchy output lists every scene node with its name and transform, and each imported point records which node placed it. Off bakes the transforms into the geometry. Selecting an animation Clip turns this on regardless — a transform can only be animated while it is still data.
clipString""Animation clip to play, by name — the Clip Names output lists what the file carries. Empty imports the file's rest pose and nothing animates.
time_modeString"Scene Time"Scene Time plays the clip against the timeline. Manual drives it from the Time input, so Time / Time Remap / a keyframed curve can retime it. One of: Scene Time, Manual.
timeNumber0Playback position within the clip, in seconds. Only used when Time Mode is Manual.
loop_modeString"Loop"What happens outside the clip's own length: Loop repeats it, Hold freezes on the first/last pose, Ping-Pong alternates forward and backward. One of: Loop, Hold, Ping-Pong.
mesh_selectionString"All"Which meshes to load from multi-mesh files. One of: All, By Name, By Index.
mesh_nameString""Mesh name filter (* at start/end for wildcard). Only used when selection = By Name
mesh_indexNumber0Mesh index (0-based). Only used when selection = By Index
point_sizeNumber2Point size in pixels for point cloud rendering
point_shapeString"Disc"Point rendering shape. One of: Disc, Square, Sphere.
max_pointsNumber0Maximum points to load (0 = unlimited)
subsampleNumber1Random subsampling ratio (1.0 = all, 0.1 = 10%)
opacityNumber1Layer opacity (0 = transparent, 1 = opaque). Editable, wirable, keyframable.

Gotchas

Weld Vertices merges duplicate vertices within Weld Epsilon of each other. Turn it off if a model relies on genuinely separate coincident vertices, such as hard edges and UV seams, which welding can smooth away.

Worked example

  1. Add a Model 3D node and pick your file (OBJ, glTF/GLB, FBX, STL, or PLY).

  2. Leave Up Axis and Unit Scale on Auto first; override them only if the model comes in rotated or at the wrong scale.

  3. If the file has more than one mesh, set Mesh Selection to By Name or By Index and pick the one you want.

  4. Check the Bounds and Vertex/Triangle Count outputs to confirm what loaded, then wire Geometry onward into the rest of your scene.

See also

Gaussian Splat · Camera Input · Geometry (meshes)