---
title: Turn a sketch into a finished prop, in 2D and 3D
display: 'Turn a *sketch* into a finished prop, in 2D and 3D'
nav_title: Sketch to prop, 2D and 3D
summary:
  - "A graphite sketch of a game prop to a transparent render that follows every line, then to an engine-ready textured 3D model under 8,000 triangles."
  - "Name every sketched part in the prompt and forbid additions; count the parts on the render before paying for 3D."
  - "Set the triangle budget at generation time, then measure it: one model treated 8,000 as a target and landed 3 percent over."
  - "Meshy 7.1 kept more surface detail for a hero prop; Tripo P2 with Auto Size came back at real size, ready to drop in."
description: Take a sketch of a game prop to a clean transparent render that follows every line, then to a textured 3D model under a triangle budget, compare two 3D models, check scale and maps, and export to an engine.
section: playbooks
order: 18
type: playbook
topic: Games
level: Build
roles: [artist]
time: { read: 15, do: 45, wait: 10 }
needs: ["Any plan with credits", "A sketch of the prop (scan, phone photo or tablet drawing)", "A 3D tool or engine to inspect and import (Blender, Unity, Unreal Engine or Godot)"]
last_verified: 2026-10-16
models_checked: ["GPT Image 2.5 Sunburst", "Meshy 7.1 - Image to 3D", "Tripo P2"]
hero: playbooks/props-and-items-from-sketch/hero-lantern-sketch-to-render.webp
related: [isometric-tiles-and-buildings, game-icon-set, image-to-3d, process-3d-models, export-3d-to-engines-and-dcc]
run_in: [model_openai-gpt-image-2-5-sunburst, model_meshy-7-1-img23d, model_tripo-p2-image-to-3d]
# the use case made, on scenario.com/explorations, and the platform workflows that run it
made_with:
  - { slug: sketch-to-asset, title: "Sketch to Asset" }
  - { slug: mech-bay, title: "Mech Bay 03" }
  - { slug: image-to-3d-benchmark, title: "Image to 3D Benchmark" }
run_with:
  - { id: wflow_2GfeZHMpZP1rhEa5xk1tEpG7, name: "Game Assets: Concept to 3D Model" }
  - { id: wflow_DcVEAf61ZeBLwA75ps3KXan7, name: "MechForge: Modular 3D" }
thumb: playbooks/props-and-items-from-sketch/thumb.webp
video: tutorials/props-and-items-from-sketch.mp4
chapters:
  - { at: 0, title: "The prop to make", image: "/media/images/playbooks/props-and-items-from-sketch/ch-01-the-prop-to-make.webp" }
  - { at: 15, title: "The sketch as the reference", image: "/media/images/playbooks/props-and-items-from-sketch/ch-02-the-sketch-as-the-reference.webp" }
  - { at: 27.5, title: "List every part, forbid the rest", image: "/media/images/playbooks/props-and-items-from-sketch/ch-03-list-every-part-forbid-the-rest.webp" }
  - { at: 43.5, title: "Materials come second", image: "/media/images/playbooks/props-and-items-from-sketch/ch-04-materials-come-second.webp" }
  - { at: 56, title: "Tick every part", image: "/media/images/playbooks/props-and-items-from-sketch/ch-05-tick-every-part.webp" }
  - { at: 79, title: "Set the budget before you generate", image: "/media/images/playbooks/props-and-items-from-sketch/ch-06-set-the-budget-before-you-generate.webp" }
  - { at: 91.5, title: "Same render, second model", image: "/media/images/playbooks/props-and-items-from-sketch/ch-07-same-render-second-model.webp" }
  - { at: 111.5, title: "Count the triangles in Blender", image: "/media/images/playbooks/props-and-items-from-sketch/ch-08-count-the-triangles-in-blender.webp" }
  - { at: 160, title: "Exploration: Sketch to Asset", image: "/media/images/playbooks/props-and-items-from-sketch/ch-09-exploration-sketch-to-asset.webp" }
  - { at: 170, title: "Recap", image: "/media/images/playbooks/props-and-items-from-sketch/ch-10-recap.webp" }
