SolidlyDocs
Editing

Editing materials and textures

Material editing is available for glTF, GLB, FBX, and OBJ. USD materials are described but not edited, and STL and PLY have no material objects.

Editing a material

Expand a material's card in the Materials tab and change any of its controls. Every change takes effect in the viewport immediately and becomes part of the model's unsaved changes. The Materials tab lists the controls each format offers.

Each material offers a revert that returns every one of its values, including raw descriptor rows and added extensions, to what the file authored.

Adding, assigning, and removing materials

Add Material at the bottom of the Materials list creates a new material. Assign a material to a mesh by dragging its card from the Materials list onto a surface in the viewport. With a material variant selected, the assignment is recorded in that variant.

A material that no mesh uses can be deleted. A material bound by a mesh, in the base scene or in a variant, can be renamed but not deleted, which prevents leaving a primitive pointing at nothing.

Texture bindings

Each map section on a material card carries a texture tile. Clicking it opens the image in a preview panel, and its context menu offers:

  • Reveal, which scrolls the Textures pool to the image and highlights it.
  • Generate Opacity Texture, on a base colour map whose alpha channel carries usable coverage, which extracts that alpha into a separate opacity map.

A binding itself is edited on the card's descriptor rows, where each texture slot appears as a row naming the texture and its UV set, with a control to remove the binding. Removing one clears the slot and leaves the material's factor in place. New bindings usually arrive through material suggestions, which is the mechanism for attaching loose image files to a material.

For glTF, the sampler values exposed in the Textures pool, covering wrap modes, filtering, and the KHR_texture_transform offset, rotation, and scale, are editable.

Channel packing conventions

Two conventions matter when a texture is rebound and Solidly cannot infer the answer from the file:

  • Normal map Y convention, which decides whether the green channel points up or down.
  • Metallic-roughness packing, which decides which channels carry occlusion, roughness, and metalness.

Solidly classifies bound images to choose a convention automatically, and the choice is exposed so it can be corrected. These settings cannot be saved back to the file and are for debug purposes only.

glTF material extensions

A glTF material card lists the extensions the material declares and offers a menu to add one. Adding an extension writes it with starting values that make its effect visible immediately rather than with the specification's defaults; the fields can then be tuned or set back to the specification default.

KHR_materials_pbrSpecularGlossiness is editable when a file already declares it, but is not offered in the add menu because it is an alternative to the metallic-roughness workflow rather than an addition to it.

Extensions Solidly does not implement appear in the card's raw extension rows.

Material variants

For glTF and GLB, the Variants section manages KHR_materials_variants:

  • Add a variant with the + button in the section header.
  • Select a variant to see the materials it binds. The Info tab carries the same picker.
  • With a variant selected, assigning a material to a mesh records the assignment in that variant rather than in the base scene.