Animals v2: an animal that bends instead of hinging
Every animal on the new engine has one skin over the whole body, legs that bend at the joint instead of sliding apart, its own walk, run and idle baked into the file, and an HD edition on the same mesh.
A low-poly animal used to be a sculpture with joints cut into it. Each leg was a stack of rigid tubes that overlapped at every pivot, and the body was a separate shape the legs were pushed into. Standing still, it looked fine. The moment it walked, the pieces slid against each other: a knee opened into a gap, a thigh passed through the belly, and the animal read as parts somebody had put together.
Animals v2 rebuilds them on one engine. The difference shows when they move, so here they are, moving.
Six published animals, each loaded from its own store page's public preview file and playing its own baked clips. This is not a video: your browser is animating the same GLB you would download. Each one walks at the speed its walk was authored for, and every so often breaks into its own run.
38 animals are on the engine today, from a cow to a clownfish, all of them on the Animals v2 shelf.
One skin, not a stack of parts
The engine's first rule is that the whole body is one surface, and one surface bends.
Each leg is a single tube. It starts buried inside the trunk and runs through the upper leg, the lower leg and the foot to a flat ring on the ground. At every joint the tube gets three rings: one just before the pivot, weighted to the bone above, one on the pivot itself, and one just after it, weighted to the bone below. So a joint is a visible knob, and a bend stretches the skin across it instead of turning one closed tube out of another.
The trunk works the same way along its length, blending across the hips, spine and chest, and the neck blends along its whole arc from the chest to the head. What stays rigid is what should: the eyes, the nostrils, and the ears on their own bones.

This is the part a generator does cheaply and a hand-built model does not. Weight painting is the slow, fiddly half of soft skinning, and an engine never has to paint anything: it knows where every ring sits along the bone chain, so the blend at each joint is arithmetic.
Every animal ships its own motion
A rigged animal with no animation is a promise, not a model. Every animal on the engine carries its own clips, baked into the GLB as ordinary glTF animation:
| animal | clips |
|---|---|
| walkers, birds and crawlers | Idle, Walk, Run |
| swimmers | Idle, Swim, Swim fast |
The clips are authored as key poses, with a contact interval for each foot: when it touches down, and what share of the cycle it stays planted. Each clip also records its stride, the distance one cycle carries the body. That number is why the animals above do not skate. The page moves each one at exactly its clip's stride per cycle, and if you drive them yourself and do the same, every planted foot stays where it touched down.
Baked also means portable. The file carries a local translation and rotation per bone per key, so it plays in three.js, Blender, Unity or Godot with nothing of ours installed.
Six reef animals on their own Swim clips, looping at different depths. Swimmers are a different body plan from the land animals, built by the same engine and delivered the same way: one GLB each, clips inside.
One skeleton per body plan, and it does not move
Each body plan has one frozen skeleton. The bone names, the hierarchy and the conventions are the same from one species to the next: every animal faces +Z with Y up and is centred on its own body, and a walking animal's feet rest on y = 0. A species adds a joint where its gait needs one, an elbow or a hock, and never renames the ones that are already there.
That contract is what makes the rest portable. The bone you scripted against on one animal has the same name on the next, and a clip made for one member of a family starts from the right bones on another.
Measured against the reference, not eyeballed
Every animal starts from an approved reference, drawn as three true elevations. The side view has to sit within 20 degrees of a perfect profile, and the front and back on the body's long axis, and each drawing is checked against the build's own projections before anything is modelled against it.

Then the build is measured against it. A fitting tool masks each drawing, finds the camera that best explains it, and compares the two silhouettes by intersection over union with the aspect kept true, so a body too long for its height costs overlap instead of being stretched to match. Then it turns the animal's own knobs until the outlines agree. Against the redrawn elevations, when the tool went in:
| animal | side IoU at start | after the fit |
|---|---|---|
| warhorse | 0.79 | 0.84 |
| cat | 0.63 | 0.75 |
| pigeon | 0.88 | 0.88 |
| koi | 0.62 | 0.64 |
| tarantula | 0.64 | 0.67 |
The fit is the floor, not the bar. It sees an outline and nothing else: no colour, no surface, nothing inside the silhouette. The bar is still a person looking at the render beside the reference. An automated judge once scored a cat at 8.2 out of 10, and we sent it back anyway because it did not look like a cat. It took four more rounds.
HD: the same animal, dressed
Every Animals v2 animal has an HD edition, and it is not a different model. It is the same triangles, the same rig and the same clips, with a different surface and a different renderer:
- A material per colour zone: skin, fur, keratin for hooves and horns, each with its own maps.
- Zones that meet softly. Where two organic zones meet, like a spot on a coat, the colours blend across a thin band a few centimetres wide instead of meeting at a knife edge.
- Smoothed shading, so the body reads as a surface rather than as facets, while the real edges stay edges.
- A real room to be lit by: an HDRI environment, soft shadows and ambient occlusion.
Drag the handle across the pig. Both sides are the same file in the same pose, drawn twice.
The pig's flat edition on the left and its HD edition on the right, both live: one preview GLB loaded twice, one copy dressed with the store's own HD materials and lit by the store's realistic renderer. The pose, the triangles and the rig are identical on both sides of the line.

What you get with each animal
- A GLB and an ES module, with the clips baked into the GLB.
- Shape knobs that rebuild the body. On the pig: Size, Belly fullness, Body length, Leg length, Head carriage, Ear size, Snout length and Tail curl, among others. Each species has its own set: the cow has knobs for its udder and horns, the clownfish for its bands.
- Colour zones, each its own knob, so you can repaint a coat without repainting the hooves.
- An HD edition on the same mesh.
- A few thousand triangles, scaled to the animal's size: enough to bend well, few enough for a herd.
It is still low poly, on purpose. The point of the engine was never more triangles. It is that the triangles you have move like an animal.
Frequently asked questions
Do the animations work outside three.js?
Yes. The clips are baked into the GLB as standard glTF animations, a local translation and rotation per bone, so Blender, Unity, Godot and any other glTF reader can play them with nothing from us installed.
Will an animal slide its feet when I move it?
Not if you move it at its clip's stride. Every clip is authored with a contact interval for each foot and a stride, the distance one cycle carries the body. Move the animal by the stride divided by the clip's duration, and each planted foot stays where it touched down.
Is HD a different model?
No. It is the same mesh, rig and clips with a different surface: a real material per colour zone, soft blending where organic zones meet, smoothed shading, and a realistic lighting path. Switch to it on the animal's store page.
What happened to the old animals?
Anything you already downloaded keeps working: a file you have does not change. The Animals v2 versions are on the Animals v2 shelf.
How many animals are on the engine?
38 today, from farm and forest animals to birds, reef fish, crabs and a sea turtle, with more being rebuilt.