steps:
  - title: "The sketch as the reference"
    text: "Create › Images › GPT Image 2.5 Sunburst, Reference Images › Select from Library › the lantern sketch. Dimensions 1:1, Quality high, Background transparent, because the render goes on to 3D next."
  - title: "List every part, forbid the rest"
    text: "The first paragraph names every part in the drawing, then one sentence forbids anything else. The page also has small views and notes, so it says to follow the large drawing only."
    prompt: |-
      The reference image is a graphite sketch of a game prop: follow the large main drawing only, its shapes, proportions, three-quarter angle and every part it shows: a short chimney cap with vent holes on top, a dented domed hood with small vent holes, a riveted top band with two side lugs, four vertical riveted guard bars, a clear glass globe with a star-shaped crack, a small burner inside the globe, a riveted base band with round vent holes and one knurled wick knob, a small latch tab on the base rim, and a heavy chain running from the chimney cap down to a cargo hook resting on the ground at the left. Do not add parts the sketch does not show. Ignore the small side and top views and all handwriting.

      Game prop: a salvaged ship's lantern from a harbor wreck. Tarnished brass with green verdigris in the seams, dents and scratches, salt crust around the rivets, a dark iron chain and hook with flaking rust, slightly grimy glass with the crack catching the light, the burner unlit. Single object, centered, filling about 80 percent of the square, three-quarter view as in the sketch, transparent background, no cast shadow, no text. Style: grounded AAA realism, weathered materials, soft overcast light, cinematic depth.
  - title: "Materials come second"
    text: "In the same prompt, materials come in a second paragraph: tarnished brass, verdigris, a rusted chain. The first paragraph gives the shape, the second the surface."
  - title: "Tick every part"
    text: "Before any 3D, tick every part of the list against the render: all of it should be there and nothing added. Without the sketch, the same prompt moved the chain and added a handle and a cage; fix that on the image, where it costs far less than on a mesh."
  - title: "Set the budget before you generate"
    text: "Create › 3D › Meshy 7.1 - Image to 3D, Image: the approved render. Remesh on (without it the target is ignored), Target Polycount 8,000, Topology Triangle, Enable PBR on."
  - title: "Same render, second model"
    text: "Switch to Tripo P2 with the same render: Face Limit 8,000, PBR on, Auto Size on, which gives the mesh a real-world size. Meshy kept more of the wear (dents, rivets, open chain links), so it was kept for a prop near the camera."
  - title: "Count the triangles in Blender"
    text: "Measure outside Scenario, in your 3D tool. Meshy treated 8,000 as a target and returned 8,274; a Decimate at 0.95 brought it to 7,860 with no visible change. Tripo came in at about 40 cm, close to a real lantern, while Meshy has no real size, so scale it against a reference."
