Frank Lin 3D generalist and content creator
Animated short · solo project, in progress

Backrooms

Endless yellow office rooms, built with Geometry Nodes and lit to feel uneasy.

Backrooms teaser: yellow office rooms with buzzing ceiling lights, fallen chairs, a stop sign and a dark figure

Teaser frame. Animation in progress.

The project

An animated short set in the Backrooms: endless empty office rooms with yellow wallpaper and buzzing lights. The goal is a quiet, uneasy mood, like old found footage.

My role

  • Built the rooms with Geometry Nodes, so I can change the size and layout with a few numbers and a seed
  • Lit the scene with the ceiling panels, and built a shader that controls which panels turn on, when and where
  • Composited the look in Blender: color, dithering, vignette, streaks, bloom and film grain
Type
Animated short, in progress
Team
Solo project
Software
Blender, Geometry Nodes, Compositor
Focus
Procedural environment, lighting, compositing
Year
2026

From clay to final

Backrooms scene in gray clay: walls, fallen chairs, a stop sign and a figure

1. Clay

Layout and shapes

The rooms and props in plain clay, before materials and light.

Backrooms scene with materials and flat light

2. Materials

Before lighting and compositing

Yellow wallpaper, carpet and ceiling tiles, lit flat.

Backrooms teaser frame with buzzing ceiling lights, deep shadows and a dark figure

3. Final teaser frame

Lit and composited

Some ceiling lights off, hard shadows and a sick yellow green grade.

Procedural rooms

Wireframe top view of the generated maze of rooms and walls

Generated layout

Geometry Nodes output

The whole floor plan comes from the node setup. A new seed gives a new maze of rooms.

Inside the generated rooms in the Blender viewport: yellow wallpaper, a ceiling light and dark doorways

Inside the rooms

Blender viewport

Doorways cut into the walls lead into dark rooms, which keeps the space feeling endless.

Blender Geometry Nodes graph with groups for the outer shell, the walls, subtracting walls and wall cutouts

Geometry Nodes

Procedural rooms

One node setup builds the rooms: an outer shell with floor and ceiling materials, walls from a grid, walls removed with noise and wave textures, and cutouts scattered and booleaned in. Width, depth, height and a seed change the layout, and stored attributes control which ceiling lights are on.

Controlling the lights

Blender shader nodes for the ceiling tiles: a Brick Texture grid, White Noise from a LightSeed attribute and a Less Than node feed the emission

Ceiling light control

Shader nodes

The ceiling material splits the tiles into a grid with a Brick Texture. White Noise driven by the LightSeed attribute and a Less Than threshold decide which panels glow, and the LightOn attribute from Geometry Nodes sets how many are on. I can choose when and where the lights turn on.

Compositing

Blender compositor nodes: Tune Image, Dithering, Vignette, Streaks, Bloom and Film Grain

Compositing

Blender compositor

Tune Image boosts the color, then Bayer dithering, a vignette, light streaks, bloom and Super 35mm film grain give the old camera look.

More work: 3D & Animation, VFX, Lighting, Film & Content