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

Creating pack-convention assets

Author new low-poly assets from parametric primitives, vertex-paint them from a shared palette, check common asset conventions, and save them to My creations.

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

Beyond editing imported models, the editor can author new low-poly assets with one shared vertex-color material and no textures. Build from parametric primitives, paint them from a named palette, check them against common asset conventions, and export the result to the local My creations section of your library. This does not publish the asset to the threejsassets store.

Add primitives#

The Add Primitive grid in the left panel builds parametric shapes that behave as normal mesh nodes — the transform gizmo, Material tab, and modifier stack all work on them. Eight types, each with a params popover:

TypeKey params (defaults)
Boxwidth / height / depth (1 / 1 / 1)
Cylindertop radius 0.5, base radius 0.5, height 1, sides 8
Coneradius 0.5, height 1, sides 8
Sphereradius 0.5, width segs 8, height segs 6
Planewidth 1, depth 1, segs 1×1 (built flat on the ground)
Lathesides 8 (revolves a straight-segment profile around Y)
Torusradius 0.5, tube 0.2, tube segs 6, ring segs 10
Icosphereradius 0.5, subdivisions 1

Segment counts default low — octagonal cylinders and cones, an 8×6 sphere — to match the library's faceted look. Pick segments at creation; a smooth or flat finish is then a job for the Shading modifier, and colour a job for the palette or Material tab. Params are baked into the serialized spec, so a reload rebuilds identical geometry with no embedded GLB. Each "Add" is one undo step and selects the new primitive.

Palette & vertex-paint#

Authoring uses one shared MeshStandardMaterial with vertexColors and flat shading — the environment profile (one material, palette-key colours, no textures). The Palette panel holds named color keys; the starter palette is Emerald, Brushed Steel, Copper, Matte Black, Gold, Amethyst, Glass, and Clay Red. You can edit a key's hex, + Add a new key, and the palette saves with the document.

  • Fill selected paints the whole selected primitive with the active key.
  • Paint mode turns on face painting: click or drag primitive faces to apply the active key's color. The first paint makes the mesh paintable — its geometry becomes non-indexed (so each triangle owns its 3 vertices) and gets a COLOR_0 attribute.

Paint stores palette keys, not raw hex, so editing a key's color re-tints every mesh painted with it. One stroke (pointer-down through drag to release) is one undo step, even across multiple meshes. Paint targets created primitives only — imported GLBs keep their own materials. Because colors are written into COLOR_0 live, an export carries them with no extra pass.

The convention linter#

The always-visible Conventions panel checks the asset against the library's shape and naming conventions. Set the asset's category (Terrain, Water, Roads, Nature, Rocks, Buildings A/B, Props, Theme-special, Signage, Vehicles, Sky, or Interiors) and its catalog id, and the panel runs five checks live:

CheckTierRule
Seat on grounderrorThe lowest point must sit in the world-Y window [−0.08, 0.05] m — not sunk through the grid, not floating.
Tri budgeterror over max / warn under minPer coarse bucket: Props 80–500, Nature 150–600, Vehicles 400–1300, Buildings 700–1700 triangles.
+Z is forwardinfoA reminder — orientation can't be checked from geometry, so it never fails.
Bottom-centre pivotwarnThe origin should sit under the footprint centre (within an absolute/relative horizontal tolerance).
Id formatwarnLowercase snake_case with a mandatory two-digit suffix, e.g. crate_01, oak_tree_03.

Each category maps to one of the four triangle-budget groups. Export creation requires errors to be cleared; warnings can remain. The general Optimize & Export dialog instead lists outstanding issues and lets you review them or export anyway.

Export creation#

Export creation in the Conventions panel is separate from the general optimize-and-export dialog. It converts the authored scene to one low-poly, vertex-coloured mesh and drops UVs, skinning, and textures. It downloads a single portable <id>.creation.zip holding both <id>.glb and <id>.editorproj.json, then records the creation in this browser under the asset library's My creations, where you can insert it into an editor later. The id must use lowercase snake_case with a two-digit suffix before export.

A Batch export button exports plain and optimized versions as one ZIP. Batch export requires a signed-in account with a qualifying pack or lifetime license; entering a license key alone does not load account perks.

Still stuck?

Ask us directly — we answer support mail ourselves.

Contact support
Share
Creating pack-convention assets — threejsassets.com