agent_steps:
  - title: "Connect the Scenario MCP"
    text: "Connect your agent and sign in once at [mcp.scenario.com](https://mcp.scenario.com). Then tell it which Scenario team and project to use, so every file lands there."
  - title: "Give the agent the files"
    text: "The sketch of the prop: a scan, a phone photo or a tablet drawing. Upload it with upload_asset or give its asset ID. Keep your 3D tool (Blender, Unity, Unreal Engine or Godot) at hand for the measures."
  - title: "Brief the agent: the render"
    text: "The first paragraph names every part in the drawing and forbids the rest; the second gives the surface. Without the sketch, the same prompt moved the chain and added a handle and a cage."
    prompt: |-
      Render the prop with GPT Image 2.5 Sunburst (model_openai-gpt-image-2-5-sunburst): referenceImages set to [the sketch's asset ID], width 1536, height 1536, quality "high", background "transparent". Quote the cost with a dry run first and wait for my go.

      Prompt, word for word:
      The reference image is a graphite sketch of a game prop: follow the large main drawing only, its shapes, proportions, three-quarter angle and every part it shows: a short chimney cap with vent holes on top, a dented domed hood with small vent holes, a riveted top band with two side lugs, four vertical riveted guard bars, a clear glass globe with a star-shaped crack, a small burner inside the globe, a riveted base band with round vent holes and one knurled wick knob, a small latch tab on the base rim, and a heavy chain running from the chimney cap down to a cargo hook resting on the ground at the left. Do not add parts the sketch does not show. Ignore the small side and top views and all handwriting.

      Game prop: a salvaged ship's lantern from a harbor wreck. Tarnished brass with green verdigris in the seams, dents and scratches, salt crust around the rivets, a dark iron chain and hook with flaking rust, slightly grimy glass with the crack catching the light, the burner unlit. Single object, centered, filling about 80 percent of the square, three-quarter view as in the sketch, transparent background, no cast shadow, no text. Style: grounded AAA realism, weathered materials, soft overcast light, cinematic depth.

      Show me the render next to the sketch.
  - title: "Tick every part before any 3D"
    text: "All of the listed parts should be there at the sketched angle, and nothing added. Fix it on the image, where it costs far less than on a mesh."
    prompt: |-
      Tick every part of the prompt's list against the render, one by one: chimney cap with vent holes, domed hood, top band with two lugs, four guard bars, cracked globe, burner, base band with vent holes and wick knob, latch tab, chain and hook. Tell me what is missing, what was added, and whether the angle and the alpha edge are clean. Redo the render only if a part fails.
  - title: "Brief the agent: the 3D models"
    prompt: |-
      Turn the approved render into 3D on two models, with the render as the image, started with wait: false and collected with one jobs_wait:
      - Meshy 7.1 - Image to 3D (model_meshy-7-1-img23d): image [render], geometryResolution "4k", textureResolution "2k", enablePbr true, shouldRemesh true, topology "triangle", targetPolycount 8000.
      - Tripo P2 (model_tripo-p2-image-to-3d): image, faceLimit 8000, pbr true, autoSize true.
      Quote each 3D job with a dry run first and wait for my go. Download both with format "glb".
  - title: "Measure in your 3D tool"
    text: "Accept when the 3D front matches the render, the triangle count is measured and under budget, the PBR maps load and carry the wear, thin parts survive and nothing is missing from the back. In the run, Meshy returned 8,274 triangles for a target of 8,000 (a Decimate at 0.95 brought it to 7,860), Tripo came in at about 40 cm, and Meshy kept more of the wear, so it was kept for a prop near the camera."
    prompt: |-
      Import both GLB files into Blender, count the triangles, measure the real-world size, and check that the color, normal and roughness maps load. Turn each model and tell me if a part is lost, if thin parts merged into blobs, if texture smears on large faces, or if there are holes visible from a gameplay angle. If a count is over 8,000, apply a Decimate and report the new count.
  - title: "File and report"
    prompt: |-
      Create a collection for this prop with the sketch, the approved render and both 3D models. Report the models, every asset ID, the measured triangle counts and sizes, which model you recommend keeping and why, and the total cost spent.
updated: 2026-10-16
canonical: https://learn.scenario.com/playbooks/props-and-items-from-sketch
---

Last updated: 2026-10-16

# Turn a sketch into a finished prop, in 2D and 3D

> Take a sketch of a game prop to a clean transparent render that follows every line, then to a textured 3D model under a triangle budget, compare two 3D models, check scale and maps, and export to an engine.

In short:

- A graphite sketch of a game prop to a transparent render that follows every line, then to an engine-ready textured 3D model under 8,000 triangles.
- Name every sketched part in the prompt and forbid additions; count the parts on the render before paying for 3D.
- Set the triangle budget at generation time, then measure it: one model treated 8,000 as a target and landed 3 percent over.
- Meshy 7.1 kept more surface detail for a hero prop; Tripo P2 with Auto Size came back at real size, ready to drop in.


A graphite prop sketch taken to a clean transparent render that adds nothing you did not draw, then through two image-to-3D models and checked for what makes it game-ready: real size, triangle budget, PBR maps and the angles players see. The example is a salvaged ship's lantern for Ashen Tides, an invented dark-fantasy game by Hollowpeak Studios. The same steps then run as a batch.

:::note As of October 2026
The models, settings and screens in this article are the ones Scenario offered in October 2026. New models and updates arrive often, so check the app for newer options before you choose.
:::

![A graphite sketchbook page of a ship's lantern with a chain and cargo hook, next to the finished render in tarnished brass with a cracked glass globe](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/a81508cf3e7ceeb077d4f07ef3bad03e98a3450ccc8cb19eea71bf2fe7b3d7a7.webp "Sketch to render: every part of the render was in the sketch.")

## The brief

| Field | Brief |
|---|---|
| Goal | A salvaged ship's lantern prop, 2D render and engine-ready 3D model; the same steps reusable for a batch of props |
| Format | 1536x1536 transparent PNG; GLB with PBR textures (color, normal, roughness/metal) |
| Budget | Under 8,000 triangles, textures 2048 px or less |
| Fixed | Every part in the main drawing (chimney cap, dented hood, riveted bands, four guard bars, cracked glass globe, burner, wick knob, latch tab, chain to a cargo hook); the three-quarter angle; grounded realism |
| May vary | Wear, color of the verdigris, the exact rust pattern |
| Accept when | The render adds no part the sketch lacks; the 3D model matches the render from the front three-quarter view, back and top are plausible, it stays under budget, imports at a known scale and its maps load correctly |

For a character followed by rigging, see [Rigged 3D character](https://learn.scenario.com/playbooks/rigged-3d-character.md).

## Approach

:::flow
Sketch | Main drawing at the final angle | image
Render | GPT Image 2.5 Sunburst, sketch as reference | image
Part count | Sketch against render |
3D models | Meshy 7.1, remesh to 8,000, PBR; Tripo P2, 8,000 faces, Auto Size | 3d
Inspect | Triangles, maps, bounding box, clay views |
Fix and export | Reduce, scale, then GLB or FBX | 3d
:::

- **The sketch goes in as the reference, and the prompt names every part in it** ([Use a blockout as the guide](https://learn.scenario.com/browse)), so the model treats the lines as a plan. One sentence forbids additions: "Do not add parts the sketch does not show." Materials and style go in the second paragraph. See [Give references a role](https://learn.scenario.com/browse).
- **Tell the model what to ignore.** This sketchbook page also holds a side view, a top view and handwritten notes. One line says to follow the large drawing only.
- **The 2D render is the input to 3D.** Image-to-3D models reconstruct from one view: one centered object, transparent background, a three-quarter angle that shows the top and two sides.
- **Fix shape on the render,** where it is cheapest; on a mesh it costs far more. See [Repair at the cheapest stage](https://learn.scenario.com/browse).
- **Spend on 3D only after the 2D is approved** ([Approve the still first](https://learn.scenario.com/browse)): a 3D run costs several times an image. See [Control cost](https://learn.scenario.com/browse).
- **Set the budget at generation time:** a remesh target polycount on Meshy 7.1, a face limit on Tripo P2. Asking for 8,000 up front gives a usable mesh instead of a dense one to reduce later.
- **Then measure it.** A budget you set is a promise to check, the rule the [Image to 3D Benchmark exploration](https://www.scenario.com/explorations/image-to-3d-benchmark/) drew from more than 150 meshes. Count triangles in a 3D tool before the model enters the project.
- **Compare two 3D models on your own prop once, then standardize.** 3D models differ more than image models on thin parts, glass and textures; one comparison on a representative prop is enough for a batch. See [Compare models on your brief](https://learn.scenario.com/courses/pick-the-right-model).

Models, as of October 2026:

- **Render:** GPT Image 2.5 Sunburst.
- **3D, recommended by the Scenario MCP for this input:** Tripo P2 (marked Preview), then Meshy 7.1 - Image to 3D.
- **3D, kept on this prop:** **Meshy 7.1 - Image to 3D**, for the open chain links, the dents in the hood and the surface detail on a hero prop. **Tripo P2** is the runner-up and the better pick when real size matters more; [Part 2](#part-2-the-3d-model) measures both.
- **Also worth a test:** Claude Opus 5.5 3D and Rodin Gen-2.5.

The same two moves (name the parts, forbid additions) drive the [Sketch to Asset exploration](https://www.scenario.com/explorations/sketch-to-asset/), which publishes its prompts for nine sketches.

## Steps

### Part 1: the 2D render

:::steps
1. **Prepare the sketch.** Scan or photograph it flat, in even light. Clear main lines matter more than shading. Upload it to your library.

2. **Render it.** Open **Create**, choose **Images**, pick **GPT Image 2.5 Sunburst**. Under **Reference Images**, add the sketch. Set **Dimensions** to 1:1, **Quality** to `high` and **Background** to `transparent`. This run used 1536x1536 through the Scenario MCP. Prompt:

   ```text
   The reference image is a graphite sketch of a game prop: follow the large
   main drawing only, its shapes, proportions, three-quarter angle and every
   part it shows: a short chimney cap with vent holes on top, a dented domed
   hood with small vent holes, a riveted top band with two side lugs, four
   vertical riveted guard bars, a clear glass globe with a star-shaped crack,
   a small burner inside the globe, a riveted base band with round vent holes
   and one knurled wick knob, a small latch tab on the base rim, and a heavy
   chain running from the chimney cap down to a cargo hook resting on the
   ground at the left. Do not add parts the sketch does not show. Ignore the
   small side and top views and all handwriting.

   Game prop: a salvaged ship's lantern from a harbor wreck. Tarnished brass
   with green verdigris in the seams, dents and scratches, salt crust around
   the rivets, a dark iron chain and hook with flaking rust, slightly grimy
   glass with the crack catching the light, the burner unlit. Single object,
   centered, filling about 80 percent of the square, three-quarter view as in
   the sketch, transparent background, no cast shadow, no text.
   Style: grounded AAA realism, weathered materials, soft overcast light,
   cinematic depth.
   ```

   Click **Generate**. The price shows on the button before you run. This run asked for two takes.

3. **Compare the render with the sketch, part by part** ([Approve the still first](https://learn.scenario.com/browse)). Tick each part of the list in the prompt. Anything extra (a handle, a cage over the glass, a second hook) means a re-run.
:::

### Part 2: the 3D model

The approved render now goes through two image-to-3D models, is measured, and is prepared for an engine.

![The salvaged ship's lantern as a 3D model from Meshy 7.1 on the left and Tripo P2 on the right, both in tarnished brass with a rusted chain and hook](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/95f6a7a0e088889770778fabd62c376f4effffa6e7cb211a8895463b3bbb0586.webp "Same render in, two models out. Left: Meshy 7.1. Right: Tripo P2.")

:::steps
4. **Check the input.** One object, centered, transparent background, three-quarter view that shows the top and two sides. A cast shadow or a second object becomes geometry.

5. **Run the first model.** Choose **Convert to 3D** on the render, or open **Create** > **3D** and add it under **Image** with **Select from Library**. Pick **Meshy 7.1 - Image to 3D**. Turn on **Remesh**, set **Target Polycount** to 8,000, choose triangle topology and keep **Enable PBR** on. Remeshing is off by default; without it, the target polycount is ignored. Click **Generate** (about 5 minutes in this run); this run costs many times the render, so check the price on the button first.

6. **Run the comparison model** ([Run a same-input shoot-out](https://learn.scenario.com/browse)). Same render, pick **Tripo P2**, set **Face Limit** to 8,000, leave **PBR** on and turn on **Auto Size**, which scales the mesh to an estimated real-world size. About 1.5 minutes in this run.

7. **Inspect each model in a 3D tool** ([Check by measurement](https://learn.scenario.com/browse)). Import the GLB and record:
   - triangle count and number of meshes (also shown in the asset's **Details**);
   - texture maps and their sizes;
   - bounding box size in meters;
   - front, back and top views, shaded, then as plain grey clay with wireframe. The clay view shows which details are geometry and which are only painted on. The back is the part the model had to invent.

8. **Bring it under budget if needed.** A model a few percent over the budget needs no new run: a small reduction in your 3D tool (Blender's Decimate at a ratio of 0.95 here) keeps the look. Far over budget, use the **Remesh** category in the 3D model picker or see [Process 3D models](https://learn.scenario.com/3d/process-3d-models.md).

9. **Fix scale on import.** A mesh without Auto Size has no real size: scale to your game's units with a reference object (a 1.8 m character, a 1 m cube) first.

10. **Export to the engine.** Download as GLB (Godot, Unreal Engine, Blender, web) or FBX (Unity, Maya, most DCC tools). Engine import settings are in [Export 3D to engines and DCC tools](https://learn.scenario.com/3d/export-3d-to-engines-and-dcc.md).
:::

**With the Scenario MCP:** run `model_openai-gpt-image-2-5-sunburst` with `referenceImages: [sketch_id]`, `width: 1536`, `height: 1536`, `quality: "high"` and `background: "transparent"`, then `model_meshy-7-1-img23d` with `image: [render_id]`, `geometryResolution: "4k"`, `textureResolution: "2k"`, `enablePbr: true`, `shouldRemesh: true`, `topology: "triangle"` and `targetPolycount: 8000`, or `model_tripo-p2-image-to-3d` with `image`, `faceLimit: 8000`, `pbr: true` and `autoSize: true`.

Quote each 3D job with `dry_run: true` first ([Quote before you run](https://learn.scenario.com/browse)): the Meshy 7.1 job cost about five times the two-take render in this run. For a batch, start all jobs with `wait: false`, then one `jobs_wait`, and download each with `format: "glb"`.

:::model playbooks/props-and-items-from-sketch/harbor-lantern.glb
![The 3D lantern in tarnished brass with its rusted chain and hook, rendered in soft grey light](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/4e5f6b08832088bc3d5164a0a617073892b9af7bf36a2f23ee0aaf2b77d51945.webp)
Kept: the Meshy 7.1 model of the lantern, 7,860 triangles after a 5 percent reduction from 8,274, with color, metal-roughness and normal maps at 2048 pixels. Drag to orbit.
:::

:::model playbooks/game-ready-3d-props/harbor-lantern-tripo-p2.glb
![The Tripo P2 lantern in brown brass with a milky white globe and a dark chain and hook](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/aea229323d85b399c5cc416865ccd388400abf41b77f1c44450bc106ee301954.webp)
Runner-up: Tripo P2, 7,882 triangles, at real size through Auto Size. Drag to orbit.
:::

## Check the result

:::check
**Accept when:** the render shows exactly the sketched parts at the sketched angle; the alpha edge is clean; the 3D front matches the render; the triangle count is measured and under budget; color, normal and roughness data load in the engine and carry the wear (dents, rivets, rust); thin parts survive; nothing floats or is missing from the back.
**Reject when:** the render adds or drops a part, or the angle changes; the 3D model loses a part, merges thin parts into blobs, or shows smeared texture on large faces; the normal map shows inverted lighting in the engine; or the mesh has holes visible from a gameplay angle.
:::

:::compare
![The finished lantern render on a checkerboard background](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/24cc1811b23d5a765fdf5965cac0cc035a0d0ab20a9c0b6da2c289e17f915285.webp "2D render: transparent, every part from the sketch.")
![The back of the 3D lantern: plain hood and bands, the chain reduced to a loop at the top](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/82c2a0e874af44fe648c7b461eba9a13a33d1659efa03c9be4fa2d10e9ba9c24.webp "3D back: invented. The chain only shows as a loop at the top.")
:::

The render followed the sketch on the first take: chimney cap, dented hood with its vent holes, riveted bands, four guard bars, the star crack, the burner, the wick knob, the latch tab, and the chain falling to the hook at the left. Nothing was added. Both 3D models kept that from the front. Measured side by side:

| Measure | Meshy 7.1 | Tripo P2 |
|---|---|---|
| Price | Lower | About 1.6 times Meshy 7.1 |
| Wait | about 5 min 12 s | about 1 min 25 s |
| Triangles | 8,274 (3 percent over the target); 7,860 after a 0.95 reduction | 7,882 |
| Meshes, materials | 1, 1 | 1, 1 |
| Texture maps | color, metal-roughness, normal, 2048 px each | color, normal, ORM (occlusion, roughness, metalness), 2048 px each |
| Bounding box | about 1.09 x 1.67 x 1.90 m (no real size) | about 0.32 x 0.26 x 0.40 m (Auto Size) |
| Front detail | dents, rivets, verdigris, open chain links | cleaner metal, fewer dents, globe reads as milk glass |

Both meshes came back as one mesh and one material each, what an engine wants for a small prop.

- **Hero props near the camera:** Meshy 7.1 kept more of the render's wear, at the lower price and the longer wait. Treat its polycount as a target and check the count.
- **Props dropped straight into a level:** Tripo P2 with Auto Size arrived at about 40 cm tall, close to a real ship's lantern, and stayed under the face limit.

![Back views and clay wireframes of both models: Meshy 7.1 on top, Tripo P2 below](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/b5365bd42c4bb0f24cb9f6aee8c4e3e27971c66b75ef3ad34ce01018d5c7b621.webp "Back, clay back, clay three-quarter. Top row Meshy 7.1, bottom row Tripo P2.")

Three limits are typical of single-image reconstruction:

- **The back is invented.** Both models made a plain back. If the back matters, or the player walks around the object, draw it, render a back view and use **Meshy 7.1 - Multi Image to 3D** or another multi-view model.
- **Glass does not survive as glass.** Neither model kept the clear cracked globe of the render. Meshy baked it to an opaque grey with the burner painted on and lost the star crack; Tripo to a milky white with no burner. Give the globe its own transparent material in the engine.
- **The budget is a target.** Meshy returned 8,274 triangles for an 8,000 target. A 5 percent reduction in Blender brought it to 7,860 with no visible change.

**Painted against built detail.** In clay, Tripo's chain and hook are real geometry down to the tip of the hook. Meshy's chain links are open but its hook is a flat blob that only the texture turns into a hook. At game distance both read; for a close-up the clay view decides.

:::quiz Check yourself
? Two renders of the lantern. The sketch shows a chimney cap, a dented hood, riveted bands, four guard bars, a cracked globe, a burner, a wick knob, a latch tab and a chain to a hook resting at the left. Which render goes to 3D?
![A brass ship's lantern with a chain and a heavy hook, on a dark grey background, take A](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/0fedb0849f72c2bcf7ba9c8b2a4ceaee31a6ad673e991e077c3e62e341909451.webp "Take A")
![A brass ship's lantern with a chain and a hook, on a dark grey background, take B](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/1811f0d26e06f86ca9e6e411347c7665a899c0523b812705f6759ab22cd11d3b.webp "Take B")
- [ ] Take A: the heavier hook and the cage read better in a game
- [x] Take B: every sketched part, nothing added
- [ ] Take A, and remove the extra parts on the 3D model afterwards
> Take A came from the text prompt alone: the chain falls on the right, a side handle bar and a cage over the glass appear, and the burner changes. Take B followed the sketch. Shape is cheapest to fix on the render, before the 3D step.

? The same lantern render through two image-to-3D models. The lantern is a hero prop seen close to the camera. Which one do you keep?
![A brass lantern 3D model with a globe, a chain and a hook, front three-quarter view, model A](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/aea229323d85b399c5cc416865ccd388400abf41b77f1c44450bc106ee301954.webp "Model A")
![A brass lantern 3D model with a globe, a chain and a hook, front three-quarter view, model B](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/fc6999a1815122967fed2ef8fa4bf573e475de8a974a7fbada5dd778aec23b82.webp "Model B")
- [ ] Model A: its globe is brighter, so it reads better in a dark level
- [x] Model B: the dents, rivets and verdigris of the render survive, which matters near the camera
- [ ] Either one: both are near 8,000 triangles, so the choice makes no difference
> Model B (Meshy 7.1) kept more of the render's wear. Model A (Tripo P2) is cleaner and turned the cracked globe into milk glass. Neither kept the glass clear, so that part goes to an engine material either way.

? The 3D lantern matches the render from the front, but its glass is opaque grey and the crack is gone. How do you read this?
- [x] Typical of image-to-3D: glass is baked into an opaque texture, so give the globe its own transparent material in the engine
- [ ] The render was at fault: re-render with "more transparent glass"
- [ ] Raise the target polycount so the model has room for the glass
> Image-to-3D models bake what they see into color maps. The glass in the render was clear; neither 3D model in this run kept it clear.

? You asked for 8,000 triangles. The model you prefer comes back at 8,274. What do you do?
- [ ] Accept it: the target was set, so the model is within budget
- [x] Reduce it by about 5 percent in your 3D tool, recount, and note that this model treats the number as a target
- [ ] Regenerate with a target of 4,000 to be safe
> A budget is a promise to check. A small reduction keeps the look; a new run at half the target would cost a run and lose detail.
:::

## Make it repeatable

- **Keep the prompt frame** ([Batch from a template](https://learn.scenario.com/browse)). The first paragraph ("follow the large main drawing only... every part it shows... Do not add parts") stays for every prop; only the parts list and materials change.
- **One sheet of settings** ([Keep sources as data](https://learn.scenario.com/browse)): 3D model, target or face limit, PBR setting, Auto Size, reduction ratio, import scale and export format, in the project's README or collection description.
- **Workflow with approval before 3D** ([Package it as a workflow or skill](https://learn.scenario.com/browse)). In the **Node Editor**: an **Image** input for the sketch, a **Text** input for the parts list and materials, a **Prompt Builder** with the fixed frame, an **Image Generator** on GPT Image 2.5 Sunburst with transparent background, an **Approval** node so only approved renders reach 3D ([Approval and review steps](https://learn.scenario.com/workflows/approval-and-review-steps.md)), then a **3D Generator**.
- **Inspection script.** Run the import-and-measure script (triangles, maps, bounding box, shaded and clay renders) on every model before it enters the engine project. This run used Blender headless.
- **Platform Apps to compare** (**Workflows**, **Apps**): **Sketch to Render** (line art to a colored render), **Sketch Colorizer** (color and shading), **Game 3D Assets - Concept to 3D Model** (description and style reference to a 3D asset), **3D Model Pipeline (High-poly to Game-ready)**, **Optimize 3D Model** and **Retopologize 3D model**.

## Runs and time

| Step | Model | Runs or takes | Kept | Wait |
|---|---|---|---|---|
| Render from sketch | GPT Image 2.5 Sunburst, 1 reference | 1 run, 2 takes | 1 (take 2 runner-up) | about 58 s |
| Render from text only, for comparison | GPT Image 2.5 Sunburst | 1 | 0 (quiz take) | about 53 s |
| 3D model, PBR, 8,000-triangle target | Meshy 7.1 - Image to 3D | 1 | 1 | about 5 min 12 s |
| 3D model, 8,000 faces, PBR, Auto Size (comparison) | Tripo P2 | 1 | 0 (runner-up) | about 1 min 25 s |
| Inspection, clay renders, 0.95 reduction | Blender, headless | 0 | n/a | about 2 min |

About 8 and a half minutes of generation, plus about 2 minutes of local inspection. The 3D runs carry the cost; a batch costs one 3D run per prop on the model you pick, plus the renders.

The price shows on the **Generate** button before you run; through the Scenario MCP, ask for a dry-run quote. To size a batch, see [Estimate your budget](https://learn.scenario.com/browse#t-hc-accounts-legal).

## Variations

- **Weapons and tools:** list grip, guard and blade as parts.
- **Rarity tiers:** attach the approved render and ask for a gilded or cursed version with the same silhouette; see [Edit one thing across a campaign](https://learn.scenario.com/playbooks/edit-one-thing-campaign.md), or run the **Asset Evolution** App.
- **Inventory icons:** render the prop at icon framing with the icon set's anchor attached; see [Make a consistent game icon set](https://learn.scenario.com/playbooks/game-icon-set.md).
- **Background props in bulk:** a lower target (2,000 to 4,000) for props that stay far from the camera, and Auto Size so they drop in at scale.
- **Modular kits:** render each module (wall, arch, stair) on its own at the same angle, and generate them separately.
- **Multi-view input:** render front, side and back with the front attached as reference, then use a multi-view model; see [Multi-view and parts](https://learn.scenario.com/3d/multi-view-and-parts.md).
- **Product and packaging concepts:** the same sketch-first method works outside games; a web or AR model of a product can start from one packshot.
- **3D printing and printable figures:** a closed, solid mesh needs different checks.

## If it breaks

- **The render adds parts.** Name every part of the sketch in the prompt and keep "Do not add parts the sketch does not show." If one part keeps appearing, name it as excluded.
- **The render copies the notes or the small views.** Say "follow the large main drawing only" and "ignore the small views and all handwriting", or crop the sketch.
- **The angle changes.** Say "three-quarter view as in the sketch" and redraw the sketch at the exact angle you want.
- **The 3D model is a lumpy blob, or has extra geometry where the background was.** The render probably had a background, a cast shadow or a second object. Re-render: transparent background, one object, centered.
- **Thin parts disappear in 3D.** Chains and wires are the first to merge. Make them thicker in the sketch and render, or model them separately and attach them in your DCC tool.
- **The back side looks wrong.** Render a back view with the front render attached as reference, then use a multi-image 3D model.
- **A few percent over budget.** Reduce in your 3D tool and recount. Far over budget: lower the target or face limit and run again, or remesh the existing model.
- **Glass or transparent parts turn opaque.** Expected from one image: assign a transparent material to those faces in the engine.
- **Texture smears on large flat faces.** Ask for more surface detail in the render (rivets, dents, grain), or retexture.
- **The model is the wrong size in the engine.** Turn on Auto Size where the model offers it, or scale on import with a reference object and note the factor for the batch.
- **The normal map lights the wrong way.** Some engines expect the green channel flipped (OpenGL versus DirectX convention). Flip it in the import settings.

Source: https://learn.scenario.com/playbooks/props-and-items-from-sketch
