BlenderBlender and AI

Making a 3D character that matches its art: measuring a turnaround, silhouette overlap, automatic checks, and where it did not match

Starting from a chibi witch built with a Claude Code script that did not look like its art, this post covers making and measuring a turnaround, putting likeness into numbers with silhouette overlap (IoU) and face ratios, filtering with seven automatic checks, and the shapes that numbers never fixed.

AZTechnology13 min read

한국어English

Based on: Claude Code + Blender 5.2, and the October 2026 work log of our character template. Images are Blender renders, sheets comparing the art with the model, and measurement screens. The turnaround is an AI-generated illustration made with Higgsfield from a front view made with Meshy AI.

When you give an AI a picture and ask it to build a 3D character, you often get a model that is "close, but not that character." That is what happened with the blue-haired chibi witch we newly built with a Claude Code script. Her art has long hair falling to the left front and a tall hat with a bent tip, but the first version had perfectly symmetric hair and a plain hat. The reaction to the first version was "really not good."

Instead of saying "make it look more like the picture" over and over, we built a way to measure likeness in numbers. This post is the record of one rebuild with it. The numbers improved, but some parts never got fixed, and the reason is the most useful conclusion here.

After this post you can:

  1. Prepare a turnaround to compare with the model.
  2. Read silhouette overlap (IoU) numbers and find where things differ.
  3. Measure face ratios the same way on the art and the model.
  4. Find "shapes the template does not have" before you build.

Before you start: The basic flow of building a character with a script is in Making a 3D character with Claude Code, part 1. For a comparison of the three ways to build one, read Three ways to make a 3D character with AI first.

1. The turnaround: front, side and back on one sheet

A turnaround is a drawing of a character's front, side and back side by side at the same size. It is like photos of a shop mannequin from three directions. Render the model from the same three directions and you can compare what differs right away.

The original art for our witch was a single front view made with Meshy AI. So we used it as a reference and made one turnaround with GPT Image 2.5 on Higgsfield. It cost about 0.25 credits.

Left, the front, side and back of a chibi witch on black, with a wide navy hat, long blue hair and a short dress covered in star ornaments. Right, the 3D model rendered from the same directions on white Left, the turnaround (AI-generated illustration, Higgsfield. The front view it was based on is Made with Meshy). Right, the front, side and back of the rebuilt model (v02) (Blender render)

Do this: When you make a turnaround, include the conditions below. This request is written from the conditions we used; the result differs each time.

Using this front view as a reference, make one turnaround sheet of the same character.
Front, side and back, no perspective (orthographic), A-pose, plain background, no text, 16:9.
Keep the height and foot level the same in all three views.
  • No perspective (orthographic): nearer parts must not look bigger, so the sheet can be overlaid on the model's orthographic render.
  • A-pose: arms held out at an angle from the body. The armpits do not touch, so the outline is easy to measure.
  • Plain background: it is easy to separate the character from the background by colour and extract only the outline.

2. Why the first version did not match

The first version (v01) was built once by copying the number file (character.json) of another chibi witch we had made earlier and changing only the colours, hair, clothes and hat. The body proportions and bones stayed the same. The result was as follows.

CompareArtFirst version
HairA long lock falling to the left frontSymmetric left and right
Inside of the hat brimA starry night patternNo pattern
Star ornaments and earringsEasy to seeToo small to see
Front silhouette overlap65.9%
Overlap at leg height48.6%

It was "someone else's body in new clothes", so even the proportions were off. At leg height, the overlap was under half.

3. Measuring likeness with silhouette overlap (IoU)

A silhouette is the outline left when an object is filled with one colour. Lay two silhouettes over each other and compute overlapping area ÷ combined area × 100 to get IoU (the overlap ratio). It is like stacking two cookie cutters to see how well they line up. 100% means identical; the lower it is, the more they differ.

The front, side and back silhouettes laid over each other. Grey where they overlap; red at the bent hat tip, the hanging star charm and part of the raised brim; blue at hair spreading wide on both sides and the brim edges ① Front ② Side ③ Back. Grey is the overlap, red is only in the art, blue is only in the model (overlap sheet made from the art and a Blender render)

The colours are what to read in this image. Red means "in the art but missing from the model." The bent hat tip and the hanging star charm stayed red. Blue means "only in the model." The model's hair spreads wider on both sides than in the art. On the front silhouette, the area only in the art was 10.3%, and the area only in the model was 20.85%. In other words, the model is bulkier than the art.

A single overall number hides where the problem is. So we split the height into bands and measured each one.

Height bandFront IoU (rebuilt version)Target
Legs78.3%
Skirt69.2%
Head76.0%
Hat63.3%
Whole front72.6%80% or more
Whole side76.6%75% or more
Whole back75.3%80% or more

The hat band is the lowest. That means the hat is the part of this character that matches least.

4. Measuring face ratios the same way

