explainx.ainewsletter3.5k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

follow on google

Add explainx.ai as a preferred source

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

learn

pathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsagentsllmsdesignsdictionaryagi trackerranks

company

aboutvisionmissionteaminstructorscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR — what builders ask after seeing the demo
  • The pipeline — from flat image to playable fighter
  • Ringside Boxer — specs that matter for web games
  • img2threejs vs neural photo-to-3D — when to use which lane
  • What people are asking — setup, cost, maturity
  • Token economics — characters cost more than crates
  • Practical checklist for your next browser character
  • Closing
  • Related on explainx.ai
← Back to blog

explainx / blog

img2threejs v1.5.1: One Photo to a Rigged, Animated Three.js Fighter

img2threejs, Three.js, Game Development, Agent Skills, Image to 3D, Vibe Coding

NickDevFE's img2threejs v1.5.1 turns a 2D image into a playable Three.js character — 97.5K triangles, 41-bone rig, 19 combat clips, measured VFX — with no Blender export and no runtime GLB fetch.

Aug 31, 2026·8 min read·Yash Thakker
add explainx.ai
go deep
img2threejs v1.5.1: One Photo to a Rigged, Animated Three.js Fighter

One reference photo → a ringside boxer you can orbit, punch, and watch sweat off under gravity — and every triangle, bone, and keyframe is TypeScript, not a downloaded mesh. Maintainer Nick (@NickDevFE on X) shipped img2threejs v1.5.1 as the Character Update, and the headline demo — Ringside Boxer — is the clearest proof yet that the July explainx.ai img2threejs coverage was tracking the right project, just an earlier version.

When we wrote that post, the repo sat around 633 stars under hoainho/img2threejs. By August 31, 2026, the project lives at img2threejs/img2threejs, carries ~14.5K stars, and the live gallery moved to img2threejs.io. v1.5.1 is not a README tweak — it is the first release where characters are meant to be playable, not placeholder diorama props.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

Nick's August thread frames the bet plainly: "With img2threejs v1.5.1, we're pushing much closer to the original reference while keeping the result structured, editable, riggable, and controllable in Three.js." The boxing demo is the stress test — combat loops, measured impact VFX, and a rig dense enough to sell weight transfer, not a turntable spin.

TL;DR — what builders ask after seeing the demo

table · 2 cols
QuestionDirect answer
What shipped in v1.5.1?Character pipeline: SkinnedMesh, skeleton from component tree, geodesic skinning, hair/scalp gates, GLB-measurement route for rigged heroes
Live demo?Ringside Boxer — orbit/zoom, 19 combat clips, sweat + shock-ring VFX
Triangle / rig budget?~97,592 tris, 41-bone rig, 19 embedded clips (per showcase copy)
Runtime fetch?Nothing — geometry, vertex colour, and keyframes are inline TypeScript
Blender required?No — rig scripts derive bones; GLB is build-time measurement only
Neural step?Community pipeline uses TripoAI / Hyper3D for initial 3D recon → specs → procedural rebuild
vs July v1.2 objects?Objects (CS2 knives, earbuds) were the sweet spot; v1.5 makes humanoids the headline
Token cost?Character builds still run ~150k–350k model tokens per TOKEN_COST.md — higher than hard-surface props
License?Apache 2.0 (repo migrated from MIT since July)
Distribution angle?Thread replies name Poki / Crazy Games — browser Three.js is the target stack

The pipeline — from flat image to playable fighter

Most image-to-3D stories stop at a textured GLB you drop into a viewer. img2threejs v1.5.1 inverts the contract for characters:

text
2D reference image
  → neural 3D reconstruction (TripoAI / Hyper3D in community builds)
  → reference GLB + measured specs (build-time instrument — never shipped)
  → rig derivation + geodesic skinning
  → animation loops (19 combat clips in the boxer demo)
  → physics-style VFX layer (sweat, shock rings, hitstop)
  → playable Three.js scene (pure TypeScript)

The GLB character prompt docs split the work into three copy-paste agent prompts — Build, Polish, and Animation — each gated so you do not burn tokens polishing surfaces that never passed build review. The GLB carries size, proportions, band centroids, base colour, roughness, and metalness as measured values; rigging and animation are re-authored in code because most neural exports arrive with skinCount: 0.

That is the practical difference from an Anatomy Atelier–style TripoAI → GLB → Three.js loader stack, where the mesh file is the runtime asset. img2threejs treats the GLB like a calipers and contour gauge — useful once, then discarded.

What v1.5 adds over v1.2–v1.4

