Our lifetime deal increases from $97 to $127 in03 days19 hours35 min37 secGet access for just $97 NOW
Studio

Building characters with the Character Creator

Generate a rigged, animatable character in the browser from a character product: styles, palettes, live proportions, painted faces, a whole cast per project, GLB export, and the editable source bundle you get when you buy.

AP
Aron Prins
Founder · Updated Aug 11, 2026 · 8 min read
On this page (11)

The Character Creator is a sub-mode of the Character tool. Instead of importing a model, you pick a character product and the Studio builds the character in your browser — mesh, materials, a painted face, and the same 65-bone Mixamo-compatible rig the rest of the Character tool drives.

A generated character binds 65/65 bones. That is the whole point: every clip in the library and every clip you author yourself plays on it with no retargeting step. You build a character in one panel and animate it in the next without exporting anything in between.

The creator is free to use. Exporting a .glb and downloading the editable source bundle are the only entitled parts.

Where the creator lives#

Switch the Character tool to the creator sub-mode and the right sidebar's Character tab fills with collapsible sections, top to bottom:

  • Character — the cast, plus an Import tab for bringing your own Mixamo-rigged .glb
  • Style & proportions
  • Colours & palette
  • Face & expression
  • Speech
  • Render
  • Export & source

The bone hierarchy keeps the left column and the timeline stays docked. Switching between the creator and the posing tools only shows and hides DOM, so playback, your clips and the document survive the round trip.

Picking a character#

Open the Character section and press Add a Character. A modal opens with one preview card per character available to you, each badged with its access state, plus the name for the new character prefilled with a unique name. Confirm and the Studio generates the character straight into the viewport, already bound to the rig.

A character product is a generator plus its content — a family of body styles, a set of palettes, a schema of proportion controls with real limits, and a face system. Picking a style and dragging sliders does not select from a shelf of pre-made models; it rebuilds the geometry.

Style, proportions, colours#

The controls in Style & proportions are generated from the product's own proportion schema. Nothing in the Studio names a field, so a new product can ship new sliders without a Studio release, and their groups become the headings you see. The product shipping today declares 20 controls across six groups — expect a different set from a different product.

Two edits, two costs:

  • A palette or per-slot colour change recolours in place. No geometry is touched.
  • A proportion or style change rebuilds the mesh. The body updates live as you drag.

Style changes keep the slider edits you have already made, layered on top of the new style. A slider dragged back to its style's own value stops counting as an edit, and you can reset edits per field, per group, or for the whole character.

Face, expression and speech#

The face is painted onto a canvas texture rather than modelled, which is what makes all of this instant:

  • Expressions and eye shapes come from the product.
  • 18 named face controls across eyes, brows and mouth — eyelid curve, pupil size, gaze, brow arch, mouth width, teeth, tongue, blush, and the rest.
  • Visemes — mouth positions you can set and hold.
  • A Say box: type a line, press Say, and the mouth lip-syncs the text through the visemes.
  • Blink and wink as one-offs, plus auto-blink.
  • Cursor tracking, which aims the rig's Head and Neck and the pupils at your pointer, on top of whatever the animation is doing.

The face exports as one baked still. This is the caveat worth reading twice. The exported .glb carries exactly the face the character was wearing at export time. Expressions, visemes, blinking, cursor tracking and say() do not survive the export — the dialog lets you pick which face to freeze, so choose it before you export. If you need a face that changes at runtime, the source bundle ships the face painter itself.

A cast, not a character#

A project holds a cast8 characters by default, raisable to a ceiling of 32 — each with its own name, product, appearance and face. The roster list gives you one row per character with select, inline rename, duplicate, reorder and delete. Switching between characters is instant.

An empty project renders as a state, not an absent section: the list says so and Add a Character becomes the primary button.

The cast is stored inside the same .animproj.json as your clips. No separate file.

Render section#

Render holds six viewport flags and three framing moves. None of them changes the character, and none of them reaches the export.

