Gaitkit Open the lab
Cavalier, A walking 17th-century swashbuckler about 1.75 m tall: broad felt hat pinned up on one side with a sweeping plume, falling lace collar, doublet with a baldric, short cape, breeches, wide-topped bucket boots and a cup-hilted rapier held upright. Generic, no insignia or crosses. Style, colours, plume and cape are knobs; pairs with the Castle kit.
Character · Walks on 2 legs

Cavalier

A walking 17th-century swashbuckler about 1.75 m tall: broad felt hat pinned up on one side with a sweeping plume, falling lace collar, doublet with a baldric, short cape, breeches, wide-topped bucket boots and a cup-hilted rapier held upright. Generic, no insignia or crosses. Style, colours, plume and cape are knobs; pairs with the Castle kit.

Size
0.77 × 1.9 × 1.2 m
Triangles
2,872
Open in the lab Walk clip inside. The download carries the knobs you set here.

Tune it

4 knobs: Style, Colour, Plume, Cape.

Specs

Size
0.77 × 1.9 × 1.2 m
width × height × depth
Triangles
2,872
of 6,000
Draw calls
1
one vertex-colour material
Legs
2
2 gait groups
Stride
44 cm
duty factor 0.6
Foot slide
0.00 mm
limit 1 mm
Walk clip
1.095 m/s
at playback speed 1
Moving parts
5
upperarm_L · rotate, forearm_L · rotate, spine · rotate, chest · rotate, neck · rotate
Knobs
4
3 presets
Night lights
0
none

Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic, planted feet never slide past 1 mm.

Use it

Code for the specimen as it is set up above; it follows your knobs.

JavaScript
import { createAsset } from 'https://gaitkit.com/cdn/cavalier.mjs';
import { walker } from 'https://gaitkit.com/runtime/walk.mjs';

const cavalier = createAsset();
scene.add(cavalier);                      // rests on y = 0, front faces +Z
const gait = walker(cavalier, { ground: (x, z) => terrainHeight(x, z) });   // or omit ground for a flat floor

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  cavalier.position.z = dist;
  gait.poseAt(dist);                  // feet stay planted, at any frame rate
  renderer.render(scene, camera);
});

More in the docs; agents can fetch all of this through MCP.

Knobs

KnobTypeValuesDefaultWhat it does
stylechoicestylized realistic chibi blockystylizedArt style of the whole figure: stylized (5.5 heads, chunky adventure-game look), realistic (about 7 heads, adult proportions), chibi (big head, 1.1 m) or blocky (voxel boxes).
colourchoiceazure crimson black forestazureDoublet and cape colours: azure (blue doublet, navy cape), crimson (red doublet, wine cape), black (all black, silver trim) or forest (green doublet, brown cape).
plumechoicewhite red gold bluewhiteColour of the big feather sweeping back from the hat: white, red, gold or blue.
capetoggleon / offtrueA short cape from the shoulders to the backs of the knees.

Presets: royal guard {"colour":"azure","plume":"white"} · black duelist {"colour":"black","plume":"red","style":"realistic"} · little swashbuckler {"colour":"crimson","plume":"gold","style":"chibi","cape":false}

Files

FileWhat
cavalier.glbGLB, default look · 310 KB
cavalier.mjsES module, every knob live
cavalier.objOBJ, static, no colour
cavalier-params.jsonknob schema, presets, night zones

Licence

Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.