The README changelog names the Character Update explicitly:

  • Skeleton derived from the component tree — bones cannot drift from geometry (forge/stage5_rig/rig_spec.py).
  • Geodesic skinning — vertex weights from distance through the solid, keeping rigid regions out of smooth skin (geodesic_skinning.py).
  • Hair as a five-stage subsystem with a hard scalp-exposure gate before any render.
  • Chirality gates and interior-difference review per visual pass.
  • tapered-sweep primitive and a blocking material acceptance gate.
  • Resumable workflow state via forge/state.py for multi-session character builds.

Still not in v1.5: hairProfile compiler, IK, pose-sweep gating, clothing — check the open issues before you plan a wardrobe system.


Ringside Boxer — specs that matter for web games

Open the live viewer and the showcase copy tells you what you are looking at:

  • ~97,592 triangles in one embedded surface stream — under the 100K tri band many browser portals treat as a soft ceiling for a single hero.
  • 41-bone rig — enough for torso twist, glove extension, and head snap without exploding bind-pose debug time.
  • 19 combat clips — Jab, Hook, Body Shot, Footwork, Victory, Defeat, and supporting loops.
  • Measured-impact VFX — all 19 clips sampled at 400 frames to locate glove extension, canvas contact, and head-driven reactions; punch windup charges air tear, shock rings along the punch axis, sweat spray under gravity, rosin dust off the canvas, spiking impact light, and 45–85 ms hitstop.

Nothing is fetched at runtime. Geometry, per-vertex colour, and every keyframe live in TypeScript — the same "code is the asset pipeline" philosophy behind the Claude Opus 5 browser-game wave and Karpathy's procedural LOTR world, but with animation timing you can diff in git.


img2threejs vs neural photo-to-3D — when to use which lane

table · 3 cols
DimensionNeural photo-to-3D (Meshy-class, Tripo-class)img2threejs v1.5.1 character lane
OutputTextured GLB meshTypeScript factory + ObjectSculptSpec JSON
EditabilityRe-export from DCC or re-run genPatch code; strict-quality gates block shallow specs
RiggingOften none or basic auto-rig41-bone derived skeleton + geodesic weights
AnimationUsually absentEmbedded AnimationClips with measured combat timing
Runtime loadFetch + parse GLBZero external mesh fetch
Best forHero props, organic silhouettes, fast previewsBrowser games, rigged fighters, diffable character code
Weak atHidden back faces, deterministic patchesPhotoreal likeness from one photo; hair/clothing still early

Nick notes in community threads that Meshy can help with rigging, but img2threejs is where mesh and deformation issues get handled before you ship — the skill's GLB character pipeline integration even documents reproducing the Dual-Sword Warrior demo's 748 cross-section rings from measured GLB data.

For world scale, pair character output with procedural environment tools — iCity for Blender city blocks on the art side, or the Hop.Earth-style driving-game guide if you need real-world road tiles plus AI props.


What people are asking — setup, cost, maturity

Do I need a GLB or just a photo?

Both routes exist. The core skill still accepts one reference photo and runs the anatomy-aware character track documented in grimoire/character/reconstruction.md. The GLB-measurement route is for when you already ran a neural recon and want img2threejs to rebuild surfaces procedurally from measured bands — the boxer demo sits in that camp.

How do I run it locally?

Same install pattern as explainx.ai's July guide, updated for the new org:

bash
git clone https://github.com/img2threejs/img2threejs.git ~/.claude/skills/img2threejs

Then in Claude Code, Codex, or OpenCode:

text
/img2threejs Rebuild the subject in this image as a procedural Three.js model.

Fidelity   Hold proportions and silhouette to the reference. Enumerate identity-defining
           details first — bevels, panel seams, gloss vs matte zones — and drop any detail
           you cannot place on a real component.
Runtime    Expose pivots and sockets for whatever should move, plus a userData.tick for a
           looping idle animation.
Gates      Run --strict-quality, and do not advance a pass until the side-by-side review passes.

For multi-session character work:

bash
python3 forge/state.py init --reference <image> --profile character --spec object-sculpt-spec.json
python3 forge/next.py --state .img2threejs/state.json

Character-specific GLB prompts live in docs/GLB_CHARACTER_PROMPT.md — use Build when surfaces do not exist yet, Polish when build gates passed but likeness is off, Animation when the figure looks right standing still.

Is it production-ready?

Honest answer: early, improving fast. The gallery marks several character demos with ⚠︎ placeholder status — they render, but registry status is not final. v1.5.1's Dual-Sword Warrior and the boxing showcase are the proofs that combat-ready loops are the new bar; hair, clothing, and IK remain roadmap items.

