Scene Pick
Pick and query 3D scene objects at a screen position.
What it does
Scene Pick places a draggable crosshair on the viewport and reports what the renderer holds at that pixel: rendered colour, the world-space position and surface normal of whatever sits under it, camera-space depth, texture coordinate, and whether the pick hit geometry or empty background.
Drag the crosshair, or drive U and V numerically, and every output updates as the scene renders. The values are the render pipeline's own results, not a separate calculation.
When to use it
Reading the world position or surface normal under a specific point on screen, for placing an object there or checking a shading result.
Testing whether a screen point hit geometry or missed into the background.
Sampling rendered colour or depth at a point without exporting an image.
A movable inspection point during render debugging, instead of a full pick/raycast setup.
| Parameter | Type | Default |
|---|---|---|
u | Number | 0.500 |
v | Number | 0.500 |
label | String | "" |
color | Color | rgba(0.20, 0.80, 1.00, 1.00) |
Gotchas
U and V are normalised screen coordinates, 0 at left and top, 1 at right and bottom, not pixels. The crosshair position is resolution-independent.
Did Hit reads 1.0 on geometry and 0.0 on empty background. It is a flag, not a percentage.
Label and Color affect only how the crosshair is drawn in the viewport. Neither feeds the data outputs.
The values come from the render pipeline's own readback, so they update only while the scene is actively rendering. With the viewport not cooking, the outputs can lag behind a moved crosshair.
Worked example
Add a Scene Pick and drag its crosshair over the point to inspect.
Read Position and Normal off the outputs for where that point sits in world space and which way it faces.
Wire Did Hit into an Expression or condition to branch on whether the point landed on geometry or background.
Nudge U and V numerically for pixel-precise repositioning instead of dragging.