# Workflow: Making a Board from an Image

> Turn one image into a game board — a rectangular slab, or its non-transparent shape extruded — producing a texture, material, model and prefab at once.

- Source: https://diceytable.com/docs/editor/workflows/board-from-image
- Last verified: 2026-10-11

Most board art starts life as a single flat picture. **New ▾ ▸ Board from Image…** takes that picture and
builds the four project items a real board needs, so you never have to model one: the art
becomes a **texture**, the texture is wired into a **material**, the shape becomes a
**model** (a generated `.glb`), and the three are bound together in a reusable **prefab**.

## Steps

1. In the asset explorer, open **New ▾** and choose **Board from Image…**, then pick your image. PNG, JPEG, WebP, GIF,
   BMP and AVIF all work; only PNG and WebP carry the transparency that the cut-out mode
   needs.
2. In the dialog, name the board. The name is used for the material, the prefab, and the
   generated model's filename.
3. Choose a **Shape**:
   - **Rectangle** — a slab with the image's proportions. The art covers the top face; the
     rim and underside sample the image's own edge, so the board reads as printed on both
     sides rather than as a picture stuck to a blank block.
   - **Cut out shape** — traces the outline of everything in the image that is *not*
     transparent and extrudes that instead. Use it for a hex map, a track, an irregular
     player board, or any art whose silhouette is part of the design. Enclosed transparent
     areas become real holes through the board.
4. For a cut-out, tune the two shape controls while watching the preview. The orange line is
   the outline that will be extruded; blue lines are holes that will be punched through.
   - **Transparency threshold** — how opaque a pixel must be to count as board. Raise it to
     shave off the soft, semi-transparent fringe an anti-aliased or feathered PNG carries.
   - **Edge detail** — how closely the outline follows the artwork. *Fine* hugs every curve
     and costs the most triangles; *Blocky* straightens it aggressively.
5. Set the physical size. **Longest side** is measured in inches along the board's longer
   edge; the shorter edge follows from the image's aspect ratio, so a board can never come
   out stretched. The line beneath the fields shows the resulting footprint.
6. Set the **Thickness**, also in inches. A typical folding game board is around `0.1″`–`0.2″`.
7. Click **Create board**. The first time you use an image, DiceyTable asks where it came from
   (the same credit question every import asks); answer it, or cancel to go back to the board
   options with nothing written. The status line then reports the triangle count and confirms
   all four items were added.
8. Open `Project / Prefabs` — the new board is selected there. Click **Place** to put a copy
   on the table; place it as many times as the game needs.

## From an image already in the project

If the art is already in your project — imported earlier, or made in the image editor — right-click
it in the Project pane and choose **Create board from image…**. The same dialog opens, and the
board is built the same way, with two differences:

- **No texture is added.** The board's material uses the existing file as its texture, so the
  image bytes still exist once. That texture keeps the sampling settings it already had; if the
  board's rim shows a smear of the opposite edge, set both axes to `clamp` (see
  [If it fails](https://diceytable.com/docs/editor/workflows/board-from-image#if-it-fails)).
- **You are not asked for a credit again** when the image already has one — the generated model
  takes a copy of it. An image with no credit yet is asked about once, under its project path.

## Definition of done

Four items exist in your project:

| Item | Where it lands | What it is |
|---|---|---|
| Texture | `Project / Textures` | Your image, converted to WebP by the standard import pipeline, with its sampling set to **clamp** on both axes. |
| Material | `Project / Materials` | A matte, non-metallic material with the texture in its `diffuseMap` slot. |
| Model | `Project / Models` | A generated `.glb` holding the board geometry, sized in real-world units. |
| Prefab | `Project / Prefabs` | A `board` piece that references the model and the material, locked by default. |

## Why four items instead of one baked model

The art could have been baked into the `.glb`, and deliberately was not. Keeping the image in
a project texture wired through a project material means you can restyle the board — swap the
artwork, drop the gloss, tint it — by editing the material, with no regeneration and no
re-placing. It also keeps the image bytes in your repo exactly once.

## Editing a board afterwards

- **Change the art** — open the [Material editor](https://diceytable.com/docs/editor/item-editors/material) and
  point `diffuseMap` at a different texture, or open the
  [Texture editor](https://diceytable.com/docs/editor/item-editors/texture) and edit the image in place. Every
  placed copy updates.
- **Change the surface finish** — gloss, tint and the rest live on the material.
- **Change the collider** — open the generated model in the
  [Model editor](https://diceytable.com/docs/editor/item-editors/model). A board spawns with a fitted box collider,
  which is right for a rectangle and an approximation for a cut-out shape.
- **Change the size or the silhouette** — these are baked into the geometry, so run **+ New
  Board** again with different settings. The old items are left alone; delete them if the new
  board replaces them.

## If it fails

- **"No solid pixels were found at this transparency threshold."** The image has no opaque
  pixels above the threshold you set — either lower the threshold, or the image has no alpha
  channel at all and you want **Rectangle** instead.
- **"N small pieces dropped as noise."** The trace found specks too small to be real parts of
  the shape and discarded them. This is usually right for a JPEG-compressed or dithered
  source. If those specks were real, lower the transparency threshold or choose a finer edge
  detail.
- **The board's rim shows a smear of the opposite edge of the artwork.** The texture's wrap
  mode has been changed from `clamp` back to `repeat` — set both axes back to `clamp` in the
  [Texture editor](https://diceytable.com/docs/editor/item-editors/texture#sampling).
- **The board renders as a plain box.** The generated model has not resolved yet. It is a
  normal project asset, so it needs to be saved and (for other players) published like any
  other — see [Where my files live](https://diceytable.com/docs/editor/workflows/where-my-files-live).

## See also

- [The Asset Explorer](https://diceytable.com/docs/editor/interface/asset-explorer) — where **New ▾ ▸ Board from Image…** lives.
- [Workflow: Importing a Model](https://diceytable.com/docs/editor/workflows/import-a-model) — for a board you
  modelled elsewhere.
- [Assigning and Editing Materials](https://diceytable.com/docs/editor/working/materials).