Open issue #73+ territory includes rig edge cases, likeness confidence reporting, and multi-view silhouette carving — read before you promise a client photoreal likeness from one JPEG.

Poki, Crazy Games, and the web-game angle

Replies on Nick's showcase thread treat browser Three.js as the distribution target — explicitly naming portals like Poki and Crazy Games as places this class of AI-built character could land. img2threejs gives you the rigged hero layer; you still ship input, game loop, audio, and portal performance QA yourself. That is the same division of labour as the Opus 5 game-prompt roundup: agents open the map; you own the loop.


Token economics — characters cost more than crates

Per docs/TOKEN_COST.md, character reconstructions still land around ~150k–350k model tokens — roughly 2× a hard-surface prop — because hair gates, interior-difference review, and rig validation add passes. The skill stays token-efficient by pushing bookkeeping into stdlib Python and spending model tokens only on side-by-side vision review and scoped code edits.

If you are budgeting a jam weekend, start with a low-poly humanoid demo (v1.5.0) before you attempt a 97K-tri fighter with measured VFX.


Practical checklist for your next browser character

text
□ Pick route: photo-only vs GLB-measurement (read GLB_CHARACTER_PROMPT.md)
□ Run strict-quality gates — do not skip spec validation
□ Budget ~150k–350k tokens for a rigged character, not ~80k like a crate
□ Measure animation contacts before wiring VFX (400-sample sweep pattern in boxer demo)
□ Keep triangle count under portal soft limits (~100K hero)
□ Ship a playable link, not just a clip — traction tracks to img2threejs.io-style demos
□ Pair with environment tooling (iCity / Pascal / Hop.Earth guides on explainx.ai)
□ Read open issues for hair, clothing, IK before you promise wardrobe swaps

Closing

img2threejs v1.5.1 is the moment image-to-3D stops meaning "download a GLB" for character builders and starts meaning "here is a rigged, animated Three.js factory you own." The Ringside Boxer demo is not a tech preview — it is a playable combat loop with measured hitstop and particle timing, running entirely in the browser from code.

If you already read explainx.ai's July img2threejs + bunpav architecture post, treat v1.5.1 as the character chapter that post flagged as roadmap. If you are new: clone the skill, open the live gallery, and diff the showcase source before you assume photo-to-3D always ends in Blender.

Follow @explainx_ai for the next measured-combat or WebGL harness story.

Related on explainx.ai

  • img2threejs — photo-to-procedural Three.js + bunpav lanes (July 2026 baseline)
  • Claude Opus 5 games viral wave — browser Three.js as the default AI game stack
  • Karpathy's Opus 5 Lord of the Rings world — procedural Three.js at 1M tokens
  • How to build a Hop.Earth-style AI driving game — real roads + AI 3D assets
  • Anatomy Atelier — TripoAI GLB → Three.js loader pipeline (contrast case)
  • iCity Blender add-on — procedural city in ~30 seconds
  • What are agent skills? Complete guide
  • Loop engineering for coding agents

Specs, star counts, and demo registry status reflect img2threejs v1.5.1 and the img2threejs.io showcase as of August 31, 2026. Neural reconstruction backends (TripoAI, Hyper3D, Meshy) are community-reported integration paths — verify against your own build logs before production.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Jul 20, 2026

img2threejs: Photo-to-Procedural Three.js Skill — and How bunpav Uses the Code-First Lane

img2threejs is an MIT agent skill that turns a single product photo into diffable Three.js factory code with pivots, sockets, and colliders — not a multi-MB GLB. explainx.ai explains the staged pipeline, token economics, and how bunpav's browser studio uses the procedural lane alongside credit-based neural photo-to-3D.

Aug 22, 2026

terminal-minceraft: Minecraft in Your Terminal, Playable by an Agent

Parsa Khaz's viral tweet showed Minecraft running at a claimed 120fps inside a terminal window — but the actual hook in dcouple/terminal-minceraft's README is the MCP server underneath: observe, move, mine, and chat exposed as tools an agent calls directly, no screen-scraping required.

Aug 16, 2026

World of ClaudeCraft: The MMO Claude Fable 5 Built in a Weekend

A Wellington studio pointed Claude Fable 5 at a browser MMO for two days, posted the result to Reddit, and a stranger-built community turned it into a real, free, open-source game — three zones, nine classes, a $WOC memecoin, and a genuine argument about what "AI-built" means.