Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

We turned handmade art dolls into playable 3D characters in the browser

Description and use

We turned handmade dolls into playable 3D characters in a browser world, optimizing textures and load strategy for portal constraints.

Problem

Convert physical handmade dolls into interactive 3D characters that can be explored in a browser-based world.

Outcome

Dolls are now playable 3D characters in a browser world, with optimized assets reducing initial load from 98.7 MB to 41.7 MB for portal builds while keeping full quality in the main world.

Workflow

  • Select maker’s photos to preserve recognizability
  • Reconstruct doll into a canonical standing pose for rigging
  • Rig and animate with a small set of stock clips
  • Apply quality gate: color match, feet on ground, remove display stand
  • Install as floor‑anchored GLB with LODs

Evidence

We wanted to know what happens if that doll does not stop at the product page. So we built Doll World: a browser 3D world where the physical doll becomes a character that walks around

Source

Photo selection. The maker's own photos. The character has to stay recognisable as that doll - face, hair, colours.

Source

Reconstruction. The doll is reconstructed into a canonical standing pose so it can be rigged and animated.

Source

Rig and animate. A small set of stock clips (idle, walk, run, sit, wave, dance).

Source

Quality gate. A doll does not reach the world unless the colour still matches the photo, the feet sit exactly on the ground plane, and there is no display stand or pedestal left in the mesh.

Source

Install into the world as a floor‑anchored GLB with LODs.

Source

First load was 98.7MB. Game portals have hard budgets (CrazyGames wants the initial load under 50MB). The high‑res ASTC texture layer alone was 57MB. Instead of degrading the main world, we added a build flag so the portal entry simply skips that layer.

Source

98.7MB to 41.7MB for the portal build, main world untouched and still 98.7MB.

Source

  • Record date: 2026-10-07T17:56:05.445Z