# Die Editor

> Design a custom die: shape and edge rounding, materials like resin or granite, a model sealed inside, and per-face art and values.

- Source: https://diceytable.com/docs/editor/item-editors/die
- Last verified: 2026-10-09

The **Die Editor** designs a custom die. You choose one of the built-in shapes, style it, and
decide what every face shows. A 3D preview in the top right updates as you work.

Create one with **New ▾ ▸ Die** in the asset explorer. That writes a design file and opens it:

```
models/dice/die-1.die.json      the design — double-click it to reopen the editor
```

Nothing else is written until you press **Save** (the first save is labelled **Save & bake**).

## Name and file name

The die's **name** and its **slug** sit at the top of the editor. Click the name to edit it. The
name is what die slots list and what the baked model is called inside.

The slug is the file name Save bakes: `<slug>.glb`, `<slug>.collider.glb` and
`<slug>.meta.json`. It uses lower-case letters, digits and single hyphens. Until you type a slug
of your own it follows the name, so renaming **Die 1** to **Blood Moon** bakes `blood-moon.glb`.

Changing the slug bakes **new** files on the next save. The previous ones stay where they are,
because dice already on the table and die slots still use them. Delete them in the explorer
when nothing uses them. Save is blocked if a file with the new name already exists and is not
this die's own last bake.

## What Save bakes

Saving writes the design and three files beside it, named by the slug:

```
models/dice/die-1.die.json         your design
models/dice/die-1.glb              the die, with your textures (and any model sealed inside)
models/dice/die-1.collider.glb     its collider (not written for a d6)
models/dice/die-1.meta.json        makes a placed copy a die: its collider and face values
```

Your die's flat faces are **exactly where the built-in die's are**. It is the same size as the
built-in die of that shape, rests at the same heights, and reads which face is up the same way.
Only its edges and corners change with **Edge rounding**, and its collider is rebuilt from the
same shape, so it stays tight at any rounding. A d6 collides as a box, like the built-in d6. The
d4 keeps the built-in d4's centre-of-mass correction, so it is not a loaded die.

To use the die, drag `die-1.glb` from the explorer onto the table. To make it the look of a
die in the dice picker, drop it on that die under **Game ▸ Dice**, or pick the design by name in
that die's **Model** list. Either way the die also takes the design's shape as its **Faces**.

## Shape

The shape buttons are **d4, d6, d8, d10, d12 and d20**. Switching shape keeps your colours,
font and other style settings. It also keeps every face the new shape still has. Faces the
new shape adds start as numbers, or as pips if every face was pips.

**Edge rounding** goes from sharp to very round. More rounding makes the flat faces smaller, and
numbers and pips stay on the flat part.

## Material

Pick a material type, then a preset, then adjust any setting below it. Picking a preset also
sets an ink colour that reads well on it.

| Type | Presets |
|---|---|
| **Plastic** | Classic, Glossy, Matte, Pearl, Well-loved (scratched) |
| **Resin** | Swirl, Crystal clear, Galaxy, Smoke, Amber |
| **Glass** | Clear, Frosted, Sea glass, Smoked, Crackled, Gold-mended |
| **Metal** | Steel, Gold, Silver, Copper, Brass, Antique bronze, Gunmetal, Hammered, Rusty iron |
| **Stone** | Granite, Black granite, Grey marble, Green marble, Onyx, Kintsugi porcelain, Raku & gold, Speckled |
| **Wood** | Oak, Maple, Walnut, Ebony, Painted grain |

| Setting | What it does |
|---|---|
| **Body colour** | The colour of the die itself. The swatches are quick picks. |
| **Opacity** | How see-through the body is. Below 100% the die is clear like resin or glass, and a model inside it shows through. Numbers, pips and engraved images always stay solid. |
| **Finish** | From glossy to matte. |
| **Metalness** | `0` for plastic, resin, stone or wood; up to 100% for a metal die. |
| **Pattern** | **None**, a scanned texture (**Granite**, **Marble**, **Onyx**, **Oak**), or a generated **Speckle**, **Swirl**, **Veins** or **Grain**. |
| **Pattern colour** | The colour of a generated pattern. |
| **Pattern size** / **Texture scale** | How large the pattern's features are. |
| **Strength** / **Recolour** | A generated pattern's strength. For a scanned texture, how far it is tinted towards the body colour: 0% keeps the scan's own colours, so you can make a red granite or a blue marble. |

Patterns run across faces and over the rounded edges.

### Made of and weight

**Made of** is what the die is physically made of on the table: **Plastic**, **Resin**,
**Glass**, **Metal**, **Stone** or **Wood**. It sets the sound the die makes when it lands, and
how much it grips and bounces. Material presets choose it for you.

**Weight** is the material's density in g/cm³: plastic 1.2, glass 2.5, stone 2.7, zinc-alloy
metal dice 6.8, iron 7.8, oak 0.7. The editor shows what a die that size would weigh in grams. A
heavier die rolls just as far, but knocks other pieces harder.

