Gaitkit Open the lab
Bounty Hunter, A walking space-western bounty hunter about 1.75 m tall: a worn chest plate, bracers and knee guards over travel clothes, a bandolier and holster, a blaster pistol with a glowing cell, and either a striped poncho (arms down, gun pointing at the ground) or a long cape (gun held ready). Cloak colour, poncho or cape, wide-brimmed hat or hood, face scarf and art style are knobs; the blaster cell glows at night.
Character · Walks on 2 legs

Bounty Hunter

A walking space-western bounty hunter about 1.75 m tall: a worn chest plate, bracers and knee guards over travel clothes, a bandolier and holster, a blaster pistol with a glowing cell, and either a striped poncho (arms down, gun pointing at the ground) or a long cape (gun held ready). Cloak colour, poncho or cape, wide-brimmed hat or hood, face scarf and art style are knobs; the blaster cell glows at night.

Size
0.68 × 1.8 × 0.44 m
Triangles
2,378
Open in the lab Walk clip inside. The download carries the knobs you set here.

Tune it

5 knobs: Style, Cloak, Wear, Headgear, Face scarf.

Specs

Size
0.68 × 1.8 × 0.44 m
width × height × depth
Triangles
2,378
of 6,000
Draw calls
1
one vertex-colour material
Legs
2
2 gait groups
Stride
55 cm
duty factor 0.6
Foot slide
0.00 mm
limit 1 mm
Walk clip
1.376 m/s
at playback speed 1
Moving parts
3
spine · rotate, chest · rotate, neck · rotate
Knobs
5
3 presets
Night lights
1
cell

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/bounty-hunter.mjs';
import { walker } from 'https://gaitkit.com/runtime/walk.mjs';

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

let dist = 0;
renderer.setAnimationLoop(() => {
  dist += speed * clock.getDelta();
  bountyHunter.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
stylechoicerealistic stylized chibi blockyrealisticArt style of the whole figure: realistic (about 7 heads), stylized (5.5 heads, chunky game look), chibi (big head, 1.1 m) or blocky (voxel boxes).
cloakchoicedust rust olive ashdustColour of the poncho or cape and its woven stripe: dust (sand with red), rust (red-brown with gold), olive or ash (grey with red).
wearchoiceponcho capeponchoponcho (a striped poncho over the shoulders, arms down, pistol pointing at the ground) or cape (a long cape down the back, pistol held ready).
headgearchoicehat hood nonehatA wide-brimmed hat, a hood in the cloak colour, or bare-headed.
masktoggleon / offtrueA scarf pulled up over the nose and mouth.

Presets: dune drifter {"cloak":"dust","wear":"poncho","headgear":"hat","mask":true} · red reaper {"cloak":"rust","wear":"cape","headgear":"hood"} · old hand {"cloak":"ash","wear":"poncho","headgear":"hat","mask":false}

Files

FileWhat
bounty-hunter.glbGLB, default look · 260 KB
bounty-hunter.mjsES module, every knob live
bounty-hunter.objOBJ, static, no colour
bounty-hunter-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.