ToggleWhat it does
Ink outlineThe dark shell drawn around the character. Off by default. A style built without one says so rather than offering a dead toggle.
ShadowsThe soft ground shadow under the character.
GridThe ground reference grid.
Skeleton overlayDraws the bones over the character. Saved with the project.
WireframeDraws the character as wireframe; the ink outline hides while it is on.
TurntableSlowly orbits the camera. Deliberately not remembered between sessions.

The three actions are Reset view (the default three-quarter view, scaled to the character's height), Frame head (a near-frontal head shot — the view to edit a face in) and Frame body (fits the whole character, measured off the built mesh).

Four of the flags are the same ones the header's View cluster owns, so the panel and the buttons always agree.

What is free and what needs a purchase#

The Character Creator itself is free. Pick a character, build it, edit its shape, colours, proportions and face, put a whole cast in one project, animate it with library clips and save the project — all without owning anything.

Exactly two deliverables are entitled, and both need you to own that character product:

  • Export .glb
  • Download editable source

A locked button keeps its label and still clicks: it opens an upsell card that tells you what unlocks it, rather than doing nothing. Entitlement is computed on the server, so the button state is a hint and the delivery is the gate.

One thing to state plainly: an All-Access Lifetime licence does not automatically cover character products. Each product declares whether it is covered, and the one shipping today is bought on its own.

Separately, some conveniences are customer perks rather than product entitlements — saved presets, and exporting several characters at once as a ZIP. See account & customer perks.

Exporting a GLB#

Export writes a self-contained binary glTF that loads in a stock THREE.GLTFLoader: bind pose, standard PBR materials, Mixamo bone names intact, and whichever clips you selected. You can export one character, several, or the whole cast as a ZIP — a multi-character or ZIP export is additionally a customer perk.

Optionally, the export writes a rig report beside the model: a small .rig.json with the style, the product version, the character's height in metres, and all 65 bones with their bind offsets.

Two deliberate differences between the viewport and the file:

  • The face is baked (see above).
  • The ink outline shell is left out unless you tick Include the ink outline shell. Including it roughly doubles the file size, and most engines draw outlines their own way. The toon banding and rim light are not exported at all — the exported materials are plain PBR.

For the Character tool's other export paths — clip JSON, rig-only GLB, batch ZIP, project files — see exporting animations.

The editable source bundle#

Download editable source delivers a versioned .zip, named by the server for the product version it was built from. It contains the generator, not just its output:

  • Compressed .glb characters — one per style at the default palette, Draco-compressed, Mixamo bone names intact, plus a rig report for each.
  • The TypeScript generator — the same engine the Studio builds with, as readable source. Change how the character is made, not just what colour it is.
  • The set's content JSON — styles, palettes, proportion bounds, faces and expressions, byte-identical to what the Studio loaded.
  • React Three Fiber + plain three — typed <ProceduralCharacter> and <CharacterGLB> components, and a framework-free helper that drives the face texture.
  • A standalone HTML viewer — built from those same sources; opens straight from the unzipped folder, no server needed.
  • README, licence and build manifest — the commercial licence, and a manifest recording the set id, content version, engine version and a content checksum.

Because you hold the generator, the bundle ships one GLB per style rather than every style-and-palette combination — the rest are a palette away.

Appearance presets#

An appearance preset is one character's look — style, palette, colour overrides, proportions and face — saved without its name or its place in the cast.

Apply one to a character built from the same product and it repaints in place. Apply one from a different product and it arrives as a new character, because an appearance describes a whole build. Presets export as .preset.json files, so they move between machines and between people; a file of the wrong kind is refused with a message rather than stored.

Appearance presets share the Studio's presets perk with pose presets and the other tools' presets — any purchase enables it, and the section renders disabled with a note when it is off.

Where to go next#

Still stuck?

Ask us directly — we answer support mail ourselves.

Contact support
Share
Building characters with the Character Creator — threejsassets.com