Yeti
A huge shaggy yeti about 2.4 m tall that lumbers along on broad furry feet with giant dark-palmed hands: thick white fur in shaggy layers, a blue-grey face framed by a fur hood and beard, small curved horns, fangs and icy eyes that glow at night. Fur colour (snow, grey, frost or brown bigfoot), weapon, horns, size and art style are knobs; a weapon sits in grip_R.
- Size
- 1.5 × 2.4 × 1.5 m
- Triangles
- 2,678
Tune it
5 knobs: Style, Fur, Weapon, Horns, Size.
Specs
- Size
- 1.5 × 2.4 × 1.5 m width × height × depth
- Triangles
- 2,678 of 6,000
- Draw calls
- 1 one vertex-colour material
- Legs
- 2 2 gait groups
- Stride
- 54 cm duty factor 0.6
- Foot slide
- 0.00 mm limit 1 mm
- Walk clip
- 1.352 m/s at playback speed 1
- Moving parts
- 7 upperarm_L · rotate, forearm_L · rotate, upperarm_R · rotate, forearm_R · rotate, spine · rotate, chest · rotate, neck · rotate
- Knobs
- 5 3 presets
- Night lights
- 2 eye, ice
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.
import { createAsset } from 'https://gaitkit.com/cdn/yeti.mjs';
import { walker } from 'https://gaitkit.com/runtime/walk.mjs';
const yeti = createAsset();
scene.add(yeti); // rests on y = 0, front faces +Z
const gait = walker(yeti, { ground: (x, z) => terrainHeight(x, z) }); // or omit ground for a flat floor
let dist = 0;
renderer.setAnimationLoop(() => {
dist += speed * clock.getDelta();
yeti.position.z = dist;
gait.poseAt(dist); // feet stay planted, at any frame rate
renderer.render(scene, camera);
});import { useMemo, useRef } from 'react';
import { useFrame } from '@react-three/fiber';
import { createAsset } from 'https://gaitkit.com/cdn/yeti.mjs';
import { walker } from 'https://gaitkit.com/runtime/walk.mjs';
export function Yeti({ speed = 1 }) {
const model = useMemo(() => createAsset(), []);
const gait = useMemo(() => walker(model), [model]);
const dist = useRef(0);
useFrame((_, dt) => {
dist.current += speed * dt;
model.position.z = dist.current;
gait.poseAt(dist.current); // feet stay planted, at any frame rate
});
return <primitive object={model} />;
}# Import yeti.glb (download below). It carries an in-place "Walk" animation.
@onready var anim: AnimationPlayer = $Yeti/AnimationPlayer
func _physics_process(delta):
velocity = transform.basis.z * speed
move_and_slide()
anim.play("Walk")
anim.speed_scale = speed / 1.352 # Walk clip covers 1.352 m/s at 1x// Import yeti.glb with glTFast (com.unity.cloud.gltfast).
animator.Play("Walk");
animator.speed = speed / 1.352 // Walk clip covers 1.352 m/s at 1x
// Humanoid: the root node's extras.humanoid maps Unity bone names to nodes (Hips → body, Head → head …).Use the gaitkit MCP server: get_variant({ "id": "yeti", "want": "default look" })
then place the result and walk it with walker() so the feet stay planted.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
style | choice | stylized realistic chibi blocky | stylized | Art style of the whole figure: stylized (chunky game look), realistic (adult proportions), chibi (big head, about 1.3 m) or blocky (voxel boxes). |
fur | choice | snow grey frost brown | snow | Fur and face colours: snow (white fur, blue-grey face), grey, frost (icy blue-white) or brown (a forest bigfoot). |
weapon | choice | none ice club boulder | none | What the right hand holds: nothing (both huge hands swing), a jagged club of blue ice, or a snowy boulder raised ready to throw. |
horns | toggle | on / off | true | Two small curved horns poking out of the fur hood. |
size | range | 0.8 to 1.25, step 0.05 | 1 | Overall height factor: 1 is about 2.4 m, 1.25 a 3 m mountain king. |
Presets: mountain king {"fur":"snow","weapon":"ice club","size":1.25} · forest bigfoot {"fur":"brown","horns":false} · chibi yeti {"style":"chibi","fur":"frost","weapon":"boulder"}
Files
| File | What |
|---|---|
| yeti.glb | GLB, default look · 290 KB |
| yeti.mjs | ES module, every knob live |
| yeti.obj | OBJ, static, no colour |
| yeti-params.json | knob 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.