Blur that grows with distance from a focus plane, the way a fast lens does. It is the effect that separates an avatar from a busy set of props behind it
| Control | Range | Default | Effect |
|---|---|---|---|
| Bokeh Scale | 0 – 8 | 2 | How large the out-of-focus circles grow |
| Focus Range | 0.1 – 10 m | 2 m | World metres of acceptably sharp depth around the plane |
Focus Follows the Camera
There is no focus-distance slider. The focus plane sits on the camera's orbit target — the point you framed — so whatever you pointed the camera at is what stays sharp, and it keeps up as you orbit or dolly
Reset Camera therefore also resets what is in focus. If the wrong thing is sharp, move the camera target rather than hunting for a number
The Built-In Depth-Aware Stage
Depth of field runs first in the chain, because it is the only built-in effect that reads the scene's depth buffer rather than just its colours. Custom effects can read the same depth through ctx.viewZ()
That has a consequence on the WebGPU Live2D engine: a Live2D layer is flat art and contributes no depth, so it composites in after this stage and is never blurred. Every colour effect downstream still reaches it
Focus Range is measured in world metres, so it scales with the avatar. A shrunk VRM needs a much narrower range before the blur reads at all
Last updated on September 3, 2026