Dice placed from the die's `.glb` get this sound and weight. A die rolled from the **Game ▸
Dice** picker with this die as its look uses the standard die sound and weight.

### Wear and damage

Wear is drawn over the material and baked into the die. Each kind changes the colour, the surface
relief and how shiny the surface is:

| Wear | What it adds |
|---|---|
| **Scratches** | Fine bright grooves that catch the light. |
| **Bumps / hammered** | Round dents, like hammered metal or tumbled sea glass. |
| **Rust** | Matte, non-metallic orange-brown patches with pitting. |
| **Tarnish / patina** | Darkening with a green patina, less shine. |
| **Cracks** | A crackle network with a fainter echo deeper in. Best on glass or resin. |
| **Gold repair (kintsugi)** | The die looks broken and mended, in the style of Japanese kintsugi pottery. Every seam is filled with solid, polished metal that stays opaque even on glass. Higher values break it into more, smaller pieces. |

With **Gold repair** above zero, **Seam metal** picks what fills the seams: gold, silver, copper,
platinum, or any colour you choose. The seams are always metallic and shiny, whatever the body is
made of.

### Texture credits

The scanned textures are CC0 (public domain) from [ambientCG](https://ambientcg.com) and
[Poly Haven](https://polyhaven.com). When you save a die that uses one, the editor adds its
credit — source, author and licence — to your project's **Credits**, on the die's `.glb`. You do
not need to fill anything in.

## Inside the die

**Model** seals one of your project's `.glb` models inside the die, such as a skull in clear
resin. It is part of the die's model, so it moves with the die. You only see it through a body
whose **Opacity** is below 100%.

| Setting | What it does |
|---|---|
| **Size** | 100% is the largest the model can be at its current position and rotation while staying completely inside the die. |
| **Turn X / Y / Z** | Rotate the model. |
| **Move X / Y / Z** | Move the model off-centre. A model moved too far is pulled back in. |
| **Colour** | Turn on **One colour** to give the whole model one colour. Otherwise it keeps its own materials. |

**The model can never stick out of the die.** Its size is limited so that every part of it stays
inside the die's surface, rounded edges included, whatever shape, rotation and position you
choose. **Centre** puts it back in the middle, unrotated. The model does not change how the die
rolls.

When you import a model, its textures move into project materials under **Materials**. A sealed-in
model keeps using those materials on the table. Editing one changes the model inside the die too,
after you **Save** the die again. The 3D preview shows the model in its own colours and
textures, or in its **One colour**.

The die's own body material belongs to this editor, so it is not a project material and has no
**Cull Mode** to set. A see-through body is drawn from the outside in, like any glass on the table.

## Style

| Setting | What it does |
|---|---|
| **Ink material** | What numbers, text, pips and engraved images are made of. **Flat colour** uses the ink colour. Any die material — gold, marble, oak, rusty iron — brings its own colour, pattern, shine and wear. Ink is always solid, even with a clear material. |
| **Ink colour** | The colour of numbers, text, pips and engraved images. Full-colour images keep their own colours. With an ink material, only materials without a colour of their own (Classic plastic, Crystal clear resin…) use it. |
| **Engrave depth** | How deep the markings look cut into the die. `0` is printed flat. This changes the lighting only, never the collider. |
| **Body effects** | Turn on **Keep off numbers, pips & images** to stop the body's wear — cracks, scratches, dents, rust pitting, kintsugi seams — at the markings, so they stay smooth and whole on a battered die. Off, the wear runs through them. |
| **Font** | Choose from the list or type the name of any font installed on your computer. |
| **Weight / Italic** | Regular or bold, and italic. |
| **Glyph size** | How large numbers, text and images are, relative to the face. |
| **Pip size** | How large pips are. |
| **6 / 9 marker** | Marks numbers that read as another number upside down (6 and 9, 16 and 91…). **Underline**, **Dot** or **None**. |
| **Texture size** | The baked texture's resolution: 512, 1024 or 2048 px. 1024 px is sharp at table distance. 2048 px suits close-ups and detailed images, at four times the download size. |

The font is drawn into the texture when you save. Players do not need the font installed.

An ink material is sampled from the same 3D block as the body, so a marble ink's veins carry on
from one pip to the next. A scanned ink material records its credit on save, like a scanned body.

## Faces

Each tile is one face. Click a tile to edit that face, and the preview turns to show it.

### All faces

The **All faces** box changes every face at once. You can still edit faces one by one afterwards.

- **Numbers**, **Pips**, **Text**, **Blank**: what every face prints. **Numbers** and **Pips**
  also reset what each face counts as to its own number, and clear face names.
- **Preset**: what every face prints **and** counts as:

  | Preset | Shapes | Faces |
  |---|---|---|
  | **Numbers**, **Pips**, **Blank** | all | Plain dice. |
  | **FATE / Fudge** | d6 | Two −, two blank, two +, counting −1, 0, +1. Each − is opposite a +. |
  | **Average die** | d6 | 2, 3, 3, 4, 4, 5. Opposite faces still sum to 7. |
  | **Percentile tens** | d10 | 00, 10 … 90, counting 0–90. Roll it with a d10 for a d100. |
  | **Zero-based** | d10 | 0–9. |

- **Same image on every face** puts one project image on all of them.
- **Printed text**, **Values** and **Names** take a list, face 1 first. Separate entries with
  commas or put one per line, and leave an entry empty to skip a face. With **Faces also count as
  their text** on, the printed text list sets the values too: `Hit, Hit, Miss, Miss, Crit, Blank`
  makes a whole custom die in one step.
- **Reset sizes & turns** clears every face's own size, rotation and font.

### How faces are oriented

Faces follow how real dice are printed:

- **d6**: numbers stand upright to the face's edges. Pips follow the "home corner" rule: the 2, 3
  and 6 meet at one corner, and the diagonals of the 2 and 3, and the slant of the 6, all run into
  that corner.
- **d8, d12, d20**: each numeral's top points at a corner of its face. On a d8 the upper four
  faces point at the top tip and the lower four at the bottom tip. The d12 and d20 follow the same
  idea.
- **d10**: numerals point at the face's long tip.
- **d4**: each number points at the corner it is read from.

The face tiles show each face upright in this orientation. Use **Rotation** to turn one face's
content.

A face can show:

| Shows | What is printed |
|---|---|
| **Number** | The face's number. |
| **Text** | Up to 6 characters — letters, symbols or emoji (★, ☠, ♥, A, ✓). |
| **Pips** | The face's number as dots. |
| **Image** | A project image. Choose one, or press the upload button to add one. |
| **Blank** | Nothing. |

What a face **prints** and what it **counts as** are separate. By default every face counts as
its own number, whatever it prints, so a d6 with a ★ on its 6 face still adds 6 to a roll.

### When rolled

Each face has a **When rolled** box:

| Setting | What it does |
|---|---|
| **Name** | Optional, such as `Skull`. Shown beside the value in the roll summary and chat: `Skull (2)`. |
| **Counts as** | **Number** (added to the roll's total) or **Text** (counted, not added). |
| **Value** | The number (defaults to the face's own number; negatives and decimals work, so a Fudge die is −1, 0, +1) or the text, such as `Hit`. |

A roll's summary and its chat line show each die's result. Numbers add up to the total, and text
results are counted, for example `rolled 3d6: Hit, Skull (2), 3 (total 5; Hit ×1)`. Scripts get
the same data: see [`DiceRollSummary.dice`](https://diceytable.com/docs/scripting-api/types#dicerollsummarydice). A
face that prints an image can still count as a number or a text value.

For every face except a blank one you can also set:

- **Size** — larger or smaller than the design's glyph size.
- **Rotation** — turn the face's content. The button turns it 90° clockwise.
- **Face font** (numbers and text) — a different font for this face only.

### Images

An image face has an **Image style**:

- **Engraved shape (ink colour)** — the image's outline is cut into the die and filled with
  the ink colour, with the engrave depth. The outline comes from the image's transparency.
  For an image with no transparency, the dark parts are used. Use this for icons and line art.
- **Full-colour print** — the image is printed flat on the face in its own colours.

When you pick an image, the editor chooses the style it looks suited for. You can change it.

Uploaded images are stored in `models/dice/images/`. You are asked where an image came from
before it is saved, as for every other import.

### The d4

A d4 is read at its top corner, not on a face. Each face of a d4 shows the three other values,
one at each corner, so the number at the top corner is the same on all three visible faces.
Editing face 3 changes the "3" printed at the corner it is read from. Selecting a d4 face turns
the preview to that corner.

## Preview

Drag the preview to turn the die, and scroll over it to zoom in and out. The spin button
turns the die slowly on its own; the reset button returns to the default view and distance.

The switch at the top of the preview picks what lights and reflects the die:

| Option | What you see |
| --- | --- |
| **This table** | The table and room you have open in the editor, captured as a 360° view from just above the table top. Metal and glass reflect your actual room. Captured again each time you choose it, so a room you changed meanwhile is picked up. Not available until a table has loaded. |
| **Studio** | A small neutral photo studio (Poly Haven's *Studio Small 09*, CC0). |

Clear and see-through bodies show their far inside walls through the near ones. Wear and
damage such as tarnish or cracks belongs to the outside surface, so it is not drawn on those
inside walls.

The preview uses a lower texture resolution while you edit, and half of it for patterned or
worn bodies; **Save** bakes at the full **Texture size**. On the table, the die is lit by the
room it is in.

Each card in the editor folds away with its header, and the bar above the cards jumps to one.

## Notes

- A design's file, `.die.json`, is only read by this editor. The table uses the baked `.glb`,
  so after changing a design, **Save** again to update the die.
- Placed copies of the die update when you save.