A silhouette cannot see inside the face. So the face is measured separately. The key is to measure the art and the model the same way. If you change the ruler, you cannot tell whether a difference comes from the ruler or the shape.

Two panels. Left, the skin and eyes extracted from the front of the turnaround and split by colour, with horizontal lines at the top of the eyes, the eye centre and the chin. Right, the model's face split into the same colours with the same lines Left, the face measured from the art. Right, the face measured from the model. The horizontal lines mark the top of the eyes, the eye centre and the chin (measurement screen)

The model is measured by rendering only the face, large, with a fixed flat colour for each part: green skin, blue eyes, magenta lashes and red blush on the cheeks. The colours do not mix, so you only need to count pixels.

The model's face rendered in flat colours. Inside a grey hat and hair, a green face, two blue eyes, magenta lashes above them and two red blush spots below Flat-colour render for face measurement. Green skin, blue eyes, magenta lashes, red blush (Blender render)

The face values of the rebuilt version were as follows.

MeasuredArtModelDifferenceAllowed rangeResult
Face width ÷ eye width2.953.167+7.4%±5%Failed
Eye height ÷ face height0.4920.484−1.6%±25%Passed
Eye height within the face0.7220.758+5.0%±10%Passed

Face width ÷ eye width is larger than in the art. The face is wide compared with the eyes. To a viewer, this difference reads as "the face looks broad."

5. Seven automatic checks

The allowed ranges came from past review records. While building two earlier characters, we collected 19 rounds of comments from a separate review agent, and almost all of them were measurable: "the eyes are bigger than in the art", "the blush spills over the hair", "the gem is too small". We fixed these into a table of standards and had the script measure seven things automatically every time it builds a model.

CheckWhat it measuresRebuilt version
Face ratioThe table in section 4Failed (face width ÷ eye width)
Blush positionBlush pixels spilling outside the face skinFailed (162 pixels from the three-quarter view)
Lash gapSkin pixels between the top of the eye white and the lashesFailed (5 pixels; the standard is 1)
Floating piecesPieces floating away from other partsFailed (5, the enlarged earrings and hairpin)
Poking throughPixels of an inner part showing through outer clothesPassed
Ornament sizeGold, gems and stars at least 8 pixels on their short side on screenFailed (chest gem, earrings)
SilhouetteThe table in section 3Failed (hat band 63.3%)

All seven checks took under 10 seconds. Before trusting them, we tested them on another character that a person had already approved. That character passed all seven.

6. Rebuilding with numbers: v01 → v02

Do this (the order we followed):

  1. Measure the proportions and face values from the turnaround.
  2. Recalculate numbers such as height, leg length, head size and eye size from the measurements and put them in character.json. This time, 59 values changed.
  3. Write a parts list first and have a person skim it for a minute (section 7).
  4. Build once, then look at the automatic check results and the overlap sheet.

Front renders of two versions of the same chibi witch model. Left, the first version with a thick body and limbs and arms held out to the sides. Right, the rebuilt version with a slimmer body and limbs and arms lowered Left, the first version (v01). Right, the version rebuilt from numbers (v02). Both have 2,114 points (Blender render)

NumberFirst versionRebuilt version
Front silhouette overlap65.9%72.6%
Leg band overlap48.6%78.3%
Hat band overlap63.3%63.3%
Automatic checks passed1 of 7

The legs and body proportions improved a lot. But the hat band did not move at all.

7. What numbers did not fix: shapes the template does not have

The hat did not match for a reason that had nothing to do with numbers. Our script template had no code for a tall hat with its tip bent to one side. All it had were numbers that change the height and brim width of a cone hat. However you change the numbers, a cone stays a cone.

Writing a parts list turned up more of these. The art had 42 parts, and several were not in the template.

Part in the artIn the template?What it needs
Tall hat with a bent tipNoNew shape code
Long lock of hair falling to the left frontNo (Mirror keeps both sides the same)A hair lock part with Mirror turned off
Waist ornaments (chain, hanging gems)NoNew parts
Six patterns, including the starry brim lining and the gold hat band filigreeNoA projected texture, where pieces of the art are cut out and projected onto the model
EarringsYesOnly the size number changes

What we learned: proportions and face numbers can be matched by measuring the art. But shapes missing from the template, such as the hat and hair, cannot be fixed with numbers. So for a new character, write the parts list before building and check first for "shapes the template does not have." If there are any, have those parts built new, or model just those parts by hand. This witch is paused just before that step.

8. The order to follow when you try it

  1. If you only have a front view, make a turnaround first (the conditions in section 1).
  2. Have Claude Code write a parts list as a table, with the columns "part, size on screen, colour, in the template?".
  3. If some parts are not in the template, decide first whether to have them built or to model them yourself.
  4. Build the model and render it from the same directions as the turnaround, with an orthographic camera.
  5. Have the silhouette overlap and face ratios measured the same way.
  6. Fix the height bands with low numbers and the areas with large red or blue first.

