← jconra.com

Labs

Three.js experiments, each self-contained. They were written at different times against different versions of the library, so the version each one pins is listed with it.

World

Quarters Lab

Jacob's cabin on the station, where the cinematic opens. The chair swivels, the window glass lifts out, Earth turns past outside, and every prop can be switched off.

three 0.158interiorportfolio

Town Map

Draw the projects town from above, a metre a pixel: paint roads, grass and water, drag out the buildings in order, click the fence's corners. Download the picture and copy the JSON, and the town is built from them.

2Dtool

Terrain Lab

How games hide that a ground texture repeats, one technique at a time, with a split screen to compare: hex-tiling, large-scale variation and a far-away second scale. More to come: and now everything from the Tree Lab: the forest of meshes and imposters, stamps, mixing by the land, ground cover.

three 0.158shaderslearning

Foliage Lab

The forest's trees lit two ways side by side: each leaf card by its own facing, as now, or by how much sky it sees through the rest of the tree, so every branch tier gets a bright top and a dark underside. Worked out once per tree when it loads: no extra triangles; the far-off versions are baked from it.

three 0.158lightingtrees

Stone Lab

Paving for the town's roads: irregular stones that never repeat, one per scattered point, painted on the ground or built as real low 3D slabs in several shapes, four roads side by side with live triangle counts. The rock colour is all noise, no pictures.

three 0.158shadersprocedural

People Lab

The town's people, each dressed in colours of their own from one shared model: skin, hair and every group of clothes recoloured in the vertex shader. As made beside dressed, children, and the clips they walk, run, wave and work with. Characters by Quaternius (CC0).

three 0.158charactersshader

Grass Lab

Blades by the thousand with wind: cone, spike, flat, billboard or a curved bezier blade; colour gradient and variety; unlit against the ground. Came from RMRF.

three 0.160worldshader

Station Builder

Builds one station from separate Tripo parts: a tower on the axis, rings turning on a collar, arms on both, hangars on the tower's arms and satellites scattered outside. Every number is a slider, and Copy layout writes out the result.

three 0.158kitbashinstancingportfolio

Station Lab

A kilometre-scale space station whose outer ring spins for gravity, with hull lamps, bloom, depth of field, lens flare and film grain to tune. This page runs on WebGL1, the version that works everywhere.

three 0.158WebGL1post-processingportfolio

Raycast Map

An SVG map of the United States in 3D, with a raycaster picking out whichever region sits under the cursor.

three 0.156raycastingsvg

Tree

A procedurally grown tree — branches recursing down to leaf geometry. Leaf count, leaf size and age are live sliders, so it regrows as you drag.

three r99procedural

Characters and props

Model Lab

Every model on the site in one viewer, in sections: Jacob, the station kit, trees, the bugs, Shipwrecked and the 2019 site. Orbit it, play its animations, take it apart into parts.

three 0.158glTFlegacy JSON

Growth Lab

Where the ground plants and trees go, in 3D on a small made-up hillside with a stream and a pond: patches, clumps and loners, each kind's size, the tree families. Plain ground and stand-in trees, drawn only when something changes; its settings paste straight into the Terrain Lab.

three 0.158light

Plant Lab

Choosing the 16 ground plants: a 4 × 4 of cells, 36 candidates from Jacob's Tripo sheets, each cleaned up in Blender at 300, 600 or 900 triangles, with the running total. Copy the picks when done.

three 0.158glTFBlender

Rig Lab

Pose any rigged glTF in the browser, measure what each bone actually drives once skinning is applied, and search for the pose that reaches furthest. Drop your own .glb in.

three 0.158skinned glTFtool

Effects and materials

Fire Lab

Volumetric fire on a shader: the flame profile, the noise that churns it, lean and colour, tuned live. Came from RMRF, where the wrecks burn with it.

three 0.160effectshader

Shield Lab

The force-field bubble: hex grid, rim glow, flashing cells, rings where it is hit, blue to red as it drains. The town's fence and RMRF's vehicle shields share it.

three 0.160effectshader

Texture Lab

Procedural materials from noise: colour, roughness and normal maps drawn on canvases and compared on a sphere.

three 0.160materialtool

Noise Gallery

The noises the textures are built from, side by side: value, simplex, cellular, ridged, and the ways they stack.

2Dreference

Bump vs Normal

The same surface as a bump map and as a normal map, under a moving light, to see what each buys.

three 0.160materialreference

Other apps

Sound Lab

The modular synth behind RMRF's sound. Patch oscillators, filters, noise, envelopes and LFOs together with cables in a 3D node editor, fire the patch to hear it, and export it to the game. No samples: every engine and gunshot is synthesised live.

three 0.160web audiormrf tool

Asset Designer

Builds the buildings and props that go onto RMRF maps. Shape them from primitives, set materials and damage behaviour, and measure each one's footprint on the map grid before it is written into the game's asset manifest.

rmrf toolmodellingrmrfbase.com