Cameras
The viewpoint a 3D scene is seen from. Frame the shot, then render through it.
Every 3D scene is seen from a camera. The free viewport camera is what you navigate by default. A Camera node stores a specific shot that can be named, saved, animated and rendered from. The Camera node sets where you look from; the Render node turns that view into pixels.
The viewport camera and a Camera node
Orbit, pan and dolly with the mouse to find an angle. Nothing is committed.
Add a Camera node (Viewport Camera) to keep a framing, animate a move, or render a specific shot. The node carries a position, a direction and a lens.
It also has a second output, texture: the scene rendered from that camera's point of view, at capture_width by capture_height (512×512 by default). Wire it downstream for a security-monitor feed, a picture-in-picture, or a texture on a surface, without looking through the camera in the viewport.
Looking through a camera
The viewport's camera list holds Viewport Camera plus every Camera node in the scene. Pick one and the viewport renders exactly what that camera sees. One camera is active at a time, and it drives the main view.
While you are looking through a camera, orbiting, panning, dollying and scroll-zooming all drive that node. The moves are written back onto it, so a framing set by eye sticks.
If the camera is parented to another camera in a rig, navigation still moves the original camera at the start of the chain, and the rig re-derives the rest.
The camera being looked through also drives gizmos, overlays and picking, so handles line up with the rendered view.
Orthographic and perspective
The viewport has two projection modes.
Perspective. Distant things shrink. The mode for most 3D shots.
Orthographic. Parallel projection with no perspective falloff, for technical and front-on framing and precise alignment.
The viewport toolbar carries the toggle. Framing is matched across the switch rather than jumping: orientation is kept, and the distance and the orthographic height are derived from each other through the field of view. Orbiting still works in orthographic mode: hold Alt and drag.
Screen-space ambient occlusion is the one effect that assumes a perspective view, and it is skipped in orthographic mode. Ray-traced ambient occlusion, which is what runs by default, is not affected.
Aiming modes
The Camera node has three.
Free. Position the camera and rotate it directly.
Target. The camera always aims at a target point you set, which suits orbiting a subject.
FPS. A first-person walk-around: WASD to move at
fps_speedworld units per second, mouse to look. PressEscto release the mouse and stop looking through it.
The lens
A perspective camera carries a real lens, set by focal_length in millimetres on a 36mm full-frame equivalent, 28 by default. Down for a wide angle, up for telephoto compression. Orthographic cameras ignore focal length and frame with ortho_height in world units instead. near_clip and far_clip bound what is drawn, at 0.1 and 1000 units.
lens_model decides how straight lines behave. Rectilinear is the normal lens, and straight edges in the scene stay straight. The four fisheye models open up to ultra-wide fields of view with the characteristic bulge: Equidistant Fisheye, Equisolid Fisheye, Stereographic Fisheye and Orthographic Fisheye. Each spaces the bulge differently, so you can match a real fisheye or an abstract one.
Choosing a fisheye changes what the camera is, rather than stacking a distortion effect over the render afterwards. Picking and gizmos follow the fisheye view, so handles land where the geometry appears even under a wide, curved frame.
Curved and non-linear projection
Under Lens Effects, the whole scene warps through the lens as you look through it, rather than as a flat post-process pasted over the render.
curvatureruns from -1 to 1. Negative for a hyperbolic look, where space expands into the distance. Positive for a spherical one, where space wraps and far-off objects swell. Zero is ordinary straight-line perspective.perspective_inversionslides from normal perspective (0) toward reverse perspective (1), where distant objects appear larger than near ones. The midpoint reads almost orthographic.
Two authored curves replace the sliders where you need more control. magnification_curve plots how much an object grows or shrinks with distance: X is near-to-far depth, Y is the size multiplier, and 1 is normal. It drives a depth-dependent lens that still respects what is in front of what, and it takes over from perspective_inversion when present. lens_radial_curve plots a field-angle-to-image-radius profile for a completely custom lens, the free-form cousin of the fisheye models.
Editing either curve updates the view live. There is no rebuild or bake between tweak and result.
Every kind of geometry follows the curved lens. Paths, fills, meshes, extruded and revolved shapes, Distance fields & volumes and Gaussian splats all bend together, so a curved camera reads as one coherent world. Shadows and reflections still travel in straight lines.
lens_model, curvature, perspective_inversion and the two lens curves apply to perspective cameras. An orthographic camera has no vanishing point to bend, so all five are hidden while it is selected.
For exact parameters:
| Parameter | Type | Default | What it does |
|---|---|---|---|
mode | String | "Free" | Free: orbit/look freely (rotation drives aim). Target: lock the look-at onto a target point. FPS: WASD + mouse-look. One of: Free, Target, FPS. |
position | Vec3 | (0, 0, 5) | Camera position in 3D space |
rotation | Vec3 | (0, 0, 0) | Orientation (pitch X, yaw Y, roll Z) in degrees |
target | Vec3 | (0, 0, 0) | Look-at target position |
projection | String | "Perspective" | Perspective: 3D depth. Orthographic: flat/2D, no depth foreshortening. One of: Perspective, Orthographic. |
focal_length | Number | 28 | Focal length in mm (36mm full-frame equivalent). Lower = wider angle, higher = more telephoto. |
lens_model | String | "Rectilinear" | Lens projection model. Rectilinear keeps straight lines straight. Fisheye models allow ultra-wide FOV with characteristic distortion. One of: Rectilinear, Equidistant Fisheye, Equisolid Fisheye, Stereographic Fisheye, Orthographic Fisheye. |
curvature | Number | 0 | Space curvature. Negative: hyperbolic (space expands at distance). Positive: spherical (space wraps, distant objects enlarged). |
perspective_inversion | Number | 0 | 0: normal perspective. 0.5: orthographic-like. 1: reverse perspective (far objects appear larger). |
magnification_curve | Curve | 2D Curve | Depth→scale curve. X: normalized depth (near→far). Y: scale multiplier (1 = normal, >1 far-bigger, <1 far-smaller). Leave unauthored for normal perspective. |
lens_radial_curve | Curve | 2D Curve | Custom radial lens curve (X: normalized field angle, Y: normalized image radius). Bends rays through your own lens — real-time. |
ortho_height | Number | 10 | Viewport height in world units |
near_clip | Number | 0.100 | Near clipping plane distance |
far_clip | Number | 1000 | Far clipping plane distance |
fps_speed | Number | 5 | Movement speed in world units per second |
capture_width | Number | 512 | Capture texture width in pixels |
capture_height | Number | 512 | Capture texture height in pixels |