A request to Claude Code could look like this. It is rewritten from our work; we did not run this exact text.

Overlay the turnaround and the model at the same size and measure the silhouette overlap (IoU) for the front, side and back.
Also measure each height band (legs, skirt, head, hat) separately, and make a sheet with areas only in the art in red and areas only in the model in blue.

Practice

  1. List at least ten parts of your character's art, and mark whether each can be built from a basic shape such as a cone, cylinder or box.
  2. In the image in section 3, find where the red and the blue are on the side silhouette and write them down.
  3. If face width ÷ eye width is 2.95 in the art and 3.167 in the model, work out by what percentage the face width must shrink to match the art if the model's eye width stays the same.

Common mistakes and fixes

SymptomCauseFix
The model looks bulkier than the artAnother character's proportions were copiedMeasure the proportions again from the turnaround and put them in the numbers
The overlap number is strangely lowThe turnaround has perspective, or the model was rendered with a perspective cameraMake both orthographic
The overall overlap is fine, but something is offA difference in one part is hidden in the overall numberMeasure by height band
Changing numbers does not change the hatThe template has no code for that shapeHave a new part built, or model it by hand
The hair is always symmetricThe part has a Mirror modifier onMake asymmetric locks a separate part with Mirror off
Ornaments cannot be seen on screenThe real size is right but too small on screenMeasure in screen pixels and enlarge, or paint them on as a pattern

In one line

Measure likeness in numbers: turnaround → silhouette overlap (by band) → face ratios → automatic checks. And find "shapes the template does not have" in the parts list before you build, because numbers cannot fix them.

References

KEEP EXPLORING

Read next

Two 3D models of the same witch design. Left, a full-size witch in a T-pose (model made with Meshy). Right, a chibi witch with a staff (model made with a Claude Code script)Blender
Blender and AI12 min read

Three ways to make a 3D character with AI: an image-to-3D generator (Meshy), a Claude Code script, and modeling by hand

We built the same witch design once with an image-to-3D generator (Meshy) and once with a Blender script written by Claude Code, rendered both under the same conditions, and compared them. Then we sum up the strengths and weaknesses of all three ways, including modeling by hand, and how to choose by goal.

EEVEE render of a grey fighter-jet model sitting at an angle on a beige floor, with a shadow to the lower rightBlender
Blender and AI11 min read

Cleaning up an AI-generated 3D model in Blender: merge split points, set the size, reduce faces

Import a fighter-jet model GLB made with Meshy into Blender 5.2, read its state from the statistics, merge split points with Merge by Distance, tidy normals and smooth shading, set the size, and cut the face count to one tenth with Decimate.

A PowerShell window. Running blender-mcp through uv with --transport http --port 9191 prints Started server process, StreamableHTTP session manager started, and Uvicorn running on http://127.0.0.1:9191 (terminal screenshot)Blender
Blender and AI11 min read

Using Blender MCP with ChatGPT: custom MCP servers in ChatGPT on the web, secure tunnels, and how Codex differs

What to know when you want to use Blender MCP with GPT: why the official Blender MCP cannot plug straight into ChatGPT on the web, the two routes OpenAI's docs describe (a public HTTPS address or Secure MCP Tunnel), and how they compare with Codex, the easiest way to drive Blender with a GPT model.

A 960x540 EEVEE render. A red cube on a gray floor with a smooth gray monkey head resting on it by the tip of its chin, and a shadow falling back to the left (Blender render)Blender
Blender and AI15 min read

Ten first prompts for Blender MCP: from reading the scene to rendering, seen through the real answers

After connecting the official Blender MCP to an AI app, we sent ten first prompts in order: read, create, edit, render, and review. This guide shows what the AI did for each one and what a person still needs to check, with screenshots.

EEVEE render of a bright gold metal monkey head on a grey floor, with sharp reflections on the brows, eyeballs, and ears and an interior photo background with beige wallpaper and a dark window (Blender render)Blender
Blender and AI14 min read

Letting AI set up lights and materials: three-point lighting and PBR over MCP, compared in renders

Through the official Blender MCP, hand the three-point lighting and the gold metal and matte floor materials of a monkey head scene to AI, read the real result in the panels, and compare three EEVEE renders (default light, the AI's result, and a hand-tuned version) to learn why metal looks dull and which values are worth changing by hand.

EEVEE render of a low-poly room with two walls and a wooden floor. A bookshelf with books on its shelves at front left, a bed with a blue blanket, a pinkish rug, a desk, chair, and desk lamp under the window, and a potted plant in the right corner (Blender render)Blender
Blender and AI13 min read

Building a low-poly room with Blender MCP: the order of questions and what to fix by hand

Send five questions in one conversation through the official Blender MCP to build a low-poly room with walls, a window, furniture, props, and lights, then use the AI's notes, a check that does not change the scene, and the first render to fix the bookshelf direction, the default light left on, and a dim desk lamp by hand.