Skip to content

Search

Documentation

camera3d

The camera the scene is drawn from. look_at aims it, the lens rows say how it projects and what it draws, the control rows say how a mouse orbits, pans…

On this page

3d · render · 61 properties · 3D

The camera the scene is drawn from. look_at aims it, the lens rows say how it projects and what it draws, the control rows say how a mouse orbits, pans and zooms it, and the last current camera wins.

In a scene, camera3d is the node key that applies it. A script reaches each property below as a field on node.camera3d: reading one asks the running component, and assigning one leaves the rest alone. The whole table is node.camera3d.get() and node.camera3d.set(table).

Properties

property type default description
aberration_amount float 0.004 How far aberration slides red from blue at the frame's edge, as a fraction of it At least 0.
bloom_intensity float 0.6 How much of the bloom is added back over the frame At least 0.
bloom_knee float 0.5 Width of the soft band around bloom_threshold a pixel starts to bloom in; 0 is a hard cut At least 0.
bloom_mips int 5 Levels in the bloom chain, each half the size of the last; more spreads the glow wider Range 1–12.
bloom_threshold float 1 Brightness a pixel has to pass to bloom At least 0.
crt_aberration float 0.004 How far crt splits the colours at the frame's edge, as a fraction of it At least 0.
crt_curvature float 0.12 How far the crt pass bends the frame like a tube's glass; 0 is flat At least 0.
crt_scanline_count float 480 How many scanlines crt draws down the frame At least 1.
crt_scanline_intensity float 0.25 How dark the crt pass draws its scanlines; 0 draws none Range 0–1.
crt_vignette float 0.35 How dark crt draws the corners Range 0–1.
current bool true Whether this camera drives the view; the last current one wins
dof_aperture_f_stops float 0.125 The lens aperture in f-stops; smaller blurs more At least 0.001.
dof_focus_distance float 10 Distance from the camera to the plane that stays sharp, in world units At least 0.
dof_max_blur_pixels float 64 The widest a blur circle grows, in pixels At least 0.
dof_max_depth float 1000000 Anything farther is blurred as if it were at this distance, in world units At least 0.
dof_mode enum bokeh How the dof pass blurs: a uniform disc with sharp highlights, or a soft gaussian falloff One of bokeh, gaussian.
dof_sensor_height float 0.01866 Sensor height in world units; with the field of view it fixes the focal length At least 0.000001.
dof_taps int 48 Samples the blur gathers per pixel; more is smoother and costs more At least 1.
edges_threshold float 4 How sharp a change in depth the edges pass outlines; lower outlines more At least 0.
eye_separation float 0 Above zero, a stereo pair this far apart in world units: one eye in each half of the frame, both converging on the point looked at. A stereo camera ignores projection and keeps +y up At least 0.
far float 1000 The farthest distance drawn, in world units At least 0.000001.
fov_degrees float 45 The vertical field of view; in orthographic, how much of the distance to the point looked at the frame covers Range 1–179.
fxaa_edge_threshold float 0.125 The fxaa pass smooths an edge whose contrast passes this fraction of the brightest pixel near it At least 0.
fxaa_edge_threshold_min float 0.0312 Contrast below this is left alone by fxaa, so dark noise is not smoothed At least 0.
gi_cascade_count int 5 Levels of radiance cascades; more reach farther light Range 1–8.
gi_cascade_directions int 16 Directions the first cascade gathers from, rounded to a square of a power of two; more sharpens shadow edges At least 4.
gi_downscale int 2 How many times smaller than the frame the gi light field is; larger is faster and softer At least 1.
gi_max_distance float 2000 The farthest a gi ray marches, in world units At least 0.
gi_max_steps int 32 Steps a gi ray takes before it gives up At least 1.
gi_probe_spacing int 2 Field pixels between the first cascade's probes, rounded up to a power of two; finer resolves sharper light Range 1–16.
gi_rays int 8 Rays the gi pass casts per pixel each frame; the temporal blend adds up the frames At least 1.
gi_screen_occluders bool false Bake the occluders into a distance field each frame, so their count costs nothing; an occluder off screen then casts no shadow
gi_solver enum ray_march A ray march per pixel, or radiance cascades: probe grids that gather farther light for less One of ray_march, cascades.
gi_temporal_blend float 0.85 How much of last frame's gi light is kept; higher is smoother and trails behind motion. The cascade solver ignores it Range 0–0.99.
grain_amount float 0.06 How much the grain pass lightens and darkens a pixel At least 0.
look_at vec3 [0,0,0] World point the camera looks at
loupe_border_color color [1,0.9,0.2,1] The colour of the loupe's frame and of the outline round what it magnifies; alpha is ignored
loupe_corner enum bottom_right The corner the loupe draws its inset in One of top_left, top_right, bottom_left, bottom_right.
loupe_focus vec2 [0.5,0.5] The point the loupe magnifies, [0, 0] at the frame's top-left and [1, 1] at its bottom-right
loupe_size float 0.4 The inset's side, as a fraction of the frame's shorter side Range 0.01–1.
loupe_zoom float 8 How many times the loupe pass magnifies At least 1.
near float 0.1 The nearest distance drawn, in world units At least 0.000001.
orthographic_height float 0 The orthographic frame's full height in world units; zero sizes it from the distance to the point looked at and fov_degrees At least 0.
pixelate_size float 4 The side of one block the pixelate pass reads the frame back in, in pixels At least 1.
post list [] The frame's passes, in order. bloom, ssao, ssr, dof, fxaa, sharpen, tonemap, vignette, aberration, grain, pixelate, crt, grayscale, waves, loupe, stereo, edges, gi name the engine's own -- ssao, ssr and dof are 3D only, gi is 2D only and lights the frame in place of the light2d light map, and where those and bloom run is fixed by the pipeline. Any other name is a material asset drawn over the whole frame. The rest run in the order given. tonemap is where the film becomes a picture: a pass before it works in linear light and is what blooms, one after it works on the finished frame, and a list that does not name it has it at the head
projection enum perspective Perspective, or parallel lines that stay parallel One of perspective, orthographic.
render_layers int -1 Layer bitmask: this camera draws a node whose render_layers share a bit with it. -1 is every layer
sharpen_amount float 0.5 How hard the sharpen pass sharpens Range 0–1.
ssao_bias float 0.025 How far in front of a surface a sample must be to occlude it. Too small and a glancing surface occludes itself into black At least 0.
ssao_intensity float 1.2 How strongly the ssao pass darkens At least 0.
ssao_power float 1.5 The contrast the occlusion is raised to At least 0.001.
ssao_radius float 0.5 How far the ssao pass looks for something occluding a point, in world units. Scale it with the scene At least 0.001.
ssr_edge_fade float 0.12 Width of the band at the frame's edge reflections fade over, as a fraction of the frame At least 0.
ssr_intensity float 1 Multiplier on every screen-space reflection At least 0.
ssr_max_distance float 60 The longest a reflection ray travels, in view-space units At least 0.
ssr_max_steps int 48 Steps the ssr pass marches a reflection ray before it gives up At least 1.
ssr_roughness_cutoff float 0.6 Surfaces rougher than this reflect nothing on screen, and fade out approaching it Range 0–1.
ssr_thickness float 0.5 How far behind a surface, in view-space units, the ray still counts as hitting it At least 0.
up vec3 [0,1,0] The direction the camera keeps up
vignette_amount float 0.35 How dark the corners go under the vignette pass Range 0–1.
vignette_roundness float 1 1 darkens in a circle whatever shape the frame is; 0 follows the frame Range